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="[email protected]">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;
}