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 2020/03/22 20:49:35 UTC

[netbeans-mavenutils-nb-repository-plugin] branch master updated: add test and better dependency identification (#5)

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 2b61d7a  add test and better dependency identification (#5)
2b61d7a is described below

commit 2b61d7ab4270ca450467d23463385a6d73806c33
Author: Eric Barboni <sk...@apache.org>
AuthorDate: Sun Mar 22 21:49:28 2020 +0100

    add test and better dependency identification (#5)
---
 .../nbm/repository/PopulateRepositoryMojo.java     | 38 ++++++++++++++++++----
 .../nbm/repository/PopulateRepositoryMojoTest.java | 32 ++++++++++++++----
 2 files changed, 56 insertions(+), 14 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 f4ebcd5..0e0af62 100644
--- a/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java
+++ b/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java
@@ -981,16 +981,15 @@ public class PopulateRepositoryMojo
             String sha1 = encode ( shaDig.digest() ).toUpperCase();
             for ( String string : content512 ) 
             {
+                if ( string.startsWith( "#" ) ) 
+                {
+                    continue;
+                }
                 String[] split = string.split( ";" );
                 if ( split[0].equals( sha1 ) && split[1].contains( ":" ) ) 
                 {
-                    String[] splits = split[1].split( ":" );
-                    Dependency dep = new Dependency();
-                    dep.setArtifactId( splits[1] );
-                    dep.setGroupId( splits[0] );
-                    dep.setVersion( splits[2] );
-                    dep.setType( "jar" );
-                    getLog().info( "found match " + splits[0] + ":" + splits[1] + ":" + splits[2] + " for " + f.getName() );
+                    Dependency dep = splitDependencyString( split[1] );                    
+                    getLog().info( "found match " + dep.getGroupId() + ":" + dep.getArtifactId() + ":" + dep.getVersion() + " for " + f.getName() );
                     return dep;
                 }
             }
@@ -1003,6 +1002,31 @@ public class PopulateRepositoryMojo
         return null;
     }
 
+    static Dependency splitDependencyString( String split ) 
+    {
+        String[] splits = split.split( ":" );
+        Dependency dep = new Dependency();
+        dep.setArtifactId( splits[1] );
+        dep.setGroupId( splits[0] );
+        dep.setVersion( splits[2] );
+        dep.setType( "jar" );
+        dep.setClassifier( "" );
+        if ( splits.length > 3 )
+        {
+            String[] split2 = splits[3].split( "@" );
+            if ( split2.length > 1 )
+            {
+                dep.setClassifier( split2[0] );
+                dep.setType( split2[1] );
+            }
+            else
+            {
+                dep.setClassifier( splits[3] );
+            }                        
+        }
+        return dep;
+    }
+    
     File createExternalProject( ExternalsWrapper wrapper )
     {
         Model mavenModel = new Model();
diff --git a/src/test/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojoTest.java b/src/test/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
index 516c4a1..5a6ab2a 100644
--- a/src/test/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
+++ b/src/test/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
@@ -19,14 +19,8 @@ package org.apache.netbeans.nbm.repository;
  * under the License.
  */
 
-import org.apache.netbeans.nbm.repository.PopulateRepositoryMojo;
-import java.io.File;
 import junit.framework.TestCase;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
-import org.codehaus.plexus.util.FileUtils;
+import org.apache.maven.model.Dependency;
 
 /**
  * 
@@ -59,6 +53,30 @@ public class PopulateRepositoryMojoTest extends TestCase /** AbstractMojoTestCas
 ////        assertTrue( new File( repo, "testgrp/testarg/1.0/testarg-1.0.nbm" ).isFile() );
 ////        assertFalse( new File( repo, "testgrp/testarg/1.0/testarg-1.0.jar" ).isFile() );
     }
+    
+    public void testSplit() throws Exception
+    {
+        Dependency dep1 = PopulateRepositoryMojo.splitDependencyString("org.apache.maven:apache-maven:3.6.3:bin@zip");
+        assertEquals("org.apache.maven", dep1.getGroupId() );
+        assertEquals("apache-maven", dep1.getArtifactId());
+        assertEquals("3.6.3", dep1.getVersion());
+        assertEquals("bin", dep1.getClassifier());
+        assertEquals("zip", dep1.getType());
+        
+        Dependency dep2 = PopulateRepositoryMojo.splitDependencyString("org.apache.maven:apache-maven:3.6.3:myclassifier");
+        assertEquals("org.apache.maven", dep2.getGroupId() );
+        assertEquals("apache-maven", dep2.getArtifactId());
+        assertEquals("3.6.3", dep2.getVersion());
+        assertEquals("myclassifier", dep2.getClassifier());
+        assertEquals("jar", dep2.getType());
+        
+        Dependency dep3 = PopulateRepositoryMojo.splitDependencyString("org.apache.maven:apache-maven:3.6.3");
+        assertEquals("org.apache.maven", dep3.getGroupId() );
+        assertEquals("apache-maven", dep3.getArtifactId());
+        assertEquals("3.6.3", dep3.getVersion());
+        assertEquals("", dep3.getClassifier());
+        assertEquals("jar", dep3.getType());
+    }
 
     public void testEncode() throws Exception
     {


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