You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Aleksey Shipilev (JIRA)" <ji...@codehaus.org> on 2010/01/07 16:08:56 UTC

[jira] Issue Comment Edited: (MEAR-85) ejb-client dependencies should be placed in defaultLibBundleDir

    [ http://jira.codehaus.org/browse/MEAR-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=205548#action_205548 ] 

Aleksey Shipilev edited comment on MEAR-85 at 1/7/10 9:08 AM:
--------------------------------------------------------------

Is this better? I assume this does not break 1.3/1.4 behaviour but fixes 5/6:
{code}
Index: src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java
===================================================================
--- src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java	(revision 896892)
+++ src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java	(working copy)
@@ -60,7 +60,7 @@
      * @return an ear module for this artifact
      * @throws UnknownArtifactTypeException if the artifact is not handled
      */
-    public static EarModule newEarModule( Artifact artifact, String defaultLibBundleDir,
+    public static EarModule newEarModule( Artifact artifact, String version, String defaultLibBundleDir,
                                           Boolean includeInApplicationXml )
         throws UnknownArtifactTypeException
     {
@@ -85,7 +85,12 @@
         }
         else if ( "ejb-client".equals( artifactType ) )
         {
-            return new EjbClientModule( artifact, null );
+            // Somewhat weird way to tackle the problem described in MEAR-85
+            if (AbstractEarMojo.VERSION_1_3.equals(version) || AbstractEarMojo.VERSION_1_4.equals(version)) {
+                return new EjbClientModule( artifact, null ); 	
+            } else {
+                return new EjbClientModule( artifact, defaultLibBundleDir );
+            }
         }
         else if ( "rar".equals( artifactType ) )
         {
Index: src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java	(revision 896892)
+++ src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java	(working copy)
@@ -223,7 +223,7 @@
                 if ( !isArtifactRegistered( artifact, allModules ) && !artifact.isOptional() &&
                     filter.include( artifact ) )
                 {
-                    EarModule module = EarModuleFactory.newEarModule( artifact, defaultLibBundleDir,
+                    EarModule module = EarModuleFactory.newEarModule( artifact, version, defaultLibBundleDir,
                                                                       includeLibInApplicationXml );
                     allModules.add( module );
                 }
{code}

      was (Author: aleksey.shipilev):
    Is this better? I assume this does not break 1.3/1.4 behaviour but fixes 5/6:

Index: src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java
===================================================================
--- src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java	(revision 896892)
+++ src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java	(working copy)
@@ -60,7 +60,7 @@
      * @return an ear module for this artifact
      * @throws UnknownArtifactTypeException if the artifact is not handled
      */
-    public static EarModule newEarModule( Artifact artifact, String defaultLibBundleDir,
+    public static EarModule newEarModule( Artifact artifact, String version, String defaultLibBundleDir,
                                           Boolean includeInApplicationXml )
         throws UnknownArtifactTypeException
     {
@@ -85,7 +85,12 @@
         }
         else if ( "ejb-client".equals( artifactType ) )
         {
-            return new EjbClientModule( artifact, null );
+            // Somewhat weird way to tackle the problem described in MEAR-85
+            if (AbstractEarMojo.VERSION_1_3.equals(version) || AbstractEarMojo.VERSION_1_4.equals(version)) {
+                return new EjbClientModule( artifact, null ); 	
+            } else {
+                return new EjbClientModule( artifact, defaultLibBundleDir );
+            }
         }
         else if ( "rar".equals( artifactType ) )
         {
Index: src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java	(revision 896892)
+++ src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java	(working copy)
@@ -223,7 +223,7 @@
                 if ( !isArtifactRegistered( artifact, allModules ) && !artifact.isOptional() &&
                     filter.include( artifact ) )
                 {
-                    EarModule module = EarModuleFactory.newEarModule( artifact, defaultLibBundleDir,
+                    EarModule module = EarModuleFactory.newEarModule( artifact, version, defaultLibBundleDir,
                                                                       includeLibInApplicationXml );
                     allModules.add( module );
                 }

  
> ejb-client dependencies should be placed in defaultLibBundleDir
> ---------------------------------------------------------------
>
>                 Key: MEAR-85
>                 URL: http://jira.codehaus.org/browse/MEAR-85
>             Project: Maven 2.x Ear Plugin
>          Issue Type: Improvement
>    Affects Versions: 2.3.1
>            Reporter: James Olsen
>            Assignee: Stephane Nicoll
>            Priority: Minor
>             Fix For: 2.5
>
>
> ejb-client jars should be placed in the defaultLibBundleDir when specified.  They're just standard jar dependencies not J2EE artifacts so should be treated the same as other jars.  They're currently being placed in the root directory.
> A workaround is to add an ejbClientModule entry to override the bundleDir:
> <modules>
> 	<ejbClientModule>
> 		<groupId>...</groupId>
> 		<artifactId>...</artifactId>
> 		<bundleDir>lib</bundleDir>
> 	</ejbClientModule>
> </modules>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira