From 982b7a322e648d388cc77c06f80b2947a7bd8a52 Mon Sep 17 00:00:00 2001 From: Mark Donszelmann Date: Fri, 16 Oct 2009 16:52:34 +0200 Subject: Fixed NAR-71 and part of NAR-69 --- .../java/org/apache/maven/plugin/nar/Compiler.java | 46 ++++++++++++++-------- 1 file changed, 29 insertions(+), 17 deletions(-) (limited to 'src/main/java/org/apache/maven/plugin/nar/Compiler.java') diff --git a/src/main/java/org/apache/maven/plugin/nar/Compiler.java b/src/main/java/org/apache/maven/plugin/nar/Compiler.java index ca263cf..97423f8 100644 --- a/src/main/java/org/apache/maven/plugin/nar/Compiler.java +++ b/src/main/java/org/apache/maven/plugin/nar/Compiler.java @@ -214,19 +214,24 @@ public abstract class Compiler this.mojo = mojo; } - public File getSourceDirectory() + public List/* */getSourceDirectories() { - return getSourceDirectory( "dummy" ); + return getSourceDirectories( "dummy" ); } - protected File getSourceDirectory( String type ) + private List/* */getSourceDirectories( String type ) { + List sourceDirectories = new ArrayList(); + if ( sourceDirectory == null ) { - sourceDirectory = - new File( mojo.getMavenProject().getBasedir(), "src/" + ( type.equals( "test" ) ? "test" : "main" ) ); + sourceDirectories.add( new File( mojo.getMavenProject().getBasedir(), "src/" + + ( type.equals( "test" ) ? "test" : "main" ) ) ); } - return sourceDirectory; + + // FIXME, see NAR-69 + sourceDirectories.add( new File( mojo.getMavenProject().getBasedir(), "target/swig" ) ); + return sourceDirectories; } protected List/* */getIncludePaths( String type ) @@ -234,7 +239,10 @@ public abstract class Compiler if ( includePaths == null || ( includePaths.size() == 0 ) ) { includePaths = new ArrayList(); - includePaths.add( new File( getSourceDirectory( type ), "include" ).getPath() ); + for ( Iterator i = getSourceDirectories( type ).iterator(); i.hasNext(); ) + { + includePaths.add( new File( (File) i.next(), "include" ).getPath() ); + } } return includePaths; } @@ -487,7 +495,7 @@ public abstract class Compiler } // Add default fileset (if exists) - File srcDir = getSourceDirectory( type ); + List srcDirs = getSourceDirectories( type ); Set includes = getIncludes(); Set excludes = getExcludes(); @@ -501,18 +509,22 @@ public abstract class Compiler } } - mojo.getLog().debug( "Checking for existence of " + getName() + " sourceDirectory: " + srcDir ); - if ( srcDir.exists() ) + for ( Iterator i = srcDirs.iterator(); i.hasNext(); ) { - ConditionalFileSet fileSet = new ConditionalFileSet(); - fileSet.setProject( mojo.getAntProject() ); - fileSet.setIncludes( StringUtils.join( includes.iterator(), "," ) ); - fileSet.setExcludes( StringUtils.join( excludes.iterator(), "," ) ); - fileSet.setDir( srcDir ); - compiler.addFileset( fileSet ); + File srcDir = (File) i.next(); + mojo.getLog().debug( "Checking for existence of " + getName() + " sourceDirectory: " + srcDir ); + if ( srcDir.exists() ) + { + ConditionalFileSet fileSet = new ConditionalFileSet(); + fileSet.setProject( mojo.getAntProject() ); + fileSet.setIncludes( StringUtils.join( includes.iterator(), "," ) ); + fileSet.setExcludes( StringUtils.join( excludes.iterator(), "," ) ); + fileSet.setDir( srcDir ); + compiler.addFileset( fileSet ); + } } - // add other sources + // add other sources, FIXME seems if ( !type.equals( "test" ) ) { for ( Iterator i = mojo.getMavenProject().getCompileSourceRoots().iterator(); i.hasNext(); ) -- cgit v1.2.3