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