summaryrefslogtreecommitdiff
path: root/src/main/java/org/apache/maven/plugin/nar/NarResourcesMojo.java
diff options
context:
space:
mode:
authorMark Donszelmann <Mark.Donszelmann@gmail.com>2009-10-16 13:29:18 +0200
committerMark Donszelmann <Mark.Donszelmann@gmail.com>2009-10-16 13:29:18 +0200
commit9b1643ef71a5b0d6c9db8cb9859b045c4adad911 (patch)
treeedf6360a90443ce403ccc61486e3783920ec5c75 /src/main/java/org/apache/maven/plugin/nar/NarResourcesMojo.java
parentdd1c5dec28cd418fc319f64dbb52eee295ca150f (diff)
downloadmaven-nar-plugin-9b1643ef71a5b0d6c9db8cb9859b045c4adad911.tar.gz
maven-nar-plugin-9b1643ef71a5b0d6c9db8cb9859b045c4adad911.tar.bz2
maven-nar-plugin-9b1643ef71a5b0d6c9db8cb9859b045c4adad911.tar.xz
maven-nar-plugin-9b1643ef71a5b0d6c9db8cb9859b045c4adad911.zip
Fixed NAR-64
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.java120
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 );
}
-
}