You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by ne...@apache.org on 2019/07/03 13:24:18 UTC

[netbeans] branch master updated: NETBEANS-2730 try to update to nbm-maven-plugin from Apache + backward compatibility on mojo

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

neilcsmith 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 25d43fa  NETBEANS-2730 try to update to nbm-maven-plugin from Apache + backward compatibility on mojo
     new 43fabe6  Merge pull request #1324 from ebarboni/mavenplugin
25d43fa is described below

commit 25d43fa3a40f3f69fca20a6ee6563886e816141a
Author: Eric Barboni <sk...@apache.org>
AuthorDate: Tue Jun 25 16:23:16 2019 +0200

    NETBEANS-2730 try to update to nbm-maven-plugin from Apache + backward compatibility on mojo
---
 .../modules/maven/apisupport/AccessQueryImpl.java  |  4 +-
 .../AddOSGiParamToNbmPluginConfiguration.java      |  6 +-
 .../apisupport/CoSApplicationLateBoundChecker.java |  3 +-
 .../modules/maven/apisupport/InstallerPanel.java   | 11 ++-
 .../maven/apisupport/MavenNbModuleImpl.java        | 59 +++++++-------
 .../apisupport/MavenRefactoringProviderImpl.java   |  4 +-
 .../maven/apisupport/MavenWhiteListQueryImpl.java  |  4 +-
 .../modules/maven/apisupport/NBMNativeMWI.java     | 53 +++++++++---
 .../maven/apisupport/NbmActionGoalProvider.java    |  5 +-
 .../maven/apisupport/NbmWizardIterator.java        | 15 ++--
 .../maven/apisupport/NbmWizardPanelVisual.java     | 10 ++-
 .../apisupport/NetBeansRunParamsIDEChecker.java    |  7 +-
 .../maven/apisupport/OpenBrandingEditorAction.java |  3 +-
 .../apisupport/PluginBackwardPropertyUtils.java    | 93 ++++++++++++++++++++++
 .../maven/apisupport/PublicPackagesPanel.java      |  9 +--
 15 files changed, 202 insertions(+), 84 deletions(-)

diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/AccessQueryImpl.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/AccessQueryImpl.java
index df0b6b0..d516709 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/AccessQueryImpl.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/AccessQueryImpl.java
@@ -32,7 +32,6 @@ import org.netbeans.api.annotations.common.SuppressWarnings;
 import org.netbeans.modules.maven.api.NbMavenProject;
 import org.codehaus.plexus.util.IOUtil;
 import org.netbeans.api.project.Project;
-import org.netbeans.modules.maven.api.PluginPropertyUtils;
 import org.netbeans.spi.java.queries.AccessibilityQueryImplementation;
 import org.netbeans.spi.project.ProjectServiceProvider;
 import org.openide.filesystems.FileObject;
@@ -160,8 +159,7 @@ public class AccessQueryImpl implements AccessibilityQueryImplementation {
 
     private static List<Pattern> loadPublicPackagesPatterns(Project project) {
         List<Pattern> toRet = new ArrayList<Pattern>();
-        String[] params = PluginPropertyUtils.getPluginPropertyList(project, 
-                MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN, //NOI18N
+        String[] params = PluginBackwardPropertyUtils.getPluginPropertyList(project,
                 "publicPackages", "publicPackage", "manifest"); //NOI18N
         if (params != null) {
             toRet = prepareMavenPublicPackagesPatterns(params);
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/AddOSGiParamToNbmPluginConfiguration.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/AddOSGiParamToNbmPluginConfiguration.java
index 813a94c..c3a69ad 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/AddOSGiParamToNbmPluginConfiguration.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/AddOSGiParamToNbmPluginConfiguration.java
@@ -50,18 +50,18 @@ class AddOSGiParamToNbmPluginConfiguration implements ModelOperation<POMModel> {
             bld = model.getFactory().createBuild();
             p.setBuild(bld);
         }
-        Plugin plg = bld.findPluginById(MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+        Plugin plg = PluginBackwardPropertyUtils.findPluginFromBuild(bld);
         if (plg == null) {
             //how come the plugin is not there? maybe using on wrong project?
             //check plugin management first.
             PluginManagement pm = bld.getPluginManagement();
             if (pm != null) {
-                plg = pm.findPluginById(MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+                plg = PluginBackwardPropertyUtils.findPluginFromPluginManagement(pm);                
             }
             if (plg == null) { // should not happen to begin with
                 plg = model.getFactory().createPlugin();
                 bld.addPlugin(plg);
-                plg.setGroupId(MavenNbModuleImpl.GROUPID_MOJO);
+                plg.setGroupId(MavenNbModuleImpl.GROUPID_APACHE);
                 plg.setArtifactId(MavenNbModuleImpl.NBM_PLUGIN);
                 plg.setVersion(MavenNbModuleImpl.LATEST_NBM_PLUGIN_VERSION);
             }
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/CoSApplicationLateBoundChecker.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/CoSApplicationLateBoundChecker.java
index e8b18b4..22fe240 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/CoSApplicationLateBoundChecker.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/CoSApplicationLateBoundChecker.java
@@ -32,7 +32,6 @@ import org.netbeans.api.project.ui.OpenProjects;
 import org.netbeans.modules.apisupport.project.spi.NbModuleProvider;
 import org.netbeans.modules.maven.api.FileUtilities;
 import org.netbeans.modules.maven.api.NbMavenProject;
-import org.netbeans.modules.maven.api.PluginPropertyUtils;
 import org.netbeans.modules.maven.api.classpath.DependencyProjectsProvider;
 import org.netbeans.modules.maven.api.execute.ExecutionContext;
 import org.netbeans.modules.maven.api.execute.LateBoundPrerequisitesChecker;
@@ -103,7 +102,7 @@ public class CoSApplicationLateBoundChecker implements LateBoundPrerequisitesChe
                 }
             }
         }
-        String branding = PluginPropertyUtils.getPluginProperty(config.getProject(), MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN, "brandingToken", "cluster-app", "netbeans.branding.token");
+        String branding = PluginBackwardPropertyUtils.getPluginProperty(config.getProject(), "brandingToken", "cluster-app", "netbeans.branding.token");       
         //TODO care about figuring out build.outputdir?
         //only relativize path on windows
         assert config.getExecutionDirectory() != null : "RunConfig for " + config.getActionName() + " is missing executionDirectory"; //#243564 we need to learn which 
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/InstallerPanel.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/InstallerPanel.java
index 735a8bf..54858db 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/InstallerPanel.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/InstallerPanel.java
@@ -32,7 +32,6 @@ import org.netbeans.api.queries.CollocationQuery;
 import org.netbeans.modules.maven.api.FileUtilities;
 import org.netbeans.modules.maven.api.ModelUtils;
 import org.netbeans.modules.maven.api.NbMavenProject;
-import org.netbeans.modules.maven.api.PluginPropertyUtils;
 import org.netbeans.modules.maven.api.customizer.ModelHandle2;
 import org.netbeans.modules.maven.api.customizer.support.CheckBoxUpdater;
 import org.netbeans.modules.maven.api.customizer.support.TextComponentUpdater;
@@ -234,10 +233,10 @@ public class InstallerPanel extends JPanel implements HelpCtx.Provider {
             build = pomModel.getFactory().createBuild();
             pomModel.getProject().setBuild(build);
         }
-        Plugin nbmPlugin = build.findPluginById(MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+        Plugin nbmPlugin = PluginBackwardPropertyUtils.findPluginFromBuild(build);
         if (nbmPlugin == null) {
             nbmPlugin = pomModel.getFactory().createPlugin();
-            nbmPlugin.setGroupId(MavenNbModuleImpl.GROUPID_MOJO);
+            nbmPlugin.setGroupId(MavenNbModuleImpl.GROUPID_APACHE);
             nbmPlugin.setArtifactId(MavenNbModuleImpl.NBM_PLUGIN);
             nbmPlugin.setExtensions(Boolean.TRUE);
             build.addPlugin(nbmPlugin);
@@ -266,7 +265,7 @@ public class InstallerPanel extends JPanel implements HelpCtx.Provider {
             super(comp);
             this.property = property;
             this.dflt = dflt;
-            pomValue = PluginPropertyUtils.getPluginProperty(project, MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN, property, GOAL, null);
+            pomValue = PluginBackwardPropertyUtils.getPluginProperty(project, property, GOAL, null);
         }
 
         @org.netbeans.api.annotations.common.SuppressWarnings("NP_BOOLEAN_RETURN_NULL")
@@ -320,7 +319,7 @@ public class InstallerPanel extends JPanel implements HelpCtx.Provider {
         StringPropUpdater(String property, JTextComponent comp, JLabel label) {
             super(comp, label);
             this.property = property;
-            pomValue = PluginPropertyUtils.getPluginProperty(project, MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN, property, GOAL, null);
+            pomValue = PluginBackwardPropertyUtils.getPluginProperty(project, property, GOAL, null);
         }
 
         @Override public String getValue() {
@@ -373,7 +372,7 @@ public class InstallerPanel extends JPanel implements HelpCtx.Provider {
             Project project = context.lookup(Project.class);
             NbMavenProject watcher = project.getLookup().lookup(NbMavenProject.class);
             if (watcher != null && NbMavenProject.TYPE_NBM_APPLICATION.equalsIgnoreCase(watcher.getPackagingType())) {
-                String version = PluginPropertyUtils.getPluginVersion(watcher.getMavenProject(), MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+                String version = PluginBackwardPropertyUtils.getPluginVersion(watcher.getMavenProject());
                 if (version != null && new ComparableVersion(version).compareTo(new ComparableVersion("3.7-SNAPSHOT")) >= 0) {
                     return ProjectCustomizer.Category.create("Installer", LBL_InstallerPanel(), null);
                 }
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenNbModuleImpl.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenNbModuleImpl.java
index 1b9802a..82d86f6 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenNbModuleImpl.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenNbModuleImpl.java
@@ -29,6 +29,7 @@ import java.io.UnsupportedEncodingException;
 import java.net.URI;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -57,7 +58,6 @@ import org.netbeans.modules.apisupport.project.spi.PlatformJarProvider;
 import org.netbeans.modules.maven.api.FileUtilities;
 import org.netbeans.modules.maven.api.ModelUtils;
 import org.netbeans.modules.maven.api.NbMavenProject;
-import org.netbeans.modules.maven.api.PluginPropertyUtils;
 import org.netbeans.modules.maven.embedder.EmbedderFactory;
 import org.netbeans.modules.maven.indexer.api.NBVersionInfo;
 import org.netbeans.modules.maven.indexer.api.RepositoryInfo;
@@ -86,6 +86,8 @@ import org.openide.util.RequestProcessor;
  */
 @ProjectServiceProvider(service=NbModuleProvider.class, projectType="org-netbeans-modules-maven/" + NbMavenProject.TYPE_NBM)
 public class MavenNbModuleImpl implements NbModuleProvider {
+
+    
     private final Project project;
     private final DependencyAdder dependencyAdder = new DependencyAdder();
     private static final RequestProcessor RP = new RequestProcessor(MavenNbModuleImpl.class);
@@ -93,7 +95,10 @@ public class MavenNbModuleImpl implements NbModuleProvider {
     private final RequestProcessor.Task tsk = RP.create(dependencyAdder);
     
     public static final String NETBEANS_REPO_ID = "netbeans";
-    public static final String NETBEANS_SNAPSHOT_REPO_ID = "netbeans-snapshot";
+    public static final String MAVEN_CENTRAL = "central";
+    public static final String APACHE_SNAPSHOT_REPO_ID = "apache.snapshots";
+    // this repository is not good anymore, dev-SNAPSHOT version are buil on apache snapshot
+    // netbeans-snapshot contains "8.3-dev"  public static final String NETBEANS_SNAPSHOT_REPO_ID = "netbeans-snapshot";
     /**
      * the property defined by nbm-maven-plugin's run-ide goal.
      * can help finding the defined netbeans platform.
@@ -101,8 +106,9 @@ public class MavenNbModuleImpl implements NbModuleProvider {
     private static final String PROP_NETBEANS_INSTALL = "netbeans.installation"; //NOI18N
 
     public static final String GROUPID_MOJO = "org.codehaus.mojo";
+    public static final String GROUPID_APACHE = "org.apache.netbeans.utilities";
     public static final String NBM_PLUGIN = "nbm-maven-plugin";
-    public static final String LATEST_NBM_PLUGIN_VERSION = "3.13";
+    public static final String LATEST_NBM_PLUGIN_VERSION = "4.12";
     
     public static final String NETBEANSAPI_GROUPID = "org.netbeans.api";  
     
@@ -114,15 +120,15 @@ public class MavenNbModuleImpl implements NbModuleProvider {
         this.project = project;
     }
 
-    static RepositoryInfo netbeansRepo() {
-        return RepositoryPreferences.getInstance().getRepositoryInfoById(NETBEANS_REPO_ID);
+    static List<RepositoryInfo> netbeansRepo() {
+        return Arrays.asList(
+                RepositoryPreferences.getInstance().getRepositoryInfoById(MAVEN_CENTRAL),
+                RepositoryPreferences.getInstance().getRepositoryInfoById(NETBEANS_REPO_ID));
     }
     
     private File getModuleXmlLocation() {
-        String file = PluginPropertyUtils.getPluginProperty(project, 
-                GROUPID_MOJO,
-                NBM_PLUGIN, //NOI18N
-                "descriptor", null, null); //NOI18N
+        String file = PluginBackwardPropertyUtils.getPluginProperty(project, 
+                    "descriptor", null, null); //NOI18N
         if (file == null) {
             file = "src/main/nbm/module.xml"; //NOI18N
         }
@@ -157,10 +163,8 @@ public class MavenNbModuleImpl implements NbModuleProvider {
 
     @Override
     public String getCodeNameBase() {
-        String codename = PluginPropertyUtils.getPluginProperty(project, 
-                GROUPID_MOJO,
-                NBM_PLUGIN, //NOI18N
-                "codeNameBase", "manifest", null);
+        String codename = PluginBackwardPropertyUtils.getPluginProperty(project, 
+                    "codeNameBase", "manifest", null);
         if (codename == null) {
             //this is deprecated in 3.8, but kept around for older versions
             try {
@@ -218,10 +222,8 @@ public class MavenNbModuleImpl implements NbModuleProvider {
 
     @Override
     public FileObject getManifestFile() {
-        String manifest = PluginPropertyUtils.getPluginProperty(project, 
-                GROUPID_MOJO,
-                NBM_PLUGIN, //NOI18N
-                "sourceManifestFile", "manifest", null);
+        String manifest = PluginBackwardPropertyUtils.getPluginProperty(project, 
+                    "sourceManifestFile", "manifest", null);
         if (manifest != null) {
             return FileUtilities.convertStringToFileObject(manifest);
         }
@@ -279,11 +281,11 @@ public class MavenNbModuleImpl implements NbModuleProvider {
             continue;
         }
         Dependency dep = null;
-        RepositoryInfo nbrepo = netbeansRepo();
+        List<RepositoryInfo> nbrepo = netbeansRepo();
         if (nbrepo != null) {
             File platformFile = lookForModuleInPlatform(artifactId);
             if (platformFile != null) {
-                List<NBVersionInfo> lst = RepositoryQueries.findBySHA1Result(platformFile, Collections.singletonList(nbrepo)).getResults();
+                List<NBVersionInfo> lst = RepositoryQueries.findBySHA1Result(platformFile, Collections.unmodifiableList(nbrepo)).getResults();
                 for (NBVersionInfo elem : lst) {
                     dep = new Dependency();
                     dep.setArtifactId(elem.getArtifactId());
@@ -311,7 +313,7 @@ public class MavenNbModuleImpl implements NbModuleProvider {
         }
         if (dep.getVersion() == null) {
             if (nbrepo != null) {
-                List<NBVersionInfo> versions = RepositoryQueries.getVersionsResult("org.netbeans.cluster", "platform", Collections.singletonList(nbrepo)).getResults();
+                List<NBVersionInfo> versions = RepositoryQueries.getVersionsResult("org.netbeans.cluster", "platform", Collections.unmodifiableList(nbrepo)).getResults();
                 if (!versions.isEmpty()) {
                     dep.setVersion(versions.get(0).getVersion());
                 }
@@ -376,7 +378,8 @@ public class MavenNbModuleImpl implements NbModuleProvider {
             public @Override void performOperation(POMModel model) {
                 Build build = model.getProject().getBuild();
                 if (build != null) {
-                    Plugin nbmPlugin = build.findPluginById(GROUPID_MOJO, NBM_PLUGIN);
+                    // look at apache netbeans plugin first
+                    Plugin nbmPlugin = PluginBackwardPropertyUtils.findPluginFromBuild(build);
                     if (nbmPlugin != null) {
                         Configuration configuration = nbmPlugin.getConfiguration();
                         if (configuration == null) {
@@ -555,7 +558,7 @@ public class MavenNbModuleImpl implements NbModuleProvider {
      * Looks for the configured location of the IDE installation for a standalone or suite module.
      */
     static @CheckForNull File findIDEInstallation(Project project) {
-        String installProp = PluginPropertyUtils.getPluginProperty(project, GROUPID_MOJO, NBM_PLUGIN, "netbeansInstallation", "run-ide", PROP_NETBEANS_INSTALL);
+        String installProp = PluginBackwardPropertyUtils.getPluginProperty(project, "netbeansInstallation", "run-ide", PROP_NETBEANS_INSTALL);
         if (installProp != null) {
             return FileUtilities.convertStringToFile(installProp);
         } else {
@@ -628,15 +631,15 @@ public class MavenNbModuleImpl implements NbModuleProvider {
             if (watch == null) {
                 return null; //not a maven project.
             }
-            String outputDir = PluginPropertyUtils.getPluginProperty(appProject,
-                    GROUPID_MOJO, NBM_PLUGIN, "outputDirectory", "cluster-app", null); //NOI18N
+            String outputDir = PluginBackwardPropertyUtils.getPluginProperty(appProject,
+                    "outputDirectory", "cluster-app", null); //NOI18N
             if( null == outputDir ) {
                 outputDir = "target"; //NOI18N
             }
-
-            String brandingToken = PluginPropertyUtils.getPluginProperty(appProject,
-                    GROUPID_MOJO, NBM_PLUGIN, "brandingToken", "cluster-app", "netbeans.branding.token"); //NOI18N
-             return FileUtilities.resolveFilePath(FileUtil.toFile(appProject.getProjectDirectory()), outputDir + File.separator + brandingToken);
+            
+            String brandingToken = PluginBackwardPropertyUtils.getPluginProperty(appProject,
+                    "brandingToken", "cluster-app", "netbeans.branding.token"); //NOI18N
+            return FileUtilities.resolveFilePath(FileUtil.toFile(appProject.getProjectDirectory()), outputDir + File.separator + brandingToken);
     }
 
     @Override public FileSystem getEffectiveSystemFilesystem() throws IOException {
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenRefactoringProviderImpl.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenRefactoringProviderImpl.java
index 5be5d8c..d389867 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenRefactoringProviderImpl.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenRefactoringProviderImpl.java
@@ -62,7 +62,7 @@ public class MavenRefactoringProviderImpl implements NbRefactoringProvider {
         Build build = pomModel.getProject().getBuild();
 
         if (build != null) {
-            Plugin nbmPlugin = build.findPluginById(MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+            Plugin nbmPlugin = PluginBackwardPropertyUtils.findPluginFromBuild(build);
             if (nbmPlugin != null) {
                 Configuration config = nbmPlugin.getConfiguration();
                 if (config != null) {
@@ -90,7 +90,7 @@ public class MavenRefactoringProviderImpl implements NbRefactoringProvider {
                                                 Build build = model.getProject().getBuild();
 
                                                 if (build != null) {
-                                                    Plugin nbmPlugin = build.findPluginById(MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+                                                    Plugin nbmPlugin = PluginBackwardPropertyUtils.findPluginFromBuild(build);
                                                     if (nbmPlugin != null) {
                                                         Configuration config = nbmPlugin.getConfiguration();
                                                         if (config != null) {
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenWhiteListQueryImpl.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenWhiteListQueryImpl.java
index d254bad..3af02ca 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenWhiteListQueryImpl.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/MavenWhiteListQueryImpl.java
@@ -201,7 +201,7 @@ public class MavenWhiteListQueryImpl implements WhiteListQueryImplementation {
     }
     
     public static boolean isUseOSGiDependencies(Project project) {
-        String useOsgiString = PluginPropertyUtils.getPluginProperty(project, MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN, "useOSGiDependencies", null, null);
+        String useOsgiString = PluginBackwardPropertyUtils.getPluginProperty(project, "useOSGiDependencies", null, null);
         return  useOsgiString != null ? Boolean.parseBoolean(useOsgiString) : false;
     }
     
@@ -253,7 +253,7 @@ public class MavenWhiteListQueryImpl implements WhiteListQueryImplementation {
             }
         }
         
-        List<ExplicitDependency> explicits = PluginPropertyUtils.getPluginPropertyBuildable(project, MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN, null, new ExplicitBuilder());
+        List<ExplicitDependency> explicits = PluginBackwardPropertyUtils.getPluginPropertyBuildable(project, null, new ExplicitBuilder());
 //        String codenamebase = PluginPropertyUtils.getPluginProperty(project, MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN, "codeNameBase", null, null);
 //        if (codenamebase == null) {
 //            codenamebase = mp.getGroupId() + "." + mp.getArtifactId();
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NBMNativeMWI.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NBMNativeMWI.java
index 50ed246..a9858f5 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NBMNativeMWI.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NBMNativeMWI.java
@@ -27,7 +27,9 @@ import java.io.OutputStream;
 import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
+import javax.xml.namespace.QName;
 import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.versioning.ComparableVersion;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.PluginManagement;
 import org.apache.maven.project.MavenProject;
@@ -39,7 +41,9 @@ import org.netbeans.modules.maven.api.archetype.ProjectInfo;
 import org.netbeans.modules.maven.model.ModelOperation;
 import org.netbeans.modules.maven.model.pom.Build;
 import org.netbeans.modules.maven.model.pom.Configuration;
+import org.netbeans.modules.maven.model.pom.POMExtensibilityElement;
 import org.netbeans.modules.maven.model.pom.POMModel;
+import org.netbeans.modules.maven.model.pom.POMQName;
 import org.netbeans.modules.maven.model.pom.Plugin;
 import org.netbeans.modules.maven.model.pom.Project;
 import org.netbeans.modules.maven.model.pom.Repository;
@@ -158,8 +162,8 @@ final class NBMNativeMWI {
                 //add repository
                 boolean addRepository = true;
                 boolean isSnapshot = NbmWizardIterator.SNAPSHOT_VERSION.equals(netbeansDependencyVersion);
-                String repoUrl = isSnapshot ? "http://bits.netbeans.org/nexus/content/repositories/snapshots" : "http://bits.netbeans.org/nexus/content/groups/netbeans";
-                String oldRepoUrl = isSnapshot ? "http://bits.netbeans.org/netbeans/trunk/maven-snapshot" : "http://bits.netbeans.org/maven2";
+                String repoUrl = isSnapshot ? "https://repository.apache.org/content/repositories/snapshots/" : "http://bits.netbeans.org/nexus/content/groups/netbeans";
+                String oldRepoUrl = isSnapshot ? "https://repository.apache.org/content/repositories/snapshots/" : "http://bits.netbeans.org/maven2";
                 if (parent != null) {
                     List<ArtifactRepository> repos = parent.getRemoteArtifactRepositories();
                     if (repos != null) {
@@ -186,7 +190,7 @@ final class NBMNativeMWI {
                 }
                 if (addRepository) {
                     Repository repo = model.getFactory().createRepository();
-                    repo.setId(isSnapshot ? MavenNbModuleImpl.NETBEANS_SNAPSHOT_REPO_ID : MavenNbModuleImpl.NETBEANS_REPO_ID);
+                    repo.setId(isSnapshot ? MavenNbModuleImpl.APACHE_SNAPSHOT_REPO_ID : MavenNbModuleImpl.NETBEANS_REPO_ID);
                     repo.setName("Repository hosting NetBeans modules");
                     repo.setUrl(repoUrl);
                     if (isSnapshot) {
@@ -259,7 +263,7 @@ final class NBMNativeMWI {
                     PluginManagement pm = parent.getPluginManagement();
                     if (pm != null) {
                         for (org.apache.maven.model.Plugin p : pm.getPlugins()) {
-                            if (MavenNbModuleImpl.GROUPID_MOJO.equals(p.getGroupId()) && MavenNbModuleImpl.NBM_PLUGIN.equals(p.getArtifactId())) {
+                            if ((MavenNbModuleImpl.GROUPID_MOJO.equals(p.getGroupId()) || MavenNbModuleImpl.GROUPID_APACHE.equals(p.getGroupId())) && MavenNbModuleImpl.NBM_PLUGIN.equals(p.getArtifactId())) {
                                 managedPVersion = p.getVersion();
 //                                Xpp3Dom conf = (Xpp3Dom) p.getConfiguration();
 //                                if (conf != null) {
@@ -276,7 +280,7 @@ final class NBMNativeMWI {
                 }
                 if (addPlugin) {
                     Plugin p = model.getFactory().createPlugin();
-                    p.setGroupId(MavenNbModuleImpl.GROUPID_MOJO);
+                    p.setGroupId(MavenNbModuleImpl.GROUPID_APACHE);
                     p.setArtifactId(MavenNbModuleImpl.NBM_PLUGIN);
                     if (managedPVersion == null) {
                         p.setVersion(pVersion);
@@ -295,7 +299,7 @@ final class NBMNativeMWI {
                 managedPVersion = null;
                 String source = null;
                 String target = null;
-                pVersion = "2.5.1";
+                pVersion = "3.8.1";
                 if (parent != null) {
                     //TODO do we want to support the case when the plugin is defined in parent pom with inherited=true?
                     PluginManagement pm = parent.getPluginManagement();
@@ -328,8 +332,8 @@ final class NBMNativeMWI {
                         p.setVersion(pVersion);
                     }
                     Configuration c = model.getFactory().createConfiguration();
-                    c.setSimpleParameter("source", "1.6");
-                    c.setSimpleParameter("target", "1.6");
+                    c.setSimpleParameter("source", "1.8");
+                    c.setSimpleParameter("target", "1.8");
                     p.setConfiguration(c);
                     getOrCreateBuild(model).addPlugin(p);
                 }
@@ -338,7 +342,7 @@ final class NBMNativeMWI {
                 addPlugin = true;
                 managedPVersion = null;
                 String useManifest = null;
-                pVersion = "2.4";
+                pVersion = "3.1.2";
                 if (parent != null) {
                     //TODO do we want to support the case when the plugin is defined in parent pom with inherited=true?
                     PluginManagement pm = parent.getPluginManagement();
@@ -348,9 +352,19 @@ final class NBMNativeMWI {
                                 managedPVersion = p.getVersion();
                                 Xpp3Dom conf = (Xpp3Dom) p.getConfiguration();
                                 if (conf != null) {
-                                    Xpp3Dom useEl = conf.getChild("useDefaultManifestFile");
-                                    if (useEl != null) {
-                                        useManifest = useEl.getValue();
+                                    if (new ComparableVersion(managedPVersion).compareTo(new ComparableVersion(JAR_PLUGIN_VERSION_MANIFEST_CONFIG_CHANGE)) >= 0) {
+                                        Xpp3Dom archive = conf.getChild("archive");
+                                        if (archive != null) {
+                                            Xpp3Dom manifestFile = archive.getChild("manifestFile");
+                                            if (manifestFile != null) {
+                                                useManifest = manifestFile.getValue();
+                                            }
+                                        }
+                                    } else {
+                                        Xpp3Dom useEl = conf.getChild("useDefaultManifestFile");
+                                        if (useEl != null) {
+                                            useManifest = useEl.getValue();
+                                        }
                                     }
                                 }
                                 break;
@@ -367,7 +381,19 @@ final class NBMNativeMWI {
                         p.setVersion(pVersion);
                     }
                     Configuration c = model.getFactory().createConfiguration();
-                    c.setSimpleParameter("useDefaultManifestFile", "true");
+                    if (new ComparableVersion(managedPVersion).compareTo(new ComparableVersion(JAR_PLUGIN_VERSION_MANIFEST_CONFIG_CHANGE)) >= 0) {
+                        QName archiveqname = POMQName.createQName("archive", model.getPOMQNames().isNSAware());
+                        POMExtensibilityElement archiveelement = model.getFactory().createPOMExtensibilityElement(archiveqname);
+                        
+                        QName manifestqname = POMQName.createQName("manifestFile", model.getPOMQNames().isNSAware());
+                        POMExtensibilityElement manifestelement = model.getFactory().createPOMExtensibilityElement(manifestqname);
+                        manifestelement.setElementText("${project.build.outputDirectory}/META-INF/MANIFEST.MF");
+                        archiveelement.addAnyElement(manifestelement, 0);
+                        
+                        c.getConfigurationElements().add(archiveelement);
+                    } else {
+                        c.setSimpleParameter("useDefaultManifestFile", "true");
+                    }
                     p.setConfiguration(c);
                     getOrCreateBuild(model).addPlugin(p);
                 }
@@ -375,6 +401,7 @@ final class NBMNativeMWI {
 
             }
         }
+        private static final String JAR_PLUGIN_VERSION_MANIFEST_CONFIG_CHANGE = "3.0.0";
 
         private Build getOrCreateBuild(POMModel model) {
             Build bld = model.getProject().getBuild();
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmActionGoalProvider.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmActionGoalProvider.java
index b9ed8dd..bcf7cd7 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmActionGoalProvider.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmActionGoalProvider.java
@@ -32,7 +32,6 @@ import org.netbeans.api.project.Project;
 import org.netbeans.modules.apisupport.project.spi.NbModuleProvider;
 import org.netbeans.modules.maven.api.FileUtilities;
 import org.netbeans.modules.maven.api.NbMavenProject;
-import org.netbeans.modules.maven.api.PluginPropertyUtils;
 import org.netbeans.modules.maven.api.execute.RunConfig;
 import org.netbeans.modules.maven.api.execute.RunUtils;
 import static org.netbeans.modules.maven.apisupport.Bundle.*;
@@ -138,13 +137,13 @@ public class NbmActionGoalProvider implements MavenActionsProvider {
                 assert rc != null;
                 rc.setPreExecution(RunUtils.createRunConfig(FileUtil.toFile(project.getProjectDirectory()), project, rc.getTaskDisplayName(), Collections.singletonList("package")));
                 MavenProject prj = project.getLookup().lookup(NbMavenProject.class).getMavenProject();
-                String nbmBuildDir = PluginPropertyUtils.getPluginProperty(project, MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN, "nbmBuildDir", "nbm", null);
+                String nbmBuildDir = PluginBackwardPropertyUtils.getPluginProperty(project, "nbmBuildDir", "nbm", null);
                 if (nbmBuildDir == null) {
                     Build build = prj.getBuild();
                     String directory = build != null ? build.getDirectory() : null;
                     nbmBuildDir = (directory != null ? directory : "target") + "/nbm";
                 }
-                String cluster = PluginPropertyUtils.getPluginProperty(project, MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN, "cluster", "nbm", null);
+                String cluster = PluginBackwardPropertyUtils.getPluginProperty(project, "cluster", "nbm", null);
                 if (cluster == null) {
                     cluster = "extra";
                 }
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmWizardIterator.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmWizardIterator.java
index 720f969..bbaa1cb 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmWizardIterator.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmWizardIterator.java
@@ -49,6 +49,7 @@ import org.openide.filesystems.FileUtil;
 import org.netbeans.api.templates.TemplateRegistration;
 import org.openide.util.NbBundle.Messages;
 import static org.netbeans.modules.maven.apisupport.Bundle.*;
+import static org.netbeans.modules.maven.apisupport.MavenNbModuleImpl.APACHE_SNAPSHOT_REPO_ID;
 import org.netbeans.modules.maven.embedder.EmbedderFactory;
 import org.netbeans.spi.project.ui.support.CommonProjectActions;
 
@@ -60,13 +61,13 @@ public class NbmWizardIterator implements WizardDescriptor.BackgroundInstantiati
     public static final String SNAPSHOT_VERSION = "dev-SNAPSHOT";
     static {
         NB_MODULE_ARCH = new Archetype();
-        NB_MODULE_ARCH.setGroupId("org.codehaus.mojo.archetypes"); //NOI18N
-        NB_MODULE_ARCH.setVersion("1.15"); //NOI18N
+        NB_MODULE_ARCH.setGroupId("org.apache.netbeans.archetypes"); //NOI18N
+        NB_MODULE_ARCH.setVersion("1.16"); //NOI18N
         NB_MODULE_ARCH.setArtifactId("nbm-archetype"); //NOI18N
 
         NB_APP_ARCH = new Archetype();
-        NB_APP_ARCH.setGroupId("org.codehaus.mojo.archetypes"); //NOI18N
-        NB_APP_ARCH.setVersion("1.20"); //NOI18N
+        NB_APP_ARCH.setGroupId("org.apache.netbeans.archetypes"); //NOI18N
+        NB_APP_ARCH.setVersion("1.21"); //NOI18N
         NB_APP_ARCH.setArtifactId("netbeans-platform-app-archetype"); //NOI18N
 
     }
@@ -288,14 +289,14 @@ public class NbmWizardIterator implements WizardDescriptor.BackgroundInstantiati
         return new ModelOperation<POMModel>() {
                     public @Override void performOperation(POMModel model) {
                         Repository repo = model.getFactory().createRepository();
-                        repo.setId("netbeans-snapshot"); // NOI18N
-                        repo.setName("NetBeans Snapshots"); // NOI18N
+                        repo.setId(APACHE_SNAPSHOT_REPO_ID); // NOI18N
+                        repo.setName("Apache Development Snapshot Repository"); // NOI18N
                         /* Is the following necessary?
                         RepositoryPolicy policy = model.getFactory().createSnapshotRepositoryPolicy();
                         policy.setEnabled(true);
                         repo.setSnapshots(policy);
                          */
-                        repo.setUrl("http://bits.netbeans.org/nexus/content/repositories/snapshots/"); // NOI18N
+                        repo.setUrl("https://repository.apache.org/content/repositories/snapshots/"); // NOI18N
                         model.getProject().addRepository(repo);
                     }
                 };
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmWizardPanelVisual.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmWizardPanelVisual.java
index bb49737..e6696ec 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmWizardPanelVisual.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NbmWizardPanelVisual.java
@@ -101,11 +101,13 @@ public class NbmWizardPanelVisual extends javax.swing.JPanel {
                             versionCombo.setModel(new DefaultComboBoxModel(new Object[] {SEARCHING}));
                         }
                     });
-                RepositoryInfo info = MavenNbModuleImpl.netbeansRepo();
-                final Object key = this;
-                if (info == null) {
+                List<RepositoryInfo> info = MavenNbModuleImpl.netbeansRepo();               
+                final Object key = this;               
+                if (info == null || info.contains(null)) {
                     try {
                         RepositoryPreferences.getInstance().addTransientRepository(key, MavenNbModuleImpl.NETBEANS_REPO_ID, MavenNbModuleImpl.NETBEANS_REPO_ID, "http://bits.netbeans.org/maven2/", RepositoryInfo.MirrorStrategy.NON_WILDCARD);
+                        //transient remove central, make central transient too
+                        RepositoryPreferences.getInstance().addTransientRepository(key, "central", "central", "https://repo1.maven.org/maven2", RepositoryInfo.MirrorStrategy.NON_WILDCARD);
                         info = MavenNbModuleImpl.netbeansRepo();
                     } catch (URISyntaxException x) {
                         assert false : x;
@@ -113,7 +115,7 @@ public class NbmWizardPanelVisual extends javax.swing.JPanel {
                 }
                 if (info != null) {
                     final List<String> versions = new ArrayList<String>();
-                    final Result<NBVersionInfo> result = RepositoryQueries.getVersionsResult("org.netbeans.cluster", "platform", Collections.singletonList(info));
+                    final Result<NBVersionInfo> result = RepositoryQueries.getVersionsResult("org.netbeans.cluster", "platform", Collections.unmodifiableList(info));
                     for (NBVersionInfo version : result.getResults()) { // NOI18N
                         versions.add(version.getVersion());
                     }
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NetBeansRunParamsIDEChecker.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NetBeansRunParamsIDEChecker.java
index 42b5bc6..c764ea7 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NetBeansRunParamsIDEChecker.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/NetBeansRunParamsIDEChecker.java
@@ -24,7 +24,6 @@ import java.util.Arrays;
 import org.apache.maven.artifact.versioning.ComparableVersion;
 import org.apache.maven.project.MavenProject;
 import org.netbeans.modules.maven.api.NbMavenProject;
-import org.netbeans.modules.maven.api.PluginPropertyUtils;
 import org.netbeans.modules.maven.api.execute.PrerequisitesChecker;
 import org.netbeans.modules.maven.api.execute.RunConfig;
 import org.netbeans.modules.maven.model.ModelOperation;
@@ -116,10 +115,10 @@ public class NetBeansRunParamsIDEChecker implements PrerequisitesChecker {
                     bld = factory.createBuild();
                     project.setBuild(bld);
                 }
-                Plugin plg = bld.findPluginById(MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+                Plugin plg = PluginBackwardPropertyUtils.findPluginFromBuild(bld);
                 if (plg == null) {
                     plg = factory.createPlugin();
-                    plg.setGroupId(MavenNbModuleImpl.GROUPID_MOJO);
+                    plg.setGroupId(MavenNbModuleImpl.GROUPID_APACHE);
                     plg.setArtifactId(MavenNbModuleImpl.NBM_PLUGIN);
                     plg.setExtensions(Boolean.TRUE);
                     bld.addPlugin(plg);
@@ -156,7 +155,7 @@ public class NetBeansRunParamsIDEChecker implements PrerequisitesChecker {
 
     
     static boolean usingNbmPlugin311(MavenProject prj) {
-        String v = PluginPropertyUtils.getPluginVersion(prj, MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+        String v = PluginBackwardPropertyUtils.getPluginVersion(prj);
         return v != null && new ComparableVersion(v).compareTo(new ComparableVersion("3.11.1")) >= 0;
     } 
     
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/OpenBrandingEditorAction.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/OpenBrandingEditorAction.java
index b4ed92f..16bb02a 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/OpenBrandingEditorAction.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/OpenBrandingEditorAction.java
@@ -42,7 +42,6 @@ import org.netbeans.modules.apisupport.project.spi.BrandingSupport;
 import org.netbeans.modules.apisupport.project.spi.PlatformJarProvider;
 import org.netbeans.modules.maven.api.FileUtilities;
 import org.netbeans.modules.maven.api.NbMavenProject;
-import org.netbeans.modules.maven.api.PluginPropertyUtils;
 import static org.netbeans.modules.maven.apisupport.Bundle.*;
 import org.openide.DialogDisplayer;
 import org.openide.NotifyDescriptor;
@@ -127,7 +126,7 @@ public class OpenBrandingEditorAction extends AbstractAction implements ContextA
     }
 
     private String brandingPath(Project mavenProject) {
-        String brandingPath = PluginPropertyUtils.getPluginProperty(mavenProject, MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN, "brandingSources", "branding", null); //NOI18N
+        String brandingPath = PluginBackwardPropertyUtils.getPluginProperty(mavenProject, "brandingSources", "branding", null); //NOI18N
         if(brandingPath != null) {
             return FileUtilities.getRelativePath(FileUtil.toFile(mavenProject.getProjectDirectory()),
                 FileUtilities.resolveFilePath(FileUtil.toFile(mavenProject.getProjectDirectory()), brandingPath));
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/PluginBackwardPropertyUtils.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/PluginBackwardPropertyUtils.java
new file mode 100644
index 0000000..bb95ae8
--- /dev/null
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/PluginBackwardPropertyUtils.java
@@ -0,0 +1,93 @@
+/*
+ * 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.maven.apisupport;
+
+import org.apache.maven.project.MavenProject;
+import org.netbeans.api.annotations.common.NonNull;
+import org.netbeans.api.annotations.common.NullAllowed;
+import org.netbeans.api.project.Project;
+import org.netbeans.modules.maven.api.PluginPropertyUtils;
+import org.netbeans.modules.maven.model.pom.Build;
+import org.netbeans.modules.maven.model.pom.Plugin;
+import org.netbeans.modules.maven.model.pom.PluginManagement;
+
+public class PluginBackwardPropertyUtils {
+
+    static String[] getPluginPropertyList(@NonNull Project prj, @NonNull String multiproperty, @NonNull String singleproperty, @NullAllowed String goal) {
+        String[] propertielist = PluginPropertyUtils.getPluginPropertyList(prj, MavenNbModuleImpl.GROUPID_APACHE,
+                MavenNbModuleImpl.NBM_PLUGIN, //NOI18N
+                multiproperty, singleproperty, goal); //NOI18N
+        if (propertielist == null) {
+            propertielist = PluginPropertyUtils.getPluginPropertyList(prj, MavenNbModuleImpl.GROUPID_MOJO,
+                    MavenNbModuleImpl.NBM_PLUGIN, //NOI18N
+                    multiproperty, singleproperty, goal); //NOI18N
+        }
+        return propertielist;
+
+    }
+
+    static String getPluginProperty(@NonNull Project prj, @NonNull String parameter, @NullAllowed String goal, @NullAllowed String expressionProperty) {
+        String propertielist = PluginPropertyUtils.getPluginProperty(prj, MavenNbModuleImpl.GROUPID_APACHE,
+                MavenNbModuleImpl.NBM_PLUGIN, //NOI18N
+                parameter, goal, expressionProperty); //NOI18N
+        if (propertielist == null) {
+            propertielist = PluginPropertyUtils.getPluginProperty(prj, MavenNbModuleImpl.GROUPID_MOJO,
+                    MavenNbModuleImpl.NBM_PLUGIN, //NOI18N
+                    parameter, goal, expressionProperty); //NOI18N
+        }
+        return propertielist;
+    }
+
+    static <T> T getPluginPropertyBuildable(@NonNull Project prj,
+            @NullAllowed String goal, @NonNull PluginPropertyUtils.ConfigurationBuilder<T> builder) {
+        T pluginPropertyBuildable = PluginPropertyUtils.getPluginPropertyBuildable(prj, MavenNbModuleImpl.GROUPID_APACHE,
+                MavenNbModuleImpl.NBM_PLUGIN, goal, builder);
+        if (pluginPropertyBuildable == null) {
+            pluginPropertyBuildable = PluginPropertyUtils.getPluginPropertyBuildable(prj, MavenNbModuleImpl.GROUPID_MOJO,
+                    MavenNbModuleImpl.NBM_PLUGIN, goal, builder);
+        }
+        return pluginPropertyBuildable;
+    }
+
+    static Plugin findPluginFromBuild(Build bld) {
+        Plugin plg = bld.findPluginById(MavenNbModuleImpl.GROUPID_APACHE, MavenNbModuleImpl.NBM_PLUGIN);
+        if (plg == null) {
+            plg = bld.findPluginById(MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+        }
+        return plg;
+    }
+
+    static Plugin findPluginFromPluginManagement(PluginManagement pm) {
+        Plugin plg = pm.findPluginById(MavenNbModuleImpl.GROUPID_APACHE, MavenNbModuleImpl.NBM_PLUGIN);
+        if (plg == null) {
+            plg = pm.findPluginById(MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+        }
+        return plg;
+    }
+
+    static String getPluginVersion(MavenProject prj) {
+        String version = PluginPropertyUtils.getPluginVersion(prj, MavenNbModuleImpl.GROUPID_APACHE, MavenNbModuleImpl.NBM_PLUGIN);
+        if (version == null) {
+            version = PluginPropertyUtils.getPluginVersion(prj, MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+        }
+        return version;
+    }
+
+}
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/PublicPackagesPanel.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/PublicPackagesPanel.java
index 686f539..d9cdbc3 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/PublicPackagesPanel.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/PublicPackagesPanel.java
@@ -31,7 +31,6 @@ import javax.xml.namespace.QName;
 import org.netbeans.api.project.Project;
 import org.netbeans.modules.maven.api.FileUtilities;
 import org.netbeans.modules.maven.api.ModelUtils;
-import org.netbeans.modules.maven.api.PluginPropertyUtils;
 import org.netbeans.modules.maven.api.customizer.ModelHandle2;
 import org.netbeans.modules.maven.api.customizer.support.SelectedItemsTable;
 import org.netbeans.modules.maven.api.customizer.support.SelectedItemsTable.SelectedItemsTableModel;
@@ -125,8 +124,8 @@ public class PublicPackagesPanel extends javax.swing.JPanel implements SelectedI
             pkgMap.put(pkgName, Boolean.FALSE);
         }
 
-        String[] publicPkgs = PluginPropertyUtils.getPluginPropertyList(project,
-                MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN, PUBLIC_PACKAGES, PUBLIC_PACKAGE,
+        String[] publicPkgs = PluginBackwardPropertyUtils.getPluginPropertyList(project,
+                PUBLIC_PACKAGES, PUBLIC_PACKAGE,
                 "manifest"); //NOI18N
 
         if (publicPkgs != null) {
@@ -174,7 +173,7 @@ public class PublicPackagesPanel extends javax.swing.JPanel implements SelectedI
 
         Plugin nbmPlugin = null;
         if (build != null) {
-            nbmPlugin = build.findPluginById(MavenNbModuleImpl.GROUPID_MOJO, MavenNbModuleImpl.NBM_PLUGIN);
+            nbmPlugin = PluginBackwardPropertyUtils.findPluginFromBuild(build);
         } else {
             build = pomModel.getFactory().createBuild();
             pomModel.getProject().setBuild(build);
@@ -184,7 +183,7 @@ public class PublicPackagesPanel extends javax.swing.JPanel implements SelectedI
             config = nbmPlugin.getConfiguration();
         } else {
             nbmPlugin = pomModel.getFactory().createPlugin();
-            nbmPlugin.setGroupId(MavenNbModuleImpl.GROUPID_MOJO);
+            nbmPlugin.setGroupId(MavenNbModuleImpl.GROUPID_APACHE);
             nbmPlugin.setArtifactId(MavenNbModuleImpl.NBM_PLUGIN);
             nbmPlugin.setExtensions(Boolean.TRUE);
             build.addPlugin(nbmPlugin);


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