You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2015/12/25 20:48:38 UTC

svn commit: r1721692 - /maven/plugins/trunk/maven-ejb-plugin/src/main/java/org/apache/maven/plugins/ejb/EjbMojo.java

Author: khmarbaise
Date: Fri Dec 25 19:48:38 2015
New Revision: 1721692

URL: http://svn.apache.org/viewvc?rev=1721692&view=rev
Log:
Refactoring Mojo

Modified:
    maven/plugins/trunk/maven-ejb-plugin/src/main/java/org/apache/maven/plugins/ejb/EjbMojo.java

Modified: maven/plugins/trunk/maven-ejb-plugin/src/main/java/org/apache/maven/plugins/ejb/EjbMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ejb-plugin/src/main/java/org/apache/maven/plugins/ejb/EjbMojo.java?rev=1721692&r1=1721691&r2=1721692&view=diff
==============================================================================
--- maven/plugins/trunk/maven-ejb-plugin/src/main/java/org/apache/maven/plugins/ejb/EjbMojo.java (original)
+++ maven/plugins/trunk/maven-ejb-plugin/src/main/java/org/apache/maven/plugins/ejb/EjbMojo.java Fri Dec 25 19:48:38 2015
@@ -91,6 +91,14 @@ public class EjbMojo
     private String classifier;
 
     /**
+     * Classifier to add to the client artifact generated.
+     * 
+     * @since 3.0.0
+     */
+    @Parameter( property = "maven.ejb.clientClassifier" )
+    private String clientClassifier;
+
+    /**
      * Default value for {@link #ejbJar}.
      */
     public static final String DEFAULT_EJBJAR = "META-INF/ejb-jar.xml";
@@ -251,8 +259,6 @@ public class EjbMojo
 
     /**
      * Generates an EJB jar and optionally an ejb-client jar.
-     *
-     * @todo Add license files in META-INF directory.
      */
     public void execute()
         throws MojoExecutionException
@@ -265,11 +271,30 @@ public class EjbMojo
             sourceDirectory.mkdirs();
         }
 
-        if ( getLog().isInfoEnabled() )
+        getLog().info( "Building EJB " + jarName + " with EJB version " + ejbVersion );
+
+        File jarFile = generateEjb();
+
+        // Handle the classifier if necessary
+        // TODO: For 3.0 this should be changed having a separate classifier for main artifact and ejb-client.
+        if ( classifier != null )
         {
-            getLog().info( "Building EJB " + jarName + " with EJB version " + ejbVersion );
+            projectHelper.attachArtifact( project, "ejb", classifier, jarFile );
+        }
+        else
+        {
+            project.getArtifact().setFile( jarFile );
         }
 
+        if ( generateClient )
+        {
+            generateEjbClient();
+        }
+    }
+
+    private File generateEjb()
+        throws MojoExecutionException
+    {
         File jarFile = getEJBJarFile( outputDirectory, jarName, classifier );
 
         MavenArchiver archiver = new MavenArchiver();
@@ -331,21 +356,8 @@ public class EjbMojo
                 + e.getMessage(), e );
         }
 
-        // Handle the classifier if necessary
-        // TODO: For 3.0 this should be changed having a separate classifier for main artifact and ejb-client.
-        if ( classifier != null )
-        {
-            projectHelper.attachArtifact( project, "ejb", classifier, jarFile );
-        }
-        else
-        {
-            project.getArtifact().setFile( jarFile );
-        }
+        return jarFile;
 
-        if ( generateClient )
-        {
-            generateEjbClient();
-        }
     }
 
     private void generateEjbClient()
@@ -479,6 +491,33 @@ public class EjbMojo
     }
 
     /**
+     * @return true in case where the classifier is not {@code null} and contains something else than white spaces.
+     */
+    private boolean hasClassifier()
+    {
+        return hasClassifier( getClassifier() );
+    }
+
+    /**
+     * @return true in case where the clientClassifier is not {@code null} and contains something else than white
+     *         spaces.
+     */
+    private boolean hasClientClassifier()
+    {
+        return hasClassifier( getClientClassifier() );
+    }
+
+    private boolean hasClassifier( String classfier )
+    {
+        boolean result = false;
+        if ( classfier != null && classfier.trim().length() > 0 )
+        {
+            result = true;
+        }
+        return result;
+    }
+
+    /**
      * Get the encoding from an XML-file.
      *
      * @param xmlFile the XML-file
@@ -500,4 +539,13 @@ public class EjbMojo
         }
     }
 
+    public String getClassifier()
+    {
+        return classifier;
+    }
+
+    public String getClientClassifier()
+    {
+        return clientClassifier;
+    }
 }