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

Reply via email to