You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by sk...@apache.org on 2022/05/30 08:38:08 UTC

[netbeans] branch delivery updated: [3809] Maven/New POM Project

This is an automated email from the ASF dual-hosted git repository.

skygo pushed a commit to branch delivery
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/delivery by this push:
     new fcbe2f82dc [3809] Maven/New POM Project
     new cc14a920bc Merge pull request #4147 from vieiro/hotfix/3809
fcbe2f82dc is described below

commit fcbe2f82dcf88697d94bc460212e48aad122a860
Author: Antonio Vieiro <vi...@apache.org>
AuthorDate: Tue May 24 23:44:37 2022 +0200

    [3809] Maven/New POM Project
---
 .../modules/maven/newproject/TemplateUtils.java    | 42 +++++++++++-----------
 .../idenative/IDENativeMavenWizardIterator.java    |  1 +
 .../idenative/IDENativeTemplateHandler.java        | 19 +++++-----
 .../newproject/idenative/PomJavaNativeMWI.java     |  9 ++++-
 4 files changed, 42 insertions(+), 29 deletions(-)

diff --git a/java/maven/src/org/netbeans/modules/maven/newproject/TemplateUtils.java b/java/maven/src/org/netbeans/modules/maven/newproject/TemplateUtils.java
index 77bf1504e6..03a4afb106 100644
--- a/java/maven/src/org/netbeans/modules/maven/newproject/TemplateUtils.java
+++ b/java/maven/src/org/netbeans/modules/maven/newproject/TemplateUtils.java
@@ -255,27 +255,29 @@ public final class TemplateUtils {
             POMModel model = POMModelFactory.getDefault().getModel(modelSource);
             org.netbeans.modules.maven.model.pom.Project root = model.getProject();
             if (root != null) {
-                if (model.startTransaction()) {
-                    try {
-                        org.netbeans.modules.maven.model.pom.Properties props = root.getProperties();
-                        if (props == null) {
-                            props = model.getFactory().createProperties();
-                            root.setProperties(props);
-                        }
-                        String packageName = (String) properties.get(TemplateUtils.PARAM_PACKAGE);
-                        String mainClass = (String) properties.get(TemplateUtils.PARAM_MAIN_CLASS_NAME);
-                        if (mainClass == null || mainClass.isEmpty()) {
-                            mainClass = "App";  // NOI18N
-                        }
-                        if (packageName != null && !packageName.isEmpty()) {
-                            mainClass = packageName + '.' + mainClass;
-                        }
-                        props.setProperty("exec.mainClass", mainClass); // NOI18N
-                    } finally {
-                        model.endTransaction();
+                if (model.getProject().getPackaging() == null || "jar".equals(model.getProject().getPackaging())) {
+                    if (model.startTransaction()) {
                         try {
-                            Utilities.saveChanges(model);
-                        } catch (IOException ex) {}
+                            org.netbeans.modules.maven.model.pom.Properties props = root.getProperties();
+                            if (props == null) {
+                                props = model.getFactory().createProperties();
+                                root.setProperties(props);
+                            }
+                            String packageName = (String) properties.get(TemplateUtils.PARAM_PACKAGE);
+                            String mainClass = (String) properties.get(TemplateUtils.PARAM_MAIN_CLASS_NAME);
+                            if (mainClass == null || mainClass.isEmpty()) {
+                                mainClass = "App";  // NOI18N
+                            }
+                            if (packageName != null && !packageName.isEmpty()) {
+                                mainClass = packageName + '.' + mainClass;
+                            }
+                            props.setProperty("exec.mainClass", mainClass); // NOI18N
+                        } finally {
+                            model.endTransaction();
+                            try {
+                                Utilities.saveChanges(model);
+                            } catch (IOException ex) {}
+                        }
                     }
                 }
             }
diff --git a/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeMavenWizardIterator.java b/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeMavenWizardIterator.java
index ef2e035dd6..7e380de038 100644
--- a/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeMavenWizardIterator.java
+++ b/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeMavenWizardIterator.java
@@ -93,6 +93,7 @@ public abstract class IDENativeMavenWizardIterator implements WizardDescriptor.I
 
         return new FileBuilder(w.getTemplate().getPrimaryFile(), w.getTargetFolder().getPrimaryFile().getParent()).
             param(TemplateUtils.PARAM_PACKAGE, (String) wiz.getProperty("package")).
+            param(TemplateUtils.PARAM_PACKAGING, (String) this.packaging).
             defaultMode(FileBuilder.Mode.COPY).
             name(w.getTargetName()).
             useLookup(Lookups.fixed(h));
diff --git a/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeTemplateHandler.java b/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeTemplateHandler.java
index 8d81e48360..4a4261f690 100644
--- a/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeTemplateHandler.java
+++ b/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeTemplateHandler.java
@@ -122,15 +122,18 @@ public class IDENativeTemplateHandler extends CreateFromTemplateHandler {
         params.put("projecName", cd.getName());
         params.put("packagePath", pi.packageName == null ? "" : pi.packageName.replace('.', '/')); // NOI18N
         
-        String mainName;
-        if (!params.containsKey("mainClassName")) { // NOI18N
-            String derived = deriveClassName(pi.artifactId);
-            if (BaseUtilities.isJavaIdentifier(derived)) {
-                mainName = derived;
-            } else {
-                mainName = "App"; // NOI18N
+        String packaging = cd.getValue(TemplateUtils.PARAM_PACKAGING);
+        if (packaging == null || "jar".equals(packaging)) { // NOI18N
+            String mainName;
+            if (!params.containsKey("mainClassName")) { // NOI18N
+                String derived = deriveClassName(pi.artifactId);
+                if (BaseUtilities.isJavaIdentifier(derived)) {
+                    mainName = derived;
+                } else {
+                    mainName = "App"; // NOI18N
+                }
+                params.put("mainClassName", mainName); // NOI18N
             }
-            params.put("mainClassName", mainName); // NOI18N
         }
         
 
diff --git a/java/maven/src/org/netbeans/modules/maven/newproject/idenative/PomJavaNativeMWI.java b/java/maven/src/org/netbeans/modules/maven/newproject/idenative/PomJavaNativeMWI.java
index ac01a5cba7..be689be5f9 100644
--- a/java/maven/src/org/netbeans/modules/maven/newproject/idenative/PomJavaNativeMWI.java
+++ b/java/maven/src/org/netbeans/modules/maven/newproject/idenative/PomJavaNativeMWI.java
@@ -28,7 +28,14 @@ import org.openide.util.NbBundle;
  *
  * @author mkleint
  */
-@TemplateRegistration(folder=ArchetypeWizards.TEMPLATE_FOLDER, position=980, displayName="#LBL_Maven_POM_Archetype", iconBase="org/netbeans/modules/maven/resources/Maven2Icon.gif", description="pom-root.html")
+@TemplateRegistration(
+        displayName="#LBL_Maven_POM_Archetype",
+        iconBase="org/netbeans/modules/maven/resources/Maven2Icon.gif",
+        description="pom-root.html",
+        folder=ArchetypeWizards.TEMPLATE_FOLDER,
+        position=980,
+        createHandlerClass = IDENativeTemplateHandler.class
+)
 @NbBundle.Messages("LBL_Maven_POM_Archetype=POM Project")
 public class PomJavaNativeMWI extends IDENativeMavenWizardIterator {
 


---------------------------------------------------------------------
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