You are viewing a plain text version of this content. The canonical link for it is here.
Posted to nmaven-commits@incubator.apache.org by si...@apache.org on 2007/02/26 18:04:53 UTC
svn commit: r511935 -
/incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
Author: sisbell
Date: Mon Feb 26 10:04:52 2007
New Revision: 511935
URL: http://svn.apache.org/viewvc?view=rev&rev=511935
Log:
Fixed artifact installer to handle GAC: it removes the GAC dependency before installing into local repo.
Modified:
incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java?view=diff&rev=511935&r1=511934&r2=511935
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java Mon Feb 26 10:04:52 2007
@@ -24,6 +24,7 @@
import org.apache.maven.dotnet.artifact.ApplicationConfig;
import org.apache.maven.project.MavenProject;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.installer.ArtifactInstallationException;
@@ -45,6 +46,7 @@
import java.io.FileReader;
import java.util.List;
import java.util.ArrayList;
+import java.util.Collections;
/**
* Provides an implementation of the <code>ArtifactInstaller</code> interface.
@@ -121,6 +123,18 @@
ApplicationConfig applicationConfig = artifactContext.getApplicationConfigFor( artifact );
File configExeFile = new File( applicationConfig.getConfigDestinationPath() );
+ //TODO: Remove GAC dependencies before installing. This should be removed and replaced with solution in the core.
+ artifact.getMetadataList().clear();
+ try
+ {
+ artifact.addMetadata( createArtifactMetadataFor( artifact, pomFile, project.getDependencies() ) );
+ }
+ catch ( IOException e )
+ {
+ throw new ArtifactInstallationException( "NMAVEN-002-001: Unable to add metadata to artifact", e );
+ }
+ //End GAC HACK
+
if ( configExeFile.exists() )
{
logger.info( "NMAVEN-002-000: Found config executable: File = " + configExeFile.getAbsolutePath() );
@@ -343,10 +357,21 @@
e.printStackTrace();
throw new IOException( "NMAVEN-002-013: Unable to read pom file" );
}
+ List<Dependency> dest = new ArrayList<Dependency>();
+ dest.addAll( model.getDependencies());
+ for ( Dependency dependency : dest )
+ {
+ model.removeDependency( dependency );
+ }
for ( Dependency dependency : dependencies )
{
- model.addDependency( dependency );
+ //TODO: This condition is only here since transitive gac dependencies break the build. This needs to be fixed
+ //within the core.
+ if ( !dependency.getType().equals( "gac" ) )
+ {
+ model.addDependency( dependency );
+ }
}
File tempFile = File.createTempFile( "mvninstall", ".pom" );