Browse Source

First Progress on Gradle Support: You need to install the Gradle Plugin on the netbeans first and then try to run the project.
Problem: The Plugin on the Host IDE will override the sdk suite and try to detect it as gradle. Thus some functions are broken.
Problem 2: Running doesn't work as some maven modules seem missing to the SDK even though they are present in netbeans/java/. They were previously on the exclude list though

MeFisto94 6 years ago
parent
commit
168d20e0ca

+ 19 - 0
jme3-core/nbproject/project.xml

@@ -155,6 +155,25 @@
                         <specification-version>1.36.1</specification-version>
                     </run-dependency>
                 </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.gradle</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <!--<release-version>0</release-version>-->
+                        <!--<specification-version>1.0.2</specification-version>-->
+                        <implementation-version/>
+                    </run-dependency>
+                </dependency>
+                <!-- <dependency>
+                    <code-name-base>org.netbeans.modules.gradle.java</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>-->
+                        <!-- <release-version>1</release-version>-->
+                        <!--<specification-version>1.0.2</specification-version>
+                    </run-dependency>
+                </dependency>-->
                 <dependency>
                     <code-name-base>org.netbeans.modules.java.api.common</code-name-base>
                     <build-prerequisite/>

+ 28 - 22
jme3-core/src/com/jme3/gde/core/assets/AssetsLookupProvider.java

@@ -42,6 +42,7 @@ import java.util.logging.Logger;
 import org.netbeans.api.project.Project;
 import org.netbeans.api.project.ProjectManager;
 import org.netbeans.api.project.ProjectUtils;
+import org.netbeans.modules.gradle.NbGradleProjectImpl;
 import org.netbeans.modules.java.j2seproject.J2SEProject;
 import org.netbeans.modules.java.j2seproject.api.J2SEPropertyEvaluator;
 import org.netbeans.spi.project.LookupProvider;
@@ -92,34 +93,39 @@ public class AssetsLookupProvider implements LookupProvider {
     private String[] extensionDependencies = new String[]{"-do-init", "-init-assets"};
     private ProjectExtensionManager manager = new ProjectExtensionManager(extensionName, extensionVersion, extensionTargets, extensionDependencies);
 
+    @Override
     public Lookup createAdditionalLookup(Lookup lookup) {
         Project prj = lookup.lookup(Project.class);
         project = prj;
-        FileObject assetsProperties = prj.getProjectDirectory().getFileObject("nbproject/project.properties");
-        if (assetsProperties != null && assetsProperties.isValid()) {
-            FileLock lock = null;
-            try {
-                lock = assetsProperties.lock();
-                InputStream in = assetsProperties.getInputStream();
-                Properties properties = new Properties();
-                properties.load(in);
-                in.close();
-                String assetsFolderName = properties.getProperty("assets.folder.name", "assets");
-                if (prj.getProjectDirectory().getFileObject(assetsFolderName) != null) {
-                    logger.log(Level.FINE, "Valid jMP project, extending with ProjectAssetManager");
-                    openedHook = genOpenedHook(project);
-                    return Lookups.fixed(new ProjectAssetManager(prj, assetsFolderName), openedHook);
-                }
-            } catch (Exception ex) {
-                Exceptions.printStackTrace(ex);
-            } finally {
-                if (lock != null) {
-                    lock.releaseLock();
+        if (project instanceof NbGradleProjectImpl) {
+            return Lookups.fixed();
+        } else {
+            FileObject assetsProperties = prj.getProjectDirectory().getFileObject("nbproject/project.properties");
+            if (assetsProperties != null && assetsProperties.isValid()) {
+                FileLock lock = null;
+                try {
+                    lock = assetsProperties.lock();
+                    InputStream in = assetsProperties.getInputStream();
+                    Properties properties = new Properties();
+                    properties.load(in);
+                    in.close();
+                    String assetsFolderName = properties.getProperty("assets.folder.name", "assets");
+                    if (prj.getProjectDirectory().getFileObject(assetsFolderName) != null) {
+                        logger.log(Level.FINE, "Valid jMP project, extending with ProjectAssetManager");
+                        openedHook = genOpenedHook(project);
+                        return Lookups.fixed(new ProjectAssetManager(prj, assetsFolderName), openedHook);
+                    }
+                } catch (Exception ex) {
+                    Exceptions.printStackTrace(ex);
+                } finally {
+                    if (lock != null) {
+                        lock.releaseLock();
+                    }
                 }
             }
-        }
 
-        return Lookups.fixed();
+            return Lookups.fixed();
+        }
     }
     
     private ProjectOpenedHook genOpenedHook(final Project context) {

+ 9 - 0
jme3-core/src/com/jme3/gde/core/layer.xml

@@ -78,6 +78,7 @@
         </folder>
     </folder>
 -->
+    <!-- Register our custom project handling -->
     <folder name="Projects">
         <folder name="org-netbeans-modules-ant-freeform">
             <folder name="Lookup">
@@ -100,6 +101,14 @@
                 </file>
             </folder>
         </folder>
+        <folder name="org-netbeans-modules-gradle">
+            <folder name="Lookup">
+                <file name="com.jme3.gde.core.assets.AssetsLookupProvider.instance" />
+            </folder>
+            <folder name="Nodes">
+                <file name="com.jme3.gde.core.assets.ProjectAssetsNodeFactory.instance" />
+            </folder>
+        </folder>
         <folder name="org-netbeans-modules-maven">
             <folder name="Lookup">
                 <file name="com.jme3.gde.core.assets.AssetsLookupProvider.instance"/>

+ 1 - 18
nbproject/platform.properties

@@ -3,6 +3,7 @@ keystore=../nbproject/private/keystore
 nbm_alias=jmeupdates
 cluster.path=\
     ${nbplatform.active.dir}/extide:\
+    ${nbplatform.active.dir}/groovy:\
     ${nbplatform.active.dir}/harness:\
     ${nbplatform.active.dir}/ide:\
     ${nbplatform.active.dir}/java:\
@@ -23,7 +24,6 @@ disabled.modules=\
     org.eclipse.mylyn.wikitext.confluence.core,\
     org.eclipse.mylyn.wikitext.core,\
     org.eclipse.mylyn.wikitext.textile.core,\
-    org.netbeans.api.maven,\
     org.netbeans.core.browser.webview,\
     org.netbeans.lib.uihandler,\
     org.netbeans.libs.commons_net,\
@@ -83,23 +83,6 @@ disabled.modules=\
     org.netbeans.modules.jemmy,\
     org.netbeans.modules.languages,\
     org.netbeans.modules.localtasks,\
-    org.netbeans.modules.maven,\
-    org.netbeans.modules.maven.checkstyle,\
-    org.netbeans.modules.maven.coverage,\
-    org.netbeans.modules.maven.embedder,\
-    org.netbeans.modules.maven.grammar,\
-    org.netbeans.modules.maven.graph,\
-    org.netbeans.modules.maven.hints,\
-    org.netbeans.modules.maven.indexer,\
-    org.netbeans.modules.maven.junit,\
-    org.netbeans.modules.maven.kit,\
-    org.netbeans.modules.maven.model,\
-    org.netbeans.modules.maven.osgi,\
-    org.netbeans.modules.maven.persistence,\
-    org.netbeans.modules.maven.refactoring,\
-    org.netbeans.modules.maven.repository,\
-    org.netbeans.modules.maven.search,\
-    org.netbeans.modules.maven.spring,\
     org.netbeans.modules.mercurial,\
     org.netbeans.modules.mylyn.util,\
     org.netbeans.modules.performance,\