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

skygo pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/netbeans-mavenutils-nb-repository-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new 52a5b0d  cluster generation must use maven coordinate if available
     new 917eab1  Merge pull request #6 from ebarboni/clusterrewrite
52a5b0d is described below

commit 52a5b0d8b8c2886db8aaa1aeafce415392ba890d
Author: Eric Barboni <sk...@apache.org>
AuthorDate: Fri Jun 5 16:26:07 2020 +0200

    cluster generation must use maven coordinate if available
---
 .../nbm/repository/PopulateRepositoryMojo.java     | 109 ++++++++++++---------
 1 file changed, 62 insertions(+), 47 deletions(-)

diff --git 
a/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java 
b/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java
index 0e0af62..cb2ac49 100644
--- 
a/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java
+++ 
b/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java
@@ -83,7 +83,7 @@ import org.codehaus.plexus.util.IOUtil;
  * A goal for identifying NetBeans modules from the installation and 
populating the local
  * repository with them. Optionally you can also deploy to a remote repository.
  * <p>
- * If you are looking for an existing remote repository for NetBeans 
artifacts, check out <a href="https://search.maven.org/";>Maven Central</a>. 
+ * If you are looking for an existing remote repository for NetBeans 
artifacts, check out <a href="https://search.maven.org/";>Maven Central</a>.
  * <a 
href="http://bits.netbeans.org/nexus/content/groups/netbeans/";>http://bits.netbeans.org/nexus/content/groups/netbeans/</a>,
  * contains contains API artifacts for older NetBeans releases.
  * <a 
href="https://repository.apache.org/content/groups/snapshots";>https://repository.apache.org/content/groups/snapshots</a>
@@ -105,15 +105,15 @@ public class PopulateRepositoryMojo
     private static final String GROUP_EXTERNAL = ".external";
     private static final String GROUP_CLUSTER = ".cluster";
 
-    
+
     /**
-     * a prefix for groupId of generated content, 
+     * a prefix for groupId of generated content,
      * eg. for org.netbeans value will generate org.netbeans.cluster groupId 
for clusters and org.netbeans.modules for module artifacts.
      * @since 1.2
      */
     @Parameter( property = "groupIdPrefix", defaultValue = "org.netbeans" )
     private String groupIdPrefix;
-    
+
     /**
      * an url where to deploy the NetBeans artifacts. Optional, if not 
specified, the artifacts will be only installed
      * in local repository, if you need to give credentials to access remote 
repo, the id of the server is hardwired to "netbeans".
@@ -126,7 +126,7 @@ public class PopulateRepositoryMojo
      */
     @Parameter( defaultValue = "netbeans" , property = "deployId" )
     private String deployId;
-    
+
     /**
      * By default the generated metadata is installed in local repository.
      * Setting this parameter to false will avoid installing the bits. Only 
meaningful together with
@@ -195,7 +195,7 @@ public class PopulateRepositoryMojo
      * Only meaningful when {@code forcedVersion} is defined.
      * @since 3.7
      */
-    @Parameter( defaultValue = "true", property = "defineCluster" )   
+    @Parameter( defaultValue = "true", property = "defineCluster" )
     private boolean defineCluster;
 
     /**
@@ -224,7 +224,7 @@ public class PopulateRepositoryMojo
      */
     @Parameter( property = "parentGAV", required = false )
     private String parentGAV;
-    
+
     // <editor-fold defaultstate="collapsed" desc="Component parameters">
     /**
      * Local maven repository.
@@ -283,12 +283,12 @@ public class PopulateRepositoryMojo
         Project antProject = antProject();
         ArtifactRepository deploymentRepository = null;
 
-        if ( parentGAV != null ) 
+        if ( parentGAV != null )
         {
             // populate artefactParent
             artefactParent = new Parent();
             String[] split = parentGAV.split( ":" );
-            if ( split.length != 3 ) 
+            if ( split.length != 3 )
             {
                 throw new MojoExecutionException(
                     "parentGAV should respect the following format 
groupId:artefactId:version" );
@@ -385,7 +385,7 @@ public class PopulateRepositoryMojo
                 if ( "core-base".equals( artifact ) )
                 {
                     artifact = "org-netbeans-core-startup-base";
-                }                
+                }
                 String version = forcedVersion == null ? 
examinator.getSpecVersion() : forcedVersion;
                 String group = groupIdPrefix + ( examinator.isOsgiBundle() ? 
GROUP_EXTERNAL : examinator.hasPublicPackages() ? GROUP_API : GROUP_IMPL );
                 Artifact art = createArtifact( artifact, version, group );
@@ -395,7 +395,7 @@ public class PopulateRepositoryMojo
                     Dependency dep = findExternal( module );
                     if ( dep != null )
                     {
-                        
+
                         art = createArtifact( dep.getArtifactId(), 
dep.getVersion(), dep.getGroupId() );
                         group = dep.getGroupId();
                         version = dep.getVersion();
@@ -413,7 +413,7 @@ public class PopulateRepositoryMojo
                 col.add( wr );
             }
         }
-        
+
         File javadocRoot = null;
         if ( netbeansJavadocDirectory != null )
         {
@@ -453,10 +453,10 @@ public class PopulateRepositoryMojo
         Map<ModuleWrapper, Artifact> tobePopulated = new HashMap<>();
         // external artefacts
         Map<ModuleWrapper, Artifact> oncentralWrapper = new HashMap<>();
-        // triage 
-        for ( Map.Entry<ModuleWrapper, Artifact> entry : 
moduleDefinitions.entrySet() ) 
+        // triage
+        for ( Map.Entry<ModuleWrapper, Artifact> entry : 
moduleDefinitions.entrySet() )
         {
-            if ( entry.getKey() instanceof ModuleWrapperMaven ) 
+            if ( entry.getKey() instanceof ModuleWrapperMaven )
             {
                 oncentralWrapper.put( entry.getKey(), entry.getValue() );
             }
@@ -468,8 +468,8 @@ public class PopulateRepositoryMojo
         List<ExternalsWrapper> externals = new ArrayList<>();
         int count = tobePopulated.size() + 1;
         int index = 0;
-        
-        
+
+
         try
         {
             for ( Map.Entry<ModuleWrapper, Artifact> elem : 
tobePopulated.entrySet() )
@@ -553,7 +553,7 @@ public class PopulateRepositoryMojo
                                             b.append( ' ' );
                                         }
                                         b.append( dep.getGroupId() ).append( 
':' ).append( dep.getArtifactId() ).append( ':' ).append( dep.getVersion() );
-                                        if ( dep.getClassifier() != null ) 
+                                        if ( dep.getClassifier() != null )
                                         {
                                             b.append( ":" ).append( 
dep.getClassifier() );
                                         }
@@ -786,7 +786,7 @@ public class PopulateRepositoryMojo
         mavenModel.setVersion( wrapper.getVersion() );
         mavenModel.setPackaging( "jar" );
         mavenModel.setModelVersion( "4.0.0" );
-        if ( artefactParent != null ) 
+        if ( artefactParent != null )
         {
             mavenModel.setParent( artefactParent );
         }
@@ -806,8 +806,8 @@ public class PopulateRepositoryMojo
                     if ( wr instanceof ModuleWrapperMaven )
                     {
                        dep = ( ( ModuleWrapperMaven ) wr ).getDep();
-                    } 
-                    else 
+                    }
+                    else
                     {
                         dep = new Dependency();
                         dep.setArtifactId( wr.getArtifact() );
@@ -817,7 +817,7 @@ public class PopulateRepositoryMojo
                     dep.setType( "jar" );
                     //we don't want the API modules to depend on non-api ones..
                     // otherwise the transitive dependency mechanism pollutes 
your classpath..
-                    if ( wrapper.getModuleManifest().hasPublicPackages() 
+                    if ( wrapper.getModuleManifest().hasPublicPackages()
                             && !wr.getModuleManifest().hasPublicPackages() )
                     {
                         dep.setScope( "runtime" );
@@ -837,13 +837,13 @@ public class PopulateRepositoryMojo
                     dep.setVersion( forcedVersion );
                     ArtifactRepositoryPolicy policy = new 
ArtifactRepositoryPolicy();
                     List<ArtifactRepository> repos = Collections.singletonList(
-                            repositoryFactory.createArtifactRepository( 
+                            repositoryFactory.createArtifactRepository(
                                     dependencyRepositoryId, 
dependencyRepositoryUrl, artifactRepositoryLayout, policy, policy ) );
                     try
                     {
                         artifactResolver.resolve(
                                 artifactFactory.createBuildArtifact( 
groupIdPrefix + GROUP_API, artifactId, forcedVersion, "pom" ),
-                                repos, 
+                                repos,
                                 localRepository );
                         dep.setGroupId( groupIdPrefix + GROUP_API );
                     }
@@ -875,7 +875,7 @@ public class PopulateRepositoryMojo
                                 throw new MojoExecutionException( "No module 
found for dependency '" + elem + "'", x );
                             }
 
-                           
+
                         }
 
                     }
@@ -973,22 +973,22 @@ public class PopulateRepositoryMojo
         {
             List<String> content512 = Files.readAllLines( 
externallist.toPath() );
             MessageDigest shaDig = MessageDigest.getInstance( "SHA1" );
-            
+
             try ( InputStream is = new FileInputStream( f ); OutputStream os = 
new DigestOutputStream( new NullOutputStream(), shaDig ); )
             {
                 IOUtil.copy( is, os );
             }
             String sha1 = encode ( shaDig.digest() ).toUpperCase();
-            for ( String string : content512 ) 
+            for ( String string : content512 )
             {
-                if ( string.startsWith( "#" ) ) 
+                if ( string.startsWith( "#" ) )
                 {
                     continue;
                 }
                 String[] split = string.split( ";" );
-                if ( split[0].equals( sha1 ) && split[1].contains( ":" ) ) 
+                if ( split[0].equals( sha1 ) && split[1].contains( ":" ) )
                 {
-                    Dependency dep = splitDependencyString( split[1] );        
            
+                    Dependency dep = splitDependencyString( split[1] );
                     getLog().info( "found match " + dep.getGroupId() + ":" + 
dep.getArtifactId() + ":" + dep.getVersion() + " for " + f.getName() );
                     return dep;
                 }
@@ -1002,7 +1002,7 @@ public class PopulateRepositoryMojo
         return null;
     }
 
-    static Dependency splitDependencyString( String split ) 
+    static Dependency splitDependencyString( String split )
     {
         String[] splits = split.split( ":" );
         Dependency dep = new Dependency();
@@ -1022,11 +1022,11 @@ public class PopulateRepositoryMojo
             else
             {
                 dep.setClassifier( splits[3] );
-            }                        
+            }
         }
         return dep;
     }
-    
+
     File createExternalProject( ExternalsWrapper wrapper )
     {
         Model mavenModel = new Model();
@@ -1036,13 +1036,13 @@ public class PopulateRepositoryMojo
         mavenModel.setVersion( wrapper.getVersion() );
         mavenModel.setPackaging( "jar" );
         mavenModel.setModelVersion( "4.0.0" );
-        if ( artefactParent != null ) 
+        if ( artefactParent != null )
         {
             mavenModel.setParent( artefactParent );
         }
-        mavenModel.setName( 
+        mavenModel.setName(
             "Maven definition for " + wrapper.getFile().getName() + " - 
external part of NetBeans module." );
-        mavenModel.setDescription( 
+        mavenModel.setDescription(
             "POM and identification for artifact that was not possible to 
uniquely identify as a maven dependency." );
         FileWriter writer = null;
         File fil = null;
@@ -1086,7 +1086,7 @@ public class PopulateRepositoryMojo
 //        mavenModel.setPackaging("nbm-application");
         mavenModel.setPackaging( "pom" );
         mavenModel.setModelVersion( "4.0.0" );
-        if ( artefactParent != null ) 
+        if ( artefactParent != null )
         {
             mavenModel.setParent( artefactParent );
         }
@@ -1094,18 +1094,33 @@ public class PopulateRepositoryMojo
         for ( ModuleWrapper wr : mods )
         {
             Dependency dep = new Dependency();
-            dep.setArtifactId( wr.getArtifact() );
-            dep.setGroupId( wr.getGroup() );
-            dep.setVersion( wr.getVersion() );
             if ( wr.getModuleManifest().isNetBeansModule() )
             {
+                dep.setArtifactId( wr.getArtifact() );
+                dep.setGroupId( wr.getGroup() );
+                dep.setVersion( wr.getVersion() );
                 dep.setType( "nbm-file" );
             }
+            else if ( wr instanceof ModuleWrapperMaven )
+            {
+                ModuleWrapperMaven mwr = ( ModuleWrapperMaven ) wr;
+                dep.setArtifactId( mwr.getDep().getArtifactId() );
+                dep.setGroupId( mwr.getDep().getGroupId() );
+                dep.setVersion( mwr.getDep().getVersion() );
+                dep.setClassifier( mwr.getDep().getClassifier() );
+                dep.setScope( mwr.getDep().getScope());
+            }
+            else
+            {
+                dep.setArtifactId( wr.getArtifact() );
+                dep.setGroupId( wr.getGroup() );
+                dep.setVersion( wr.getVersion() );
+            }
             deps.add( dep );
         }
         mavenModel.setDependencies( deps );
-//        
-//        
+//
+//
 //        Build build = new Build();
 //        Plugin plg = new Plugin();
 //        plg.setGroupId("org.codehaus.mojo");
@@ -1145,7 +1160,7 @@ public class PopulateRepositoryMojo
     {
         return artifactFactory.createBuildArtifact( groupIdPrefix + 
GROUP_CLUSTER, artifact, version, "pom" );
     }
-    
+
     private static final Pattern PATTERN_CLUSTER = Pattern.compile( 
"([a-zA-Z]+)[0-9\\.]*" );
     static String stripClusterName( String key )
     {
@@ -1209,11 +1224,11 @@ public class PopulateRepositoryMojo
 
     }
 
-    private static class ModuleWrapperMaven extends ModuleWrapper 
+    private static class ModuleWrapperMaven extends ModuleWrapper
     {
 
         private final Dependency dep;
-        
+
         ModuleWrapperMaven( String art, String ver, String grp, 
ExamineManifest manifest, File fil, Dependency de )
         {
             super( art, ver, grp, manifest, fil );
@@ -1223,9 +1238,9 @@ public class PopulateRepositoryMojo
         public Dependency getDep()
         {
             return dep;
-        }        
+        }
     }
-    
+
     private static class ModuleWrapper
     {
 


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