Cache dependency versions

This commit is contained in:
aboyko
2023-10-04 12:37:42 -04:00
parent 55d259faf8
commit 63cf7c51f8
23 changed files with 212 additions and 165 deletions

View File

@@ -35,9 +35,9 @@ import org.springframework.ide.vscode.boot.java.beans.BeansSymbolAddOnInformatio
import org.springframework.ide.vscode.boot.java.beans.FeignClientBeanSymbolAddOnInformation;
import org.springframework.ide.vscode.boot.java.handlers.EnhancedSymbolInformation;
import org.springframework.ide.vscode.boot.java.handlers.SymbolAddOnInformation;
import org.springframework.ide.vscode.commons.Version;
import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.languageserver.quickfix.QuickfixRegistry;
import org.springframework.ide.vscode.commons.languageserver.reconcile.IProblemCollector;
import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemType;

View File

@@ -20,9 +20,9 @@ import org.eclipse.jdt.core.dom.MethodInvocation;
import org.eclipse.jdt.core.dom.SimpleType;
import org.openrewrite.java.spring.security5.AuthorizeHttpRequests;
import org.springframework.ide.vscode.boot.java.Boot2JavaProblemType;
import org.springframework.ide.vscode.commons.Version;
import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.languageserver.quickfix.QuickfixRegistry;
import org.springframework.ide.vscode.commons.languageserver.reconcile.IProblemCollector;
import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemType;

View File

@@ -31,9 +31,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.ide.vscode.boot.java.Annotations;
import org.springframework.ide.vscode.boot.java.Boot2JavaProblemType;
import org.springframework.ide.vscode.boot.java.rewrite.RewriteRefactorings;
import org.springframework.ide.vscode.commons.Version;
import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.languageserver.quickfix.Quickfix.QuickfixData;
import org.springframework.ide.vscode.commons.languageserver.quickfix.QuickfixRegistry;
import org.springframework.ide.vscode.commons.languageserver.quickfix.QuickfixType;

View File

@@ -15,9 +15,9 @@ import java.util.Collection;
import org.openrewrite.java.spring.boot2.HttpSecurityLambdaDsl;
import org.springframework.ide.vscode.boot.java.Boot2JavaProblemType;
import org.springframework.ide.vscode.commons.Version;
import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.languageserver.quickfix.QuickfixRegistry;
import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemType;

View File

@@ -15,9 +15,9 @@ import java.util.Collection;
import org.openrewrite.java.spring.boot2.ServerHttpSecurityLambdaDsl;
import org.springframework.ide.vscode.boot.java.Boot2JavaProblemType;
import org.springframework.ide.vscode.commons.Version;
import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.languageserver.quickfix.QuickfixRegistry;
import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemType;

View File

@@ -23,9 +23,9 @@ import org.eclipse.jdt.core.dom.TypeDeclaration;
import org.openrewrite.java.spring.security5.WebSecurityConfigurerAdapter;
import org.springframework.ide.vscode.boot.java.Annotations;
import org.springframework.ide.vscode.boot.java.Boot2JavaProblemType;
import org.springframework.ide.vscode.commons.Version;
import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.languageserver.quickfix.QuickfixRegistry;
import org.springframework.ide.vscode.commons.languageserver.reconcile.IProblemCollector;
import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemType;

View File

@@ -23,9 +23,9 @@ import org.openrewrite.Recipe;
import org.openrewrite.config.DeclarativeRecipe;
import org.openrewrite.maven.UpgradeDependencyVersion;
import org.openrewrite.maven.UpgradeParentVersion;
import org.springframework.ide.vscode.commons.Version;
import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer;
import org.springframework.ide.vscode.commons.util.Assert;
@@ -53,7 +53,7 @@ public class SpringBootUpgrade {
server.onCommand(CMD_UPGRADE_SPRING_BOOT, params -> {
String uri = ((JsonElement) params.getArguments().get(0)).getAsString();
Assert.isLegal(uri != null, "Project URI parameter must not be 'null'");
Version targetVersion = SpringProjectUtil.getVersion(((JsonElement) params.getArguments().get(1)).getAsString());
Version targetVersion = Version.parse(((JsonElement) params.getArguments().get(1)).getAsString());
Assert.isLegal(targetVersion != null, "Target Spring Boot version must not be 'null'");
IJavaProject project = projectFinder.find(new TextDocumentIdentifier(uri)).orElse(null);

View File

@@ -17,9 +17,9 @@ import org.eclipse.lsp4j.Diagnostic;
import org.springframework.ide.vscode.boot.validation.generations.json.Generation;
import org.springframework.ide.vscode.boot.validation.generations.json.ResolvedSpringProject;
import org.springframework.ide.vscode.boot.validation.generations.preferences.VersionValidationProblemType;
import org.springframework.ide.vscode.commons.Version;
import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.languageserver.reconcile.DiagnosticSeverityProvider;
import org.springframework.ide.vscode.commons.util.Assert;

View File

@@ -20,9 +20,9 @@ import java.util.List;
import org.eclipse.lsp4j.Diagnostic;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ide.vscode.commons.Version;
import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
public class ProjectVersionDiagnosticProvider {

View File

@@ -23,9 +23,9 @@ import org.eclipse.lsp4j.Range;
import org.eclipse.lsp4j.ShowDocumentParams;
import org.springframework.ide.vscode.boot.java.rewrite.SpringBootUpgrade;
import org.springframework.ide.vscode.boot.validation.generations.preferences.VersionValidationProblemType;
import org.springframework.ide.vscode.commons.Version;
import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.languageserver.reconcile.DiagnosticSeverityProvider;
import com.google.common.collect.ImmutableList;
@@ -67,7 +67,7 @@ public class UpdateBootVersion extends AbstractDiagnosticValidator {
List<CodeAction> actions = new ArrayList<>(2);
bootUpgradeOpt.flatMap(bu -> bu.getNearestAvailableMinorVersion(latest)).map(targetVersion -> {
Version upgradeVersion = SpringProjectUtil.getVersion(targetVersion);
Version upgradeVersion = Version.parse(targetVersion);
if (javaProjectVersion.compareTo(upgradeVersion) >= 0) {
return null;
}
@@ -100,7 +100,7 @@ public class UpdateBootVersion extends AbstractDiagnosticValidator {
List<CodeAction> actions = new ArrayList<>(2);
bootUpgradeOpt.flatMap(bu -> bu.getNearestAvailableMinorVersion(latest)).map(targetVersion -> {
Version upgradeVersion = SpringProjectUtil.getVersion(targetVersion);
Version upgradeVersion = Version.parse(targetVersion);
if (javaProjectVersion.compareTo(upgradeVersion) >= 0) {
return null;
}

View File

@@ -15,7 +15,7 @@ import java.util.List;
import org.springframework.ide.vscode.boot.validation.generations.json.Generation;
import org.springframework.ide.vscode.boot.validation.generations.json.ResolvedSpringProject;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.Version;
public class VersionValidationUtils {

View File

@@ -13,8 +13,8 @@ package org.springframework.ide.vscode.boot.validation.generations;
import java.util.Collection;
import org.eclipse.lsp4j.Diagnostic;
import org.springframework.ide.vscode.commons.Version;
import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.java.Version;
public interface VersionValidator {

View File

@@ -10,8 +10,7 @@
*******************************************************************************/
package org.springframework.ide.vscode.boot.validation.generations.json;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.Version;
public class Release extends JsonHalLinks {
@@ -29,7 +28,7 @@ public class Release extends JsonHalLinks {
public Version getVersion() {
return SpringProjectUtil.getVersion(version);
return Version.parse(version);
}
public Status getStatus() {

View File

@@ -14,7 +14,7 @@ import java.util.List;
import java.util.stream.Collectors;
import org.springframework.ide.vscode.boot.validation.generations.SpringProjectsClient;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.Version;
import com.google.common.collect.ImmutableList;

View File

@@ -18,7 +18,7 @@ import java.util.List;
import java.util.Map;
import org.junit.jupiter.api.Test;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.Version;
public class SpringBootUpgradeTest {

View File

@@ -12,7 +12,6 @@ package org.springframework.ide.vscode.boot.validation.test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.List;
@@ -32,8 +31,6 @@ import org.springframework.ide.vscode.boot.validation.generations.json.Generatio
import org.springframework.ide.vscode.boot.validation.generations.json.Link;
import org.springframework.ide.vscode.boot.validation.generations.json.ResolvedSpringProject;
import org.springframework.ide.vscode.boot.validation.generations.json.SpringProject;
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
import org.springframework.ide.vscode.project.harness.ProjectsHarness;
import org.springframework.test.context.junit.jupiter.SpringExtension;
@@ -104,71 +101,5 @@ public class ProjectGenerationsValidationTest {
assertEquals("2020-01-01", generation.getOssSupportEndDate());
assertEquals("2021-01-01", generation.getCommercialSupportEndDate());
}
@Test
void testDependencyVersionCalculation() throws Exception {
Version version = SpringProjectUtil.getDependencyVersion("spring-boot-1.2.3.jar", "spring-boot");
assertEquals(1, version.getMajor(), 1);
assertEquals(2, version.getMinor(), 2);
assertEquals(3, version.getPatch());
assertNull(version.getQualifier());
version = SpringProjectUtil.getDependencyVersion("spring-boot-1.2.3-RELEASE.jar", "spring-boot");
assertEquals(version.getMajor(), 1);
assertEquals(version.getMinor(), 2);
assertEquals(version.getPatch(), 3);
assertEquals(version.getQualifier(), "RELEASE");
version = SpringProjectUtil.getDependencyVersion("spring-boot-1.2.3.RELEASE.jar", "spring-boot");
assertEquals(1, version.getMajor(), 1);
assertEquals(2, version.getMinor(), 2);
assertEquals(3, version.getPatch());
assertEquals("RELEASE", version.getQualifier());
version = SpringProjectUtil.getDependencyVersion("spring-boot-1.2.3.BUILD-SNAPSHOT.jar", "spring-boot");
assertEquals(1, version.getMajor(), 1);
assertEquals(2, version.getMinor(), 2);
assertEquals(3, version.getPatch());
assertEquals("BUILD-SNAPSHOT", version.getQualifier());
version = SpringProjectUtil.getDependencyVersion("spring-boot-actuator-1.2.3.BUILD-SNAPSHOT.jar", "spring-boot");
assertNull(version);
}
@Test
void testVersionCalculation1() throws Exception {
Version version = SpringProjectUtil.getVersion("2.7.5");
assertEquals(2, version.getMajor());
assertEquals(7, version.getMinor());
assertEquals(5, version.getPatch());
assertNull(version.getQualifier());
version = SpringProjectUtil.getVersion("3.0.0-SNAPSHOT");
assertEquals(3, version.getMajor());
assertEquals(0, version.getMinor());
assertEquals(0, version.getPatch());
assertEquals(version.getQualifier(), "SNAPSHOT");
version = SpringProjectUtil.getVersion("2.6.14-RC2");
assertEquals(2, version.getMajor());
assertEquals(6, version.getMinor());
assertEquals(14, version.getPatch());
assertEquals(version.getQualifier(), "RC2");
}
@Test
void testVersionCalculation2() throws Exception {
Version version = SpringProjectUtil.getVersion("2.7");
assertEquals(2, version.getMajor());
assertEquals(7, version.getMinor());
assertEquals(0, version.getPatch());
assertNull(version.getQualifier());
version = SpringProjectUtil.getVersion("2");
assertEquals(2, version.getMajor());
assertEquals(0, version.getMinor());
assertEquals(0, version.getPatch());
assertNull(version.getQualifier());
}
}

View File

@@ -19,7 +19,7 @@ import org.springframework.ide.vscode.boot.validation.generations.json.Generatio
import org.springframework.ide.vscode.boot.validation.generations.json.ResolvedSpringProject;
import org.springframework.ide.vscode.boot.validation.generations.json.SpringProject;
import org.springframework.ide.vscode.boot.validation.generations.json.SpringProjects;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.Version;
import com.fasterxml.jackson.databind.ObjectMapper;

View File

@@ -18,7 +18,7 @@ import java.util.List;
import org.junit.jupiter.api.Test;
import org.springframework.ide.vscode.boot.validation.generations.VersionValidationUtils;
import org.springframework.ide.vscode.commons.java.Version;
import org.springframework.ide.vscode.commons.Version;
public class VersionValidationUtilsTest {