diff --git a/vscode-extensions/commons/commons-maven/src/main/java/org/springframework/ide/vscode/commons/maven/java/MavenJavaProject.java b/vscode-extensions/commons/commons-maven/src/main/java/org/springframework/ide/vscode/commons/maven/java/MavenJavaProject.java index b13accbf0..6f496f4f8 100644 --- a/vscode-extensions/commons/commons-maven/src/main/java/org/springframework/ide/vscode/commons/maven/java/MavenJavaProject.java +++ b/vscode-extensions/commons/commons-maven/src/main/java/org/springframework/ide/vscode/commons/maven/java/MavenJavaProject.java @@ -34,7 +34,7 @@ public class MavenJavaProject implements IJavaProject { private MavenProjectClasspath classpath; private MavenCore maven; - public MavenJavaProject(File pom) throws Exception { + public MavenJavaProject(File pom) { this.maven = MavenCore.getDefault(); this.classpath = new MavenProjectClasspath(pom, maven); } diff --git a/vscode-extensions/commons/commons-maven/src/test/java/org/springframework/ide/vscode/commons/maven/DependencyTreeTest.java b/vscode-extensions/commons/commons-maven/src/test/java/org/springframework/ide/vscode/commons/maven/DependencyTreeTest.java index 751a1958d..6fc05c7c9 100644 --- a/vscode-extensions/commons/commons-maven/src/test/java/org/springframework/ide/vscode/commons/maven/DependencyTreeTest.java +++ b/vscode-extensions/commons/commons-maven/src/test/java/org/springframework/ide/vscode/commons/maven/DependencyTreeTest.java @@ -79,6 +79,40 @@ public class DependencyTreeTest { MavenProject project = maven.readProject(testProjectPath.resolve(MavenCore.POM_XML).toFile(), false); Set calculatedClassPath = maven.resolveDependencies(project, null); + assertEquals(49, calculatedClassPath.size()); + + String parentFolderPathStr = localRepoFolder.toString(); + for (Artifact artifact : calculatedClassPath) { + assertTrue(artifact.isResolved()); + File file = artifact.getFile(); + assertNotNull(file); + assertTrue(file.toString().startsWith(parentFolderPathStr)); + assertTrue(file.exists()); + } + + deleteFolderAndContents(localRepoFolder.toPath()); + assertFalse(localRepoFolder.exists()); + } + + @Test + public void dowloadDependenciesWithProjectBuildingTest() throws Exception { + String userSettingsFile = Paths.get(getClass().getResource("/maven-config/settings.xml").toURI()).toFile().toString(); + DefaultMavenConfiguration mavenConfig = new DefaultMavenConfiguration(); + mavenConfig.setUserSettingsFile(userSettingsFile); + + MavenCore maven = new MavenCore(mavenConfig); + File localRepoFolder = maven.localRepositoryFolder(); + if (localRepoFolder.exists()) { + deleteFolderAndContents(localRepoFolder.toPath()); + } + + assertFalse(localRepoFolder.exists()); + + Path testProjectPath = Paths.get(getClass().getResource("/gs-rest-service-cors-boot-1.4.1-with-classpath-file").toURI()); + MavenProject project = maven.readProject(testProjectPath.resolve(MavenCore.POM_XML).toFile(), true); + + Set calculatedClassPath = project.getArtifacts(); + assertEquals(49, calculatedClassPath.size()); String parentFolderPathStr = localRepoFolder.toString(); for (Artifact artifact : calculatedClassPath) {