This is an automated email from the ASF dual-hosted git repository. geertjan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-netbeans.git
The following commit(s) were added to refs/heads/master by this push: new 9c49dc1 Fixing 'downgrading to 1.8' log messages by producing module bootpath in Maven even when module-info is not present; and propagating the module bootpath as needed in Maven persistence. (#486) 9c49dc1 is described below commit 9c49dc1f62493c66dad5971911de3386e0705e3f Author: Jan Lahoda <lah...@gmail.com> AuthorDate: Tue Apr 10 13:33:19 2018 +0200 Fixing 'downgrading to 1.8' log messages by producing module bootpath in Maven even when module-info is not present; and propagating the module bootpath as needed in Maven persistence. (#486) --- maven.persistence/nbproject/project.xml | 2 +- .../persistence/EntityClassScopeProviderImpl.java | 13 +++++++---- .../maven/persistence/PersistenceScopeImpl.java | 13 +++++++---- .../maven/classpath/ClassPathProviderImpl.java | 2 +- .../maven/classpath/ClassPathProviderImplTest.java | 26 ++++++++++++++++++++++ 5 files changed, 46 insertions(+), 10 deletions(-) diff --git a/maven.persistence/nbproject/project.xml b/maven.persistence/nbproject/project.xml index 5b75867..b9d667f 100644 --- a/maven.persistence/nbproject/project.xml +++ b/maven.persistence/nbproject/project.xml @@ -58,7 +58,7 @@ <compile-dependency/> <run-dependency> <release-version>1</release-version> - <specification-version>1.5</specification-version> + <specification-version>1.36</specification-version> </run-dependency> </dependency> <dependency> diff --git a/maven.persistence/src/org/netbeans/modules/maven/persistence/EntityClassScopeProviderImpl.java b/maven.persistence/src/org/netbeans/modules/maven/persistence/EntityClassScopeProviderImpl.java index c747c25..edeab2f 100644 --- a/maven.persistence/src/org/netbeans/modules/maven/persistence/EntityClassScopeProviderImpl.java +++ b/maven.persistence/src/org/netbeans/modules/maven/persistence/EntityClassScopeProviderImpl.java @@ -20,6 +20,7 @@ package org.netbeans.modules.maven.persistence; import org.netbeans.api.java.classpath.ClassPath; +import org.netbeans.api.java.classpath.JavaClassPathConstants; import org.netbeans.api.project.Project; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.persistence.api.EntityClassScope; @@ -50,10 +51,14 @@ public class EntityClassScopeProviderImpl implements EntityClassScopeProvider { private synchronized EntityMappingsMetadataModelHelper getHelper() { if (helper == null) { ProjectSourcesClassPathProvider cp = project.getLookup().lookup(ProjectSourcesClassPathProvider.class); - helper = EntityMappingsMetadataModelHelper.create( - cp.getProjectSourcesClassPath(ClassPath.BOOT), - cp.getProjectSourcesClassPath(ClassPath.COMPILE), - cp.getProjectSourcesClassPath(ClassPath.SOURCE)); + helper = new EntityMappingsMetadataModelHelper.Builder(cp.getProjectSourcesClassPath(ClassPath.BOOT)) + .setModuleBootPath(cp.getProjectSourcesClassPath(JavaClassPathConstants.MODULE_BOOT_PATH)) + .setClassPath(cp.getProjectSourcesClassPath(ClassPath.COMPILE)) + .setModuleCompilePath(cp.getProjectSourcesClassPath(JavaClassPathConstants.MODULE_COMPILE_PATH)) + .setModuleClassPath(cp.getProjectSourcesClassPath(JavaClassPathConstants.MODULE_CLASS_PATH)) + .setSourcePath(cp.getProjectSourcesClassPath(ClassPath.SOURCE)) + //The CP provider does not support: JavaClassPathConstants.MODULE_SOURCE_PATH + .build(); } return helper; } diff --git a/maven.persistence/src/org/netbeans/modules/maven/persistence/PersistenceScopeImpl.java b/maven.persistence/src/org/netbeans/modules/maven/persistence/PersistenceScopeImpl.java index 8b0d830..e44a2ad 100644 --- a/maven.persistence/src/org/netbeans/modules/maven/persistence/PersistenceScopeImpl.java +++ b/maven.persistence/src/org/netbeans/modules/maven/persistence/PersistenceScopeImpl.java @@ -23,6 +23,7 @@ package org.netbeans.modules.maven.persistence; import org.netbeans.modules.maven.api.classpath.ProjectSourcesClassPathProvider; import org.netbeans.api.java.classpath.ClassPath; +import org.netbeans.api.java.classpath.JavaClassPathConstants; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.persistence.api.metadata.orm.EntityMappingsMetadata; import org.netbeans.modules.j2ee.persistence.spi.PersistenceLocationProvider; @@ -111,10 +112,14 @@ public class PersistenceScopeImpl implements PersistenceScopeImplementation } private EntityMappingsMetadataModelHelper createEntityMappingsHelper() { - return EntityMappingsMetadataModelHelper.create( - cpProvider.getProjectSourcesClassPath(ClassPath.BOOT), - cpProvider.getProjectSourcesClassPath(ClassPath.COMPILE), - cpProvider.getProjectSourcesClassPath(ClassPath.SOURCE)); + return new EntityMappingsMetadataModelHelper.Builder(cpProvider.getProjectSourcesClassPath(ClassPath.BOOT)) + .setModuleBootPath(cpProvider.getProjectSourcesClassPath(JavaClassPathConstants.MODULE_BOOT_PATH)) + .setClassPath(cpProvider.getProjectSourcesClassPath(ClassPath.COMPILE)) + .setModuleCompilePath(cpProvider.getProjectSourcesClassPath(JavaClassPathConstants.MODULE_COMPILE_PATH)) + .setModuleClassPath(cpProvider.getProjectSourcesClassPath(JavaClassPathConstants.MODULE_CLASS_PATH)) + .setSourcePath(cpProvider.getProjectSourcesClassPath(ClassPath.SOURCE)) + //The CP provider does not support: JavaClassPathConstants.MODULE_SOURCE_PATH + .build(); } diff --git a/maven/src/org/netbeans/modules/maven/classpath/ClassPathProviderImpl.java b/maven/src/org/netbeans/modules/maven/classpath/ClassPathProviderImpl.java index cbc2570..6ebd0f2 100644 --- a/maven/src/org/netbeans/modules/maven/classpath/ClassPathProviderImpl.java +++ b/maven/src/org/netbeans/modules/maven/classpath/ClassPathProviderImpl.java @@ -423,7 +423,7 @@ public final class ClassPathProviderImpl implements ClassPathProvider, ActiveJ2S } private ClassPath getModuleBootPath() { - return computeIfAbsent(MODULE_BOOT_PATH, () -> createModuleInfoSelector(() -> createPlatformModulesPath(), () -> ClassPath.EMPTY, "ModuleBootPath")); // XXX empty? // NOI18N + return computeIfAbsent(MODULE_BOOT_PATH, () -> createModuleInfoSelector(() -> createPlatformModulesPath(), () -> createPlatformModulesPath(), "ModuleBootPath")); // NOI18N } private ClassPath getModuleCompilePath(int type) { diff --git a/maven/test/unit/src/org/netbeans/modules/maven/classpath/ClassPathProviderImplTest.java b/maven/test/unit/src/org/netbeans/modules/maven/classpath/ClassPathProviderImplTest.java index 208c496..1983dea 100644 --- a/maven/test/unit/src/org/netbeans/modules/maven/classpath/ClassPathProviderImplTest.java +++ b/maven/test/unit/src/org/netbeans/modules/maven/classpath/ClassPathProviderImplTest.java @@ -207,6 +207,32 @@ public class ClassPathProviderImplTest extends NbTestCase { assertRoots(entries, "target/classes"); } + public void testModuleBootPathNoModuleInfo() throws Exception { + if (systemModules == null) { + System.out.println("No jdk 9 home configured."); //NOI18N + return; + } + TestFileUtils.writeFile(d, + "pom.xml", + "<project xmlns='http://maven.apache.org/POM/4.0.0'>" + + "<modelVersion>4.0.0</modelVersion>" + + "<groupId>grp</groupId>" + + "<artifactId>art</artifactId>" + + "<packaging>jar</packaging>" + + "<version>1.0-SNAPSHOT</version>" + + "<name>Test</name>" + + " <properties>" + + " <maven.compiler.source>11</maven.compiler.source>" + + " <maven.compiler.target>11</maven.compiler.target>" + + " </properties>" + + "</project>"); + FileObject src = FileUtil.createFolder(d, "src/main/java"); + ClassPath cp = ClassPath.getClassPath(src, JavaClassPathConstants.MODULE_BOOT_PATH); + assertNotNull(cp); + List<ClassPath.Entry> entries = cp.entries(); + assertFalse(entries.isEmpty()); + } + private void assertRoots(List<ClassPath.Entry> entries, String rootPath) throws URISyntaxException { for (ClassPath.Entry entry : entries) { URL url = entry.getURL(); -- To stop receiving notification emails like this one, please contact geert...@apache.org. --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists