Author: lcorneliussen
Date: Tue Jun 11 16:25:21 2013
New Revision: 1491865

URL: http://svn.apache.org/r1491865
Log:
[NPANDAY-402]: Add support to automatically attach PDB-symbols and 
Code-Documentation (comment.xml)

o make use of pdb-resolving in copy and list dependency-mojos

Added:
    
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/filter/DebugSymbolsArtifactFilter.java
      - copied, changed from r1491528, 
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/filter/DotnetLibraryArtifactFilter.java
Modified:
    
incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/CopyDependenciesMojo.java
    
incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/ListDependenciesMojo.java

Copied: 
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/filter/DebugSymbolsArtifactFilter.java
 (from r1491528, 
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/filter/DotnetLibraryArtifactFilter.java)
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/filter/DebugSymbolsArtifactFilter.java?p2=incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/filter/DebugSymbolsArtifactFilter.java&p1=incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/filter/DotnetLibraryArtifactFilter.java&r1=1491528&r2=1491865&rev=1491865&view=diff
==============================================================================
--- 
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/filter/DotnetLibraryArtifactFilter.java
 (original)
+++ 
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/filter/DebugSymbolsArtifactFilter.java
 Tue Jun 11 16:25:21 2013
@@ -19,6 +19,7 @@
 
 package npanday.resolver.filter;
 
+import npanday.ArtifactType;
 import npanday.ArtifactTypeHelper;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -26,11 +27,11 @@ import org.apache.maven.artifact.resolve
 /**
  * @author <a href="m...@lcorneliussen.de">Lars Corneliussen, Faktum 
Software</a>
  */
-public class DotnetLibraryArtifactFilter
+public class DebugSymbolsArtifactFilter
     implements ArtifactFilter
 {
     public boolean include( Artifact artifact )
     {
-        return ArtifactTypeHelper.isDotnetLibrary( artifact.getType() );
+        return artifact.getType() == 
ArtifactType.DOTNET_SYMBOLS.getPackagingType();
     }
 }

Modified: 
incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/CopyDependenciesMojo.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/CopyDependenciesMojo.java?rev=1491865&r1=1491864&r2=1491865&view=diff
==============================================================================
--- 
incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/CopyDependenciesMojo.java
 (original)
+++ 
incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/CopyDependenciesMojo.java
 Tue Jun 11 16:25:21 2013
@@ -25,6 +25,7 @@ import npanday.LocalRepositoryUtil;
 import npanday.PathUtil;
 import npanday.registry.RepositoryRegistry;
 import npanday.resolver.NPandayDependencyResolution;
+import npanday.resolver.filter.DebugSymbolsArtifactFilter;
 import npanday.resolver.filter.DotnetExecutableArtifactFilter;
 import npanday.resolver.filter.DotnetLibraryArtifactFilter;
 import npanday.resolver.filter.OrArtifactFilter;
@@ -92,6 +93,13 @@ public class CopyDependenciesMojo
     private String excludeScope;
 
     /**
+     * Specifies, if pdbs should be copied, too.
+     *
+     * @parameter default-value="true" expression="${includePdbs}"
+     */
+    private Boolean includePdbs;
+
+    /**
      * @component
      */
     private NPandayDependencyResolution dependencyResolution;
@@ -151,6 +159,11 @@ public class CopyDependenciesMojo
         OrArtifactFilter typeIncludes = new OrArtifactFilter();
         typeIncludes.add( new DotnetExecutableArtifactFilter() );
         typeIncludes.add( new DotnetLibraryArtifactFilter() );
+
+        if (includePdbs){
+            typeIncludes.add( new DebugSymbolsArtifactFilter() );
+        }
+
         includeFilter.add( typeIncludes );
 
         if ( !Strings.isNullOrEmpty( includeScope ) )
@@ -188,8 +201,12 @@ public class CopyDependenciesMojo
                 public boolean include( Artifact artifact )
                 {
                     for (MavenProject project : reactorProjects){
-                        if (project.getArtifact().getId().equals( 
artifact.getId() ))
+                        // we don't care about the type and the classifier here
+                        if (project.getGroupId().equals(artifact.getGroupId())
+                                && 
project.getArtifactId().equals(artifact.getArtifactId())
+                                && 
project.getVersion().equals(artifact.getVersion())){
                             return true;
+                        }
                     }
                     return false;
                 }

Modified: 
incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/ListDependenciesMojo.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/ListDependenciesMojo.java?rev=1491865&r1=1491864&r2=1491865&view=diff
==============================================================================
--- 
incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/ListDependenciesMojo.java
 (original)
+++ 
incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/ListDependenciesMojo.java
 Tue Jun 11 16:25:21 2013
@@ -142,6 +142,10 @@ public class ListDependenciesMojo
         Set<Artifact> artifacts;
         try
         {
+            // TODO: Workarround. Somehow in the first run, PDBs wont be part 
of the result!
+            dependencyResolution.require(
+                    project, LocalRepositoryUtil.create( localRepository ), 
includeFilter
+            );
             artifacts = dependencyResolution.require(
                 project, LocalRepositoryUtil.create( localRepository ), 
includeFilter
             );
@@ -154,7 +158,7 @@ public class ListDependenciesMojo
         }
 
         /**
-         * Should be resolved, but then not copied
+         * Should be resolved, but then not shown
          */
         if ( !Strings.isNullOrEmpty( excludeScope ) )
         {
@@ -169,8 +173,12 @@ public class ListDependenciesMojo
                 public boolean include( Artifact artifact )
                 {
                     for (MavenProject project : reactorProjects){
-                        if (project.getArtifact().getId().equals( 
artifact.getId() ))
+                        // we don't care about the type and the classifier here
+                        if (project.getGroupId().equals(artifact.getGroupId())
+                                && 
project.getArtifactId().equals(artifact.getArtifactId())
+                                && 
project.getVersion().equals(artifact.getVersion())){
                             return true;
+                        }
                     }
                     return false;
                 }


Reply via email to