You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by lk...@apache.org on 2019/11/18 13:59:28 UTC
[netbeans] branch master updated: [NETBEANS-2983] Gradre returns
CompileCP instead of RuntimeCP on non-modular projects
This is an automated email from the ASF dual-hosted git repository.
lkishalmi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new cf40803 [NETBEANS-2983] Gradre returns CompileCP instead of RuntimeCP on non-modular projects
cf40803 is described below
commit cf40803e37d87d61231311b97b9a4035ab41c625
Author: Laszlo Kishalmi <la...@gmail.com>
AuthorDate: Sun Nov 17 08:35:05 2019 -0800
[NETBEANS-2983] Gradre returns CompileCP instead of RuntimeCP on non-modular projects
---
.../java/classpath/ClassPathProviderImpl.java | 2 +-
...plTest.java => AbstractGradleJavaTestCase.java} | 50 +++++++---------
.../java/classpath/ClassPathProviderImplTest.java | 67 ++++++++++++++++++++++
.../java/classpath/GradleSourcesImplTest.java | 39 ++-----------
4 files changed, 93 insertions(+), 65 deletions(-)
diff --git a/groovy/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java b/groovy/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java
index f527cfd..ad2fdb2 100644
--- a/groovy/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java
+++ b/groovy/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java
@@ -231,7 +231,7 @@ public final class ClassPathProviderImpl extends ProjectOpenedHook implements Cl
getJava8RuntimeClassPath(),
null)
),
- getJava8CompileClassPath()
+ getJava8RuntimeClassPath()
);
}
return runTime;
diff --git a/groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/classpath/GradleSourcesImplTest.java b/groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/AbstractGradleJavaTestCase.java
similarity index 61%
copy from groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/classpath/GradleSourcesImplTest.java
copy to groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/AbstractGradleJavaTestCase.java
index d6ccbab..82018e3 100644
--- a/groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/classpath/GradleSourcesImplTest.java
+++ b/groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/AbstractGradleJavaTestCase.java
@@ -16,16 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.netbeans.modules.gradle.java.classpath;
+package org.netbeans.modules.gradle.java;
import java.io.File;
+import java.io.IOException;
import static junit.framework.TestCase.assertNotNull;
-import org.netbeans.api.java.project.JavaProjectConstants;
import org.netbeans.api.project.Project;
import org.netbeans.api.project.ProjectManager;
-import org.netbeans.api.project.ProjectUtils;
-import org.netbeans.api.project.SourceGroup;
-import org.netbeans.api.project.Sources;
import org.netbeans.junit.NbTestCase;
import org.netbeans.modules.apisupport.project.InstalledFileLocatorImpl;
import org.netbeans.modules.project.uiapi.ProjectOpenedTrampoline;
@@ -38,45 +35,41 @@ import org.openide.filesystems.test.TestFileUtils;
*
* @author lkishalmi
*/
-public class GradleSourcesImplTest extends NbTestCase {
+public class AbstractGradleJavaTestCase extends NbTestCase {
- public GradleSourcesImplTest(String name) {
+ public AbstractGradleJavaTestCase(String name) {
super(name);
}
- private FileObject d;
/** Represents destination directory with NetBeans (always available). */
protected File destDirF;
-
+
@Override
protected void setUp() throws Exception {
super.setUp();
clearWorkDir();
- d = FileUtil.toFileObject(getWorkDir());
destDirF = getTestNBDestDir();
+ InstalledFileLocatorImpl.registerDestDir(destDirF);
}
- public void testGeneratedSources() throws Exception { // #187595
- InstalledFileLocatorImpl.registerDestDir(destDirF);
+ protected FileObject createGradleProject(String buildScript) throws IOException {
+ return getGradleProject(buildScript, null);
+ }
- TestFileUtils.writeFile(d,
- "build.gradle",
- "apply plugin: 'java'\n" +
- "sourceSets { main { java { srcDirs = [ 'src', 'build/gen-src' ] }}}");
- FileObject src = FileUtil.createFolder(d, "src/");
- FileObject gsrc = FileUtil.createFolder(d, "build/gen-src");
- FileObject source = src.createData("Whatever.java");
- FileObject generated = gsrc.createData("WhateverGen.java");
- Project prj = ProjectManager.getDefault().findProject(d);
+ protected Project openProject(FileObject projectDir) throws IOException {
+ Project prj = ProjectManager.getDefault().findProject(projectDir);
assertNotNull(prj);
ProjectOpenedTrampoline.DEFAULT.projectOpened(prj.getLookup().lookup(ProjectOpenedHook.class));
- Sources srcs = ProjectUtils.getSources(prj);
- SourceGroup[] groups = srcs.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA);
- assertEquals(2, groups.length);
- assertTrue(groups[0].contains(source));
- assertFalse(groups[0].contains(generated));
- assertTrue(groups[1].contains(generated));
- assertFalse(groups[1].contains(source));
+ return prj;
+ }
+
+ protected FileObject getGradleProject(String buildScript, String settingsScript) throws IOException {
+ FileObject ret = FileUtil.toFileObject(getWorkDir());
+ TestFileUtils.writeFile(ret, "build.gradle", buildScript);
+ if (settingsScript != null) {
+ TestFileUtils.writeFile(ret, "settings.gradle", settingsScript);
+ }
+ return ret;
}
private static File getTestNBDestDir() {
@@ -85,5 +78,4 @@ public class GradleSourcesImplTest extends NbTestCase {
assertNotNull("test.netbeans.dest.dir property has to be set when running within binary distribution", destDir);
return new File(destDir);
}
-
}
diff --git a/groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImplTest.java b/groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImplTest.java
new file mode 100644
index 0000000..0e719c2
--- /dev/null
+++ b/groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImplTest.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.gradle.java.classpath;
+
+import java.io.File;
+import java.util.HashSet;
+import java.util.Set;
+import org.junit.Test;
+import org.netbeans.api.java.classpath.ClassPath;
+import org.netbeans.api.project.Project;
+import org.netbeans.modules.gradle.java.AbstractGradleJavaTestCase;
+import org.netbeans.modules.gradle.java.api.GradleJavaProject;
+import org.netbeans.spi.java.classpath.ClassPathProvider;
+import org.openide.filesystems.FileObject;
+import org.openide.filesystems.FileUtil;
+
+/**
+ *
+ * @author lkishalmi
+ */
+public class ClassPathProviderImplTest extends AbstractGradleJavaTestCase {
+
+ public ClassPathProviderImplTest(String name) {
+ super(name);
+ }
+
+ @Test
+ public void testRuntimeClassPath() throws Exception {
+ System.out.println("find runtime ClassPath");
+ FileObject fo = createGradleProject("apply plugin: 'java'");
+ FileObject src = FileUtil.createFolder(fo, "src/main/java");
+ FileObject java = src.createData("Whatever.java");
+ Project prj = openProject(fo);
+ ClassPathProvider cpp = prj.getLookup().lookup(ClassPathProvider.class);
+ assertNotNull(cpp);
+ GradleJavaProject gjp = GradleJavaProject.get(prj);
+
+
+ Set<FileObject> outputs = new HashSet<>();
+ outputs.add(FileUtil.createFolder(gjp.getMainSourceSet().getOutputResources()));
+ for (File dir : gjp.getMainSourceSet().getOutputClassDirs()) {
+ outputs.add(FileUtil.createFolder(dir));
+ }
+
+ ClassPath rt = cpp.findClassPath(java, ClassPath.EXECUTE);
+ for (FileObject output : outputs) {
+ assertTrue(rt.contains(output));
+ }
+ }
+
+}
diff --git a/groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/classpath/GradleSourcesImplTest.java b/groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/classpath/GradleSourcesImplTest.java
index d6ccbab..f1a3d08 100644
--- a/groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/classpath/GradleSourcesImplTest.java
+++ b/groovy/gradle.java/test/unit/src/org/netbeans/modules/gradle/java/classpath/GradleSourcesImplTest.java
@@ -18,58 +18,34 @@
*/
package org.netbeans.modules.gradle.java.classpath;
-import java.io.File;
-import static junit.framework.TestCase.assertNotNull;
import org.netbeans.api.java.project.JavaProjectConstants;
import org.netbeans.api.project.Project;
-import org.netbeans.api.project.ProjectManager;
import org.netbeans.api.project.ProjectUtils;
import org.netbeans.api.project.SourceGroup;
import org.netbeans.api.project.Sources;
-import org.netbeans.junit.NbTestCase;
-import org.netbeans.modules.apisupport.project.InstalledFileLocatorImpl;
-import org.netbeans.modules.project.uiapi.ProjectOpenedTrampoline;
-import org.netbeans.spi.project.ui.ProjectOpenedHook;
+import org.netbeans.modules.gradle.java.AbstractGradleJavaTestCase;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
-import org.openide.filesystems.test.TestFileUtils;
/**
*
* @author lkishalmi
*/
-public class GradleSourcesImplTest extends NbTestCase {
+public class GradleSourcesImplTest extends AbstractGradleJavaTestCase {
public GradleSourcesImplTest(String name) {
super(name);
}
- private FileObject d;
- /** Represents destination directory with NetBeans (always available). */
- protected File destDirF;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- clearWorkDir();
- d = FileUtil.toFileObject(getWorkDir());
- destDirF = getTestNBDestDir();
- }
-
public void testGeneratedSources() throws Exception { // #187595
- InstalledFileLocatorImpl.registerDestDir(destDirF);
-
- TestFileUtils.writeFile(d,
- "build.gradle",
+ FileObject d = createGradleProject(
"apply plugin: 'java'\n" +
"sourceSets { main { java { srcDirs = [ 'src', 'build/gen-src' ] }}}");
FileObject src = FileUtil.createFolder(d, "src/");
FileObject gsrc = FileUtil.createFolder(d, "build/gen-src");
FileObject source = src.createData("Whatever.java");
FileObject generated = gsrc.createData("WhateverGen.java");
- Project prj = ProjectManager.getDefault().findProject(d);
- assertNotNull(prj);
- ProjectOpenedTrampoline.DEFAULT.projectOpened(prj.getLookup().lookup(ProjectOpenedHook.class));
+ Project prj = openProject(d);
Sources srcs = ProjectUtils.getSources(prj);
SourceGroup[] groups = srcs.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA);
assertEquals(2, groups.length);
@@ -79,11 +55,4 @@ public class GradleSourcesImplTest extends NbTestCase {
assertFalse(groups[1].contains(source));
}
- private static File getTestNBDestDir() {
- String destDir = System.getProperty("test.netbeans.dest.dir");
- // set in project.properties as test-unit-sys-prop.test.netbeans.dest.dir
- assertNotNull("test.netbeans.dest.dir property has to be set when running within binary distribution", destDir);
- return new File(destDir);
- }
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists