Author: lcorneliussen
Date: Tue Jun 11 12:16:09 2013
New Revision: 1491763
URL: http://svn.apache.org/r1491763
Log:
[NPANDAY-402]: Add support to automatically attach PDB-symbols and
Code-Documentation (comment.xml)
Submitted by: Victor Stefoglo and Valerijus Drozdovas
o resolve PDBs along with DLL dependencies
Added:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/PdbAssemblyResolver.java
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/ArtifactTypeHelper.java
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/ArtifactResolvingContributor.java
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/DefaultNPandayArtifactResolver.java
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayArtifactResolver.java
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayDependencyResolution.java
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayResolutionListener.java
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/ComReferenceResolver.java
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/GacResolver.java
incubator/npanday/trunk/components/dotnet-core/src/main/resources/META-INF/plexus/components.xml
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/ArtifactTypeHelper.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/ArtifactTypeHelper.java?rev=1491763&r1=1491762&r2=1491763&view=diff
==============================================================================
---
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/ArtifactTypeHelper.java
(original)
+++
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/ArtifactTypeHelper.java
Tue Jun 11 12:16:09 2013
@@ -128,4 +128,15 @@ public class ArtifactTypeHelper
|| packaging.equals( ArtifactType.GAC_32_4)
|| packaging.equals( ArtifactType.GAC_64_4);
}
+
+ public static boolean isComReference(String packaging)
+ {
+ return
isComReference(ArtifactType.getArtifactTypeForPackagingName(packaging));
+ }
+
+ public static boolean isComReference(ArtifactType artifactType)
+ {
+ return artifactType.equals( ArtifactType.COM_REFERENCE );
+ }
+
}
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/ArtifactResolvingContributor.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/ArtifactResolvingContributor.java?rev=1491763&r1=1491762&r2=1491763&view=diff
==============================================================================
---
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/ArtifactResolvingContributor.java
(original)
+++
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/ArtifactResolvingContributor.java
Tue Jun 11 12:16:09 2013
@@ -20,8 +20,10 @@
package npanday.resolver;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import java.util.List;
import java.util.Set;
/**
@@ -32,10 +34,25 @@ public interface ArtifactResolvingContri
String role = ArtifactResolvingContributor.class.getName();
/**
- * Tries to contribute to resolving the artifact. If it is successful, the
- * artifact should be set to resolved, and a file should be passed to it.
+ * Tries to resolve the contributor artifact. If it is successful, the
+ * artifact should be set to resolved, and a file should be passed to
it.<br>
*
- * @param artifact
+ * <b>Note:</b><i>run before maven artifact resolver.</i>
+ * @param artifact the artifact to be resolved.
+ * @param additionalDependenciesCollector additional dependencies of
resolved artifact.
*/
- void contribute(Artifact artifact, Set<Artifact>
additionalDependenciesCollector ) throws ArtifactNotFoundException;
+ void tryResolve(Artifact artifact, Set<Artifact>
additionalDependenciesCollector ) throws ArtifactNotFoundException;
+
+ /**
+ * Contribute with additional dependencies for resolved artifact.<br>
+ *
+ * <b>Note:</b><i>run after maven artifact resolver.</i>
+ * @param artifact resolved artifact.
+ * @param localRepository maven local repository.
+ * @param remoteRepositories maven remote repositories.
+ * @param additionalDependenciesCollector additional dependencies of
resolved artifact.
+ * @throws ArtifactNotFoundException
+ */
+ void contribute(Artifact artifact, ArtifactRepository localRepository,
+ List remoteRepositories, Set<Artifact>
additionalDependenciesCollector) throws ArtifactNotFoundException;
}
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/DefaultNPandayArtifactResolver.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/DefaultNPandayArtifactResolver.java?rev=1491763&r1=1491762&r2=1491763&view=diff
==============================================================================
---
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/DefaultNPandayArtifactResolver.java
(original)
+++
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/DefaultNPandayArtifactResolver.java
Tue Jun 11 12:16:09 2013
@@ -19,6 +19,7 @@
package npanday.resolver;
+import com.google.common.base.Predicate;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import npanday.resolver.resolvers.GacResolver;
@@ -50,6 +51,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import javax.annotation.Nullable;
+
/**
* Wraps the default Maven artifact resolver and executes all implementations
* of {@link npanday.resolver.ArtifactResolvingContributor} for each artiact.
@@ -67,6 +70,8 @@ public class DefaultNPandayArtifactResol
private PlexusContainer container;
private Set<Artifact> customResolveCache = Sets.newHashSet();
+
+ private Set<Artifact> customDependenciesCache = Sets.newHashSet();
public void resolve( Artifact artifact, List remoteRepositories,
ArtifactRepository localRepository ) throws
ArtifactResolutionException,
@@ -77,6 +82,8 @@ public class DefaultNPandayArtifactResol
original.resolve(
artifact, remoteRepositories, localRepository
);
+
+ runCustomDependencyContributors(artifact, localRepository,
remoteRepositories);
}
public void resolveAlways( Artifact artifact, List remoteRepositories,
ArtifactRepository localRepository ) throws
@@ -88,6 +95,8 @@ public class DefaultNPandayArtifactResol
original.resolveAlways(
artifact, remoteRepositories, localRepository
);
+
+ runCustomDependencyContributors(artifact, localRepository,
remoteRepositories);
}
public ArtifactResolutionResult resolveTransitively(
@@ -96,22 +105,25 @@ public class DefaultNPandayArtifactResol
ArtifactResolutionException,
ArtifactNotFoundException
{
- listeners = intercept( listeners, filter );
+ listeners = intercept( listeners, filter, localRepository,
remoteRepositories );
return original.resolveTransitively(
artifacts, originatingArtifact, managedVersions, localRepository,
remoteRepositories, source, filter,
listeners
);
+
}
- private List intercept( List listeners, ArtifactFilter filter )
+ private List intercept( List listeners, ArtifactFilter filter,
ArtifactRepository localRepository,
+ List remoteRepositories )
{
if (listeners == null)
listeners = Lists.newArrayList();
- NPandayResolutionListener listener = new
NPandayResolutionListener(this, filter);
+ NPandayResolutionListener listener = new
NPandayResolutionListener(this, filter, localRepository,
+ remoteRepositories);
listener.enableLogging( getLogger() );
listeners.add( listener );
@@ -123,6 +135,16 @@ public class DefaultNPandayArtifactResol
{
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY
);
}
+
+ public void runArtifactContributors(Artifact artifact, ArtifactRepository
localRepository,
+ List remoteRepositories) throws ArtifactNotFoundException
+ {
+ if(artifact.isResolved()) {
+ runCustomDependencyContributors(artifact, localRepository,
remoteRepositories);
+ } else {
+ runCustomResolvers(artifact);
+ }
+ }
protected void runCustomResolvers( Artifact artifact ) throws
ArtifactNotFoundException
{
@@ -138,15 +160,7 @@ public class DefaultNPandayArtifactResol
for ( ArtifactResolvingContributor contributor : contributors )
{
Set<Artifact> additionalDependenciesCollector = Sets.newHashSet();
- contributor.contribute( artifact, additionalDependenciesCollector
);
-
- if ( additionalDependenciesCollector.size() > 0 )
- {
- getLogger().error(
- "NPANDAY-147-006: " + artifact.getId()
- + " required additional dependencies to be added, but
we do not support that yet."
- );
- }
+ contributor.tryResolve( artifact, additionalDependenciesCollector
);
if ( artifact.isResolved() )
{
@@ -156,12 +170,55 @@ public class DefaultNPandayArtifactResol
"NPANDAY-147-001: " + contributor.getClass().getName() + "
resolved " + artifact.getId() + " to "
+ artifact.getFile()
);
-
+
+ if ( additionalDependenciesCollector.size() > 0 )
+ {
+
addContributeArtifactsToDependenciesCache(additionalDependenciesCollector);
+ }
return;
}
}
}
+
+ protected void runCustomDependencyContributors(Artifact artifact,
ArtifactRepository localRepository, List remoteRepositories) throws
ArtifactNotFoundException
+ {
+ if ( !artifact.isResolved() )
+ {
+ throw new IllegalArgumentException(
+ String.format("NPANDAY-147-008: Artifact[groupId:'%s',
artifactId:'%s', type:'%s', version:'%s']" +
+ " could not be unresoved",
+ artifact.getGroupId(), artifact.getArtifactId(),
artifact.getType(), artifact.getVersion()));
+ }
+
+ for ( ArtifactResolvingContributor contributor : contributors )
+ {
+ Set<Artifact> additionalDependenciesCollector = Sets.newHashSet();
+ contributor.contribute(artifact, localRepository,
remoteRepositories, additionalDependenciesCollector);
+
+ if ( additionalDependenciesCollector.size() > 0 )
+ {
+
addContributeArtifactsToDependenciesCache(additionalDependenciesCollector);
+ }
+ }
+
+ }
+
+ private void addContributeArtifactsToDependenciesCache(Set<Artifact>
artifacts)
+ {
+ if (artifacts == null || artifacts.isEmpty())
+ {
+ return;
+ }
+
+ Set<Artifact> resolvedArtifacts = Sets.filter(artifacts, new
Predicate<Artifact>(){
+ public boolean apply(@Nullable Artifact artifact) {
+ return artifact !=null && artifact.isResolved()
&& artifact.getFile() != null
+ && artifact.getFile().exists();
+ }});
+
+ customDependenciesCache.addAll(resolvedArtifacts);
+ }
public void initialize() throws InitializationException
{
@@ -248,4 +305,9 @@ public class DefaultNPandayArtifactResol
{
return customResolveCache;
}
+
+ public Set<Artifact> getCustomDependenciesCache()
+ {
+ return customDependenciesCache;
+ }
}
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayArtifactResolver.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayArtifactResolver.java?rev=1491763&r1=1491762&r2=1491763&view=diff
==============================================================================
---
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayArtifactResolver.java
(original)
+++
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayArtifactResolver.java
Tue Jun 11 12:16:09 2013
@@ -64,5 +64,10 @@ public interface NPandayArtifactResolver
* something with the ones relevant to your context.
*/
public Set<Artifact> getCustomResolveCache();
+
+ /**
+ * Custom artifacts dependencies resolved by contributors.
+ */
+ public Set<Artifact> getCustomDependenciesCache();
}
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayDependencyResolution.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayDependencyResolution.java?rev=1491763&r1=1491762&r2=1491763&view=diff
==============================================================================
---
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayDependencyResolution.java
(original)
+++
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayDependencyResolution.java
Tue Jun 11 12:16:09 2013
@@ -94,8 +94,13 @@ public class NPandayDependencyResolution
* */
addResolvedSpecialsToProjectDependencies( project, result );
-
- return result.getArtifacts();
+ // Add custom contribute dependencies to maven project
dependencies
+
project.getDependencyArtifacts().addAll(artifactResolver.getCustomDependenciesCache());
+
+ Set<Artifact> resultRequire =
Sets.newLinkedHashSet(result.getArtifacts());
+
resultRequire.addAll(artifactResolver.getCustomDependenciesCache());
+
+ return resultRequire;
}
catch ( ArtifactResolutionException e )
{
@@ -128,6 +133,7 @@ public class NPandayDependencyResolution
project.getDependencyArtifacts().add( a );
}
}
+
}
private void createArtifactsForMaven2BackCompat( MavenProject project )
throws InvalidVersionSpecificationException
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayResolutionListener.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayResolutionListener.java?rev=1491763&r1=1491762&r2=1491763&view=diff
==============================================================================
---
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayResolutionListener.java
(original)
+++
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/NPandayResolutionListener.java
Tue Jun 11 12:16:09 2013
@@ -19,7 +19,10 @@
package npanday.resolver;
+import java.util.List;
+
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ResolutionListener;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -36,11 +39,18 @@ public class NPandayResolutionListener
private DefaultNPandayArtifactResolver resolver;
private ArtifactFilter filter;
+
+ private ArtifactRepository localRepository;
+
+ private List remoteRepositories;
- public NPandayResolutionListener( DefaultNPandayArtifactResolver resolver,
ArtifactFilter filter )
+ public NPandayResolutionListener( DefaultNPandayArtifactResolver resolver,
ArtifactFilter filter,
+ ArtifactRepository localRepository, List remoteRepositories )
{
this.resolver = resolver;
this.filter = filter;
+ this.localRepository = localRepository;
+ this.remoteRepositories = remoteRepositories;
}
public void testArtifact( Artifact node )
@@ -52,7 +62,7 @@ public class NPandayResolutionListener
try
{
- resolver.runCustomResolvers( node );
+ resolver.runArtifactContributors( node, localRepository,
remoteRepositories );
}
catch ( ArtifactNotFoundException e )
{
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/ComReferenceResolver.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/ComReferenceResolver.java?rev=1491763&r1=1491762&r2=1491763&view=diff
==============================================================================
---
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/ComReferenceResolver.java
(original)
+++
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/ComReferenceResolver.java
Tue Jun 11 12:16:09 2013
@@ -19,8 +19,10 @@
package npanday.resolver.resolvers;
+import npanday.ArtifactTypeHelper;
import npanday.resolver.ArtifactResolvingContributor;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.Os;
import org.codehaus.plexus.util.cli.CommandLineException;
@@ -47,14 +49,20 @@ public class ComReferenceResolver
extends AbstractLogEnabled
implements ArtifactResolvingContributor
{
- public void contribute( Artifact artifact, Set<Artifact>
additionalDependenciesCollector )
+ public void contribute(Artifact artifact, ArtifactRepository
localRepository, List remoteRepositories,
+ Set<Artifact> additionalDependenciesCollector)
+ {
+ // NO-OP
+ }
+
+ public void tryResolve( Artifact artifact, Set<Artifact>
additionalDependenciesCollector )
{
// resolve com reference
// flow:
// 1. generate the interop dll in temp folder and resolve to that path
during dependency resolution
// 2. cut and paste the dll to buildDirectory and update the paths
once we grab the reference of
// MavenProject (CompilerContext.java)
- if ( artifact.getType().equals( "com_reference" ) )
+ if ( ArtifactTypeHelper.isComReference(artifact.getType()) )
{
String tokenId = artifact.getClassifier();
String interopPath = null;
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/GacResolver.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/GacResolver.java?rev=1491763&r1=1491762&r2=1491763&view=diff
==============================================================================
---
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/GacResolver.java
(original)
+++
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/GacResolver.java
Tue Jun 11 12:16:09 2013
@@ -23,9 +23,11 @@ import npanday.ArtifactTypeHelper;
import npanday.PathUtil;
import npanday.resolver.ArtifactResolvingContributor;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import java.io.File;
+import java.util.List;
import java.util.Set;
/**
@@ -34,7 +36,7 @@ import java.util.Set;
public class GacResolver
implements ArtifactResolvingContributor
{
- public void contribute( Artifact artifact, Set<Artifact>
additionalDependenciesCollector ) throws
+ public void tryResolve( Artifact artifact, Set<Artifact>
additionalDependenciesCollector ) throws
ArtifactNotFoundException
{
@@ -69,4 +71,10 @@ public class GacResolver
}
}
+
+ public void contribute(Artifact artifact, ArtifactRepository
localRepository, List remoteRepositories,
+ Set<Artifact> additionalDependenciesCollector) throws
ArtifactNotFoundException
+ {
+ // NO-OP
+ }
}
Added:
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/PdbAssemblyResolver.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/PdbAssemblyResolver.java?rev=1491763&view=auto
==============================================================================
---
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/PdbAssemblyResolver.java
(added)
+++
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/resolver/resolvers/PdbAssemblyResolver.java
Tue Jun 11 12:16:09 2013
@@ -0,0 +1,87 @@
+package npanday.resolver.resolvers;
+
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+
+import npanday.ArtifactType;
+import npanday.ArtifactTypeHelper;
+import npanday.resolver.ArtifactResolvingContributor;
+
+/**
+ * PDB assemblies contributor class.
+ */
+public class PdbAssemblyResolver extends AbstractLogEnabled implements
ArtifactResolvingContributor
+{
+
+ ArtifactResolver mavenResolver;
+ ArtifactFactory artifactFactory;
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void tryResolve(Artifact artifact, Set<Artifact>
additionalDependenciesCollector)
+ throws ArtifactNotFoundException
+ {
+ // NO-OP
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void contribute(Artifact artifact, ArtifactRepository
localRepository,
+ @SuppressWarnings("rawtypes") List remoteRepositories,
+ Set<Artifact> additionalDependenciesCollector) throws
ArtifactNotFoundException
+ {
+ final ArtifactType artifactType =
ArtifactType.getArtifactTypeForPackagingName(artifact.getType());
+ if ( !ArtifactTypeHelper.isDotnetAnyGac(artifactType) &&
+ !ArtifactTypeHelper.isComReference(artifactType) &&
+ artifactType != ArtifactType.NULL &&
+ artifactType != ArtifactType.DOTNET_SYMBOLS)
+ {
+ tryResolveArtifactPdbAssembly(artifact, localRepository,
remoteRepositories,
+ additionalDependenciesCollector);
+ }
+ }
+
+
+ /**
+ * Try to resolve PDB artifact for given artifact.
+ * @param artifact
+ * @param localRepository
+ * @param remoteRepositories
+ * @param additionalDependenciesCollector
+ * @throws ArtifactNotFoundException
+ */
+ private void tryResolveArtifactPdbAssembly(Artifact artifact,
ArtifactRepository localRepository,
+ List remoteRepositories, Set<Artifact>
additionalDependenciesCollector) throws ArtifactNotFoundException
+ {
+ Artifact pdbArtifact =
artifactFactory.createArtifactWithClassifier(artifact.getGroupId(),
artifact.getArtifactId(),
+ artifact.getVersion(),
ArtifactType.DOTNET_SYMBOLS.getPackagingType(), artifact.getClassifier());
+ boolean pdbArtifactFound = true;
+ try {
+ mavenResolver.resolve(pdbArtifact, remoteRepositories,
localRepository);
+ } catch (ArtifactNotFoundException e) {
+ // Ignore PDF assembly not found exception
+ pdbArtifactFound = false;
+ } catch (ArtifactResolutionException e) {
+ throw new ArtifactNotFoundException(e.getMessage(), artifact);
+ }
+
+ if (pdbArtifactFound)
+ {
+ additionalDependenciesCollector.add(pdbArtifact);
+ }
+
+ }
+
+}
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/resources/META-INF/plexus/components.xml
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/resources/META-INF/plexus/components.xml?rev=1491763&r1=1491762&r2=1491763&view=diff
==============================================================================
---
incubator/npanday/trunk/components/dotnet-core/src/main/resources/META-INF/plexus/components.xml
(original)
+++
incubator/npanday/trunk/components/dotnet-core/src/main/resources/META-INF/plexus/components.xml
Tue Jun 11 12:16:09 2013
@@ -56,5 +56,19 @@
<role-hint>com</role-hint>
<implementation>npanday.resolver.resolvers.ComReferenceResolver</implementation>
</component>
+
+ <component>
+ <role>npanday.resolver.ArtifactResolvingContributor</role>
+ <role-hint>pdb</role-hint>
+
<implementation>npanday.resolver.resolvers.PdbAssemblyResolver</implementation>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.artifact.resolver.ArtifactResolver</role>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+ </requirement>
+ </requirements>
+ </component>
</components>
</component-set>