Author: khmarbaise Date: Sat Dec 27 23:35:16 2014 New Revision: 1648129 URL: http://svn.apache.org/r1648129 Log: [MEJB-63] outputDirectory is treated differently to ear, war plugins Now we have a sourceDirectory and a outputDirectory which behave the way you expect them to behave. The sourceDirectory contains those elements which will be archived and the outputDirectory contains the created archives.
Modified: maven/plugins/trunk/maven-ejb-plugin/src/it/reactor/sub/pom.xml maven/plugins/trunk/maven-ejb-plugin/src/main/java/org/apache/maven/plugin/ejb/EjbMojo.java maven/plugins/trunk/maven-ejb-plugin/src/test/java/org/apache/maven/plugin/ejb/EjbMojoTest.java Modified: maven/plugins/trunk/maven-ejb-plugin/src/it/reactor/sub/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ejb-plugin/src/it/reactor/sub/pom.xml?rev=1648129&r1=1648128&r2=1648129&view=diff ============================================================================== --- maven/plugins/trunk/maven-ejb-plugin/src/it/reactor/sub/pom.xml (original) +++ maven/plugins/trunk/maven-ejb-plugin/src/it/reactor/sub/pom.xml Sat Dec 27 23:35:16 2014 @@ -44,7 +44,7 @@ under the License. <version>@project.version@</version> <configuration> <!-- Note the relative path here --> - <outputDirectory>target/classes</outputDirectory> + <sourceDirectory>target/classes</sourceDirectory> </configuration> </plugin> </plugins> Modified: maven/plugins/trunk/maven-ejb-plugin/src/main/java/org/apache/maven/plugin/ejb/EjbMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ejb-plugin/src/main/java/org/apache/maven/plugin/ejb/EjbMojo.java?rev=1648129&r1=1648128&r2=1648129&view=diff ============================================================================== --- maven/plugins/trunk/maven-ejb-plugin/src/main/java/org/apache/maven/plugin/ejb/EjbMojo.java (original) +++ maven/plugins/trunk/maven-ejb-plugin/src/main/java/org/apache/maven/plugin/ejb/EjbMojo.java Sat Dec 27 23:35:16 2014 @@ -67,16 +67,17 @@ public class EjbMojo "**/*Session.class", "**/package.html" }; /** - * The directory for the generated EJB. + * The directory location for the generated EJB. */ @Parameter( defaultValue = "${project.build.directory}", required = true, readonly = true ) - private File basedir; + private File outputDirectory; /** - * Directory that resources are copied to during the build. + * Directory that contains the resources which are packaged into + * the created archive {@code target/classes}. */ - @Parameter( property = "outputDirectory", defaultValue = "${project.build.outputDirectory}" ) - private File outputDirectory; + @Parameter( defaultValue = "${project.build.outputDirectory}", required = true ) + private File sourceDirectory; /** * The name of the EJB file to generate. @@ -254,11 +255,11 @@ public class EjbMojo throws MojoExecutionException { - if ( !outputDirectory.exists() ) + if ( !sourceDirectory.exists() ) { - getLog().warn( "The created EJB jar will be empty cause the " + outputDirectory.getPath() + getLog().warn( "The created EJB jar will be empty cause the " + sourceDirectory.getPath() + " did not exist." ); - outputDirectory.mkdirs(); + sourceDirectory.mkdirs(); } if ( getLog().isInfoEnabled() ) @@ -266,7 +267,7 @@ public class EjbMojo getLog().info( "Building EJB " + jarName + " with EJB version " + ejbVersion ); } - File jarFile = getEJBJarFile( basedir, jarName, classifier ); + File jarFile = getEJBJarFile( outputDirectory, jarName, classifier ); MavenArchiver archiver = new MavenArchiver(); @@ -274,7 +275,7 @@ public class EjbMojo archiver.setOutputFile( jarFile ); - File deploymentDescriptor = new File( outputDirectory, ejbJar ); + File deploymentDescriptor = new File( sourceDirectory, ejbJar ); /* test EJB version compliance */ checkEJBVersionCompliance( deploymentDescriptor ); @@ -290,7 +291,7 @@ public class EjbMojo mainJarExcludes = (String[]) excludes.toArray( new String[excludes.size()] ); } - archiver.getArchiver().addDirectory( outputDirectory, DEFAULT_INCLUDES, mainJarExcludes ); + archiver.getArchiver().addDirectory( sourceDirectory, DEFAULT_INCLUDES, mainJarExcludes ); if ( deploymentDescriptor.exists() ) { @@ -369,7 +370,7 @@ public class EjbMojo excludes = (String[]) clientExcludes.toArray( new String[clientExcludes.size()] ); } - File clientJarFile = new File( basedir, resultingClientJarNameWithClassifier + ".jar" ); + File clientJarFile = new File( outputDirectory, resultingClientJarNameWithClassifier + ".jar" ); MavenArchiver clientArchiver = new MavenArchiver(); @@ -379,7 +380,7 @@ public class EjbMojo try { - clientArchiver.getArchiver().addDirectory( outputDirectory, includes, excludes ); + clientArchiver.getArchiver().addDirectory( sourceDirectory, includes, excludes ); // create archive clientArchiver.createArchive( session, project, archive ); @@ -444,7 +445,7 @@ public class EjbMojo this.session, mavenResourcesExecution ); // Create a temporary file that we can copy-and-filter - File unfilteredDeploymentDescriptor = new File( outputDirectory, ejbJar + ".unfiltered" ); + File unfilteredDeploymentDescriptor = new File( sourceDirectory, ejbJar + ".unfiltered" ); FileUtils.copyFile( deploymentDescriptor, unfilteredDeploymentDescriptor ); mavenFileFilter.copyFile( unfilteredDeploymentDescriptor, deploymentDescriptor, true, filterWrappers, getEncoding( unfilteredDeploymentDescriptor ) ); Modified: maven/plugins/trunk/maven-ejb-plugin/src/test/java/org/apache/maven/plugin/ejb/EjbMojoTest.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ejb-plugin/src/test/java/org/apache/maven/plugin/ejb/EjbMojoTest.java?rev=1648129&r1=1648128&r2=1648129&view=diff ============================================================================== --- maven/plugins/trunk/maven-ejb-plugin/src/test/java/org/apache/maven/plugin/ejb/EjbMojoTest.java (original) +++ maven/plugins/trunk/maven-ejb-plugin/src/test/java/org/apache/maven/plugin/ejb/EjbMojoTest.java Sat Dec 27 23:35:16 2014 @@ -556,8 +556,8 @@ public class EjbMojoTest { final EjbMojo mojo = lookupMojo(); setVariableValueToObject( mojo, "project", project ); - setVariableValueToObject( mojo, "basedir", new File( project.getBuild().getDirectory() ) ); - setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) ); + setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getDirectory() ) ); + setVariableValueToObject( mojo, "sourceDirectory", new File( project.getBuild().getOutputDirectory() ) ); setVariableValueToObject( mojo, "jarName", DEFAULT_JAR_NAME ); setVariableValueToObject( mojo, "clientExcludes", clientExcludes ); setVariableValueToObject( mojo, "clientIncludes", clientIncludes );