From 11e6a0366c5c070d4d2742bb84bd38c0e4403804 Mon Sep 17 00:00:00 2001 From: Mark Donszelmann Date: Sat, 19 Dec 2009 08:18:39 +0100 Subject: Fixed NAR-21 --- .../org/apache/maven/plugin/nar/NarManager.java | 27 +++++++--------------- 1 file changed, 8 insertions(+), 19 deletions(-) (limited to 'src/main/java/org/apache/maven/plugin/nar/NarManager.java') diff --git a/src/main/java/org/apache/maven/plugin/nar/NarManager.java b/src/main/java/org/apache/maven/plugin/nar/NarManager.java index 4e75cd4..ee3cbdb 100644 --- a/src/main/java/org/apache/maven/plugin/nar/NarManager.java +++ b/src/main/java/org/apache/maven/plugin/nar/NarManager.java @@ -232,8 +232,9 @@ public class NarManager classifier = NarUtil.replace( "${aol}", aol.toString(), classifier ); } String version = nar.length >= 5 ? nar[4].trim() : dependency.getVersion(); + File file = dependency.getFile(); artifactList.add( new AttachedNarArtifact( groupId, artifactId, version, dependency.getScope(), - ext, classifier, dependency.isOptional() ) ); + ext, classifier, dependency.isOptional(), file ) ); } catch ( InvalidVersionSpecificationException e ) { @@ -258,12 +259,7 @@ public class NarManager // of getBaseVersion, called in pathOf. dependency.isSnapshot(); - File file = new File( repository.getBasedir(), repository.pathOf( dependency ) ); - if ( !file.exists() ) - { - return null; - } - + File file = dependency.getFile(); JarFile nar = null; try { @@ -297,16 +293,6 @@ public class NarManager } } - public final File getNarFile( Artifact dependency ) - throws MojoFailureException - { - // FIXME reported to maven developer list, isSnapshot changes behaviour - // of getBaseVersion, called in pathOf. - dependency.isSnapshot(); - return new File( repository.getBasedir(), NarUtil.replace( "${aol}", defaultAOL.toString(), - repository.pathOf( dependency ) ) ); - } - private List getDependencies( String scope ) { if ( scope.equals( Artifact.SCOPE_TEST ) ) @@ -338,6 +324,10 @@ public class NarManager for ( Iterator i = dependencies.iterator(); i.hasNext(); ) { Artifact dependency = (Artifact) i.next(); + File file = dependency.getFile(); + if ( file != null && file.exists() ) + continue; + try { log.debug( "Resolving " + dependency ); @@ -372,9 +362,8 @@ public class NarManager { Artifact dependency = (Artifact) i.next(); log.debug( "Unpack " + dependency ); - File file = getNarFile( dependency ); - layout.unpackNar(unpackDir, archiverManager, file, os, linkerName, defaultAOL); + layout.unpackNar( unpackDir, archiverManager, dependency.getFile(), os, linkerName, defaultAOL ); } } } -- cgit v1.2.3