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/06/06 16:30:04 UTC
svn commit: r544877 - in
/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl:
ArtifactContextImpl.java AssemblyResolverImpl.java
Author: sisbell
Date: Wed Jun 6 09:30:02 2007
New Revision: 544877
URL: http://svn.apache.org/viewvc?view=rev&rev=544877
Log:
Fixed the issue with 0KB downloads in JIRA: NMAVEN-75. Needed to explicitly copy the snaphot file to a file without a version. The ArtifactResolver handled this correctly for release version but not snapshots.
Modified:
incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java
incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java?view=diff&rev=544877&r1=544876&r2=544877
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java Wed Jun 6 09:30:02 2007
@@ -287,7 +287,6 @@
map.put( artifactHandler.getPackaging(), artifactHandler );
}
}
-
artifactHandlerManager.addHandlers( map );
}
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java?view=diff&rev=544877&r1=544876&r2=544877
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java Wed Jun 6 09:30:02 2007
@@ -31,17 +31,21 @@
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.model.Dependency;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.util.FileUtils;
import java.util.Set;
import java.util.HashSet;
import java.util.List;
import java.io.File;
+import java.io.IOException;
/**
* Provides a way to resolve transitive assemblies that do not have versions within their file name.
@@ -126,28 +130,55 @@
artifactDependencies.add( artifact );
}
}
+ ArtifactRepository artifactRepository = new DefaultArtifactRepository( "local", "file://" +
+ localArtifactRepository.getBasedir(), new DefaultRepositoryLayout() );
ArtifactResolutionResult result = resolver.resolveTransitively( artifactDependencies, sourceArtifact,
- localArtifactRepository,
- remoteArtifactRepositories, metadata,
- gacFilter );
+ artifactRepository, remoteArtifactRepositories,
+ metadata, gacFilter );
Set<Artifact> resolvedDependencies = result.getArtifacts();
AssemblyRepositoryLayout layout = new AssemblyRepositoryLayout();
- if ( addResolvedDependenciesToProject )
+ for ( Artifact artifact : resolvedDependencies )
{
- for ( Artifact artifact : resolvedDependencies )
+ File originalFileWithVersion = artifact.getFile();
+ if ( artifact.isSnapshot() )
+ {
+ artifact.setVersion( artifact.getBaseVersion() );
+ }
+ File targetFileWithoutVersion =
+ new File( localArtifactRepository.getBasedir() + "/" + layout.pathOf( artifact ) );
+ if ( originalFileWithVersion.lastModified() > targetFileWithoutVersion.lastModified() )
{
- File originalFileWithVersion = artifact.getFile();
- File targetFileWithoutVersion = new File( localArtifactRepository + "/" + layout.pathOf( artifact ) );
- // logger.info( "Original = " + originalFileWithVersion.getAbsolutePath() + ", Target = " +
- // targetFileWithoutVersion.getAbsolutePath() );
- originalFileWithVersion.renameTo( targetFileWithoutVersion );
- if ( targetFileWithoutVersion.exists() )
+ logger.debug( "Original = " + originalFileWithVersion.getAbsolutePath() + ", Target = " +
+ targetFileWithoutVersion.getAbsolutePath() );
+ try
+ {
+ FileUtils.copyFile( originalFileWithVersion, targetFileWithoutVersion );
+ }
+ catch ( IOException e )
{
- artifact.setFile( targetFileWithoutVersion.getAbsoluteFile() );
+ e.printStackTrace();
}
}
+ /*
+ if ( !originalFileWithVersion.renameTo( targetFileWithoutVersion ) )
+ {
+ throw new ArtifactResolutionException( "NMAVEN-000-000: Failed to rename artifact", artifact );
+ }
+ */
+ if ( originalFileWithVersion.length() != 0 && targetFileWithoutVersion.length() == 0 )
+ {
+ throw new ArtifactResolutionException( "NMAVEN-000-000: Artifact is corrupted:", artifact );
+ }
+
+ if ( targetFileWithoutVersion.exists() )
+ {
+ artifact.setFile( targetFileWithoutVersion.getAbsoluteFile() );
+ }
+ }
+ if ( addResolvedDependenciesToProject )
+ {
resolvedDependencies.addAll( gacDependencies );
project.setDependencyArtifacts( resolvedDependencies );
}