diff options
Diffstat (limited to 'src/main/java/org/apache/maven/plugin/nar/NarResourcesMojo.java')
-rw-r--r-- | src/main/java/org/apache/maven/plugin/nar/NarResourcesMojo.java | 120 |
1 files changed, 3 insertions, 117 deletions
diff --git a/src/main/java/org/apache/maven/plugin/nar/NarResourcesMojo.java b/src/main/java/org/apache/maven/plugin/nar/NarResourcesMojo.java index a23bef4..927ba3c 100644 --- a/src/main/java/org/apache/maven/plugin/nar/NarResourcesMojo.java +++ b/src/main/java/org/apache/maven/plugin/nar/NarResourcesMojo.java @@ -20,16 +20,10 @@ package org.apache.maven.plugin.nar; */ import java.io.File; -import java.io.IOException; import java.util.Iterator; -import java.util.List; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; -import org.codehaus.plexus.archiver.ArchiverException; -import org.codehaus.plexus.archiver.UnArchiver; -import org.codehaus.plexus.archiver.manager.ArchiverManager; -import org.codehaus.plexus.archiver.manager.NoSuchArchiverException; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.SelectorUtils; @@ -42,7 +36,7 @@ import org.codehaus.plexus.util.SelectorUtils; * @author Mark Donszelmann */ public class NarResourcesMojo - extends AbstractCompileMojo + extends AbstractResourcesMojo { /** @@ -53,38 +47,6 @@ public class NarResourcesMojo */ private File resourceDirectory; - /** - * Binary directory (relative to ${resourceDirectory}/aol/${aol} - * - * @parameter expression="bin" - * @required - */ - private String resourceBinDir; - - /** - * Include directory (relative to ${resourceDirectory}/aol/${aol} - * - * @parameter expression="include" - * @required - */ - private String resourceIncludeDir; - - /** - * Library directory (relative to ${resourceDirectory}/aol/${aol} - * - * @parameter expression="lib" - * @required - */ - private String resourceLibDir; - - /** - * To look up Archiver/UnArchiver implementations - * - * @component role="org.codehaus.plexus.archiver.manager.ArchiverManager" - * @required - */ - private ArchiverManager archiverManager; - public void execute() throws MojoExecutionException, MojoFailureException { @@ -110,86 +72,10 @@ public class NarResourcesMojo } if ( !ignore ) { - copyResources( new File( aolDir, aols[i] ) ); - } - } - } - } - - private void copyResources( File aolDir ) - throws MojoExecutionException, MojoFailureException - { - String aol = aolDir.getName(); - int copied = 0; - try - { - // copy headers - File includeDir = new File( aolDir, resourceIncludeDir ); - if ( includeDir.exists() ) - { - File includeDstDir = new File( getTargetDirectory(), "include" ); - copied += NarUtil.copyDirectoryStructure( includeDir, includeDstDir, null, NarUtil.DEFAULT_EXCLUDES ); - } - - // copy binaries - File binDir = new File( aolDir, resourceBinDir ); - if ( binDir.exists() ) - { - File binDstDir = new File( getTargetDirectory(), "bin" ); - binDstDir = new File( binDstDir, aol ); - - copied += NarUtil.copyDirectoryStructure( binDir, binDstDir, null, NarUtil.DEFAULT_EXCLUDES ); - } - - // copy libraries - File libDir = new File( aolDir, resourceLibDir ); - if ( libDir.exists() ) - { - // create all types of libs - for ( Iterator i = getLibraries().iterator(); i.hasNext(); ) - { - Library library = (Library) i.next(); - String type = library.getType(); - File libDstDir = new File( getTargetDirectory(), "lib" ); - libDstDir = new File( libDstDir, aol ); - libDstDir = new File( libDstDir, type ); - - // filter files for lib - String includes = - "**/*." - + NarUtil.getDefaults().getProperty( NarUtil.getAOLKey( aol ) + "." + type + ".extension" ); - copied += NarUtil.copyDirectoryStructure( libDir, libDstDir, includes, NarUtil.DEFAULT_EXCLUDES ); + File aol = new File( aolDir, aols[i] ); + copyResources( aol, aol.getName() ); } } - - // unpack jar files - File classesDirectory = new File( getOutputDirectory(), "classes" ); - classesDirectory.mkdirs(); - List jars = FileUtils.getFiles( aolDir, "**/*.jar", null ); - for ( Iterator i = jars.iterator(); i.hasNext(); ) - { - File jar = (File) i.next(); - getLog().debug( "Unpacking jar " + jar ); - UnArchiver unArchiver; - unArchiver = archiverManager.getUnArchiver( AbstractNarMojo.NAR_ROLE_HINT ); - unArchiver.setSourceFile( jar ); - unArchiver.setDestDirectory( classesDirectory ); - unArchiver.extract(); - } - } - catch ( IOException e ) - { - throw new MojoExecutionException( "NAR: Could not copy resources", e ); - } - catch ( NoSuchArchiverException e ) - { - throw new MojoExecutionException( "NAR: Could not find archiver", e ); } - catch ( ArchiverException e ) - { - throw new MojoExecutionException( "NAR: Could not unarchive jar file", e ); - } - getLog().info( "Copied " + copied + " resources for " + aol ); } - } |