[jira] (MEAR-167) Classes from different modules with the same artifactId are merged when skinnyWars set to TRUE

2013-11-16 Thread Anton Shaykin (JIRA)

[ 
https://jira.codehaus.org/browse/MEAR-167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=335774#comment-335774
 ] 

Anton Shaykin commented on MEAR-167:


@Robert Scholte, You're welcome. Thanks for the fix! When could we expect the 
new release of maven-ear-plugin?

> Classes from different modules with the same artifactId are merged when 
> skinnyWars set to TRUE
> --
>
> Key: MEAR-167
> URL: https://jira.codehaus.org/browse/MEAR-167
> Project: Maven Ear Plugin
>  Issue Type: Bug
>Affects Versions: 2.8
>Reporter: Anton Shaykin
>Assignee: Robert Scholte
> Fix For: 2.9
>
> Attachments: example.zip
>
>
> When some modules, that are to be included in ear, have the same artifactId, 
> classes from those modules get merged.
> Consider this project structure
> {noformat}
> .
> |-root
> |-app
> |--business
> |---service
> |--ejb
> |---service
> {noformat}
> In this example, there are 2 ejb modules main.root.business:service:jar and 
> main.root.ejb:service:jar with artifactId 'service'.
> Project app has the following build configuration:
> {code:xml}
> 
>   
>   
>   org.apache.maven.plugins
>   maven-ear-plugin
>   2.8
>   
>   true
>   
>   
>   main.root.ejb
>   service
>   service1.jar
>   
>   
>   
> main.root.business
>   service
>   service2.jar
>   
>   
>   
>   
>   
> 
> {code}
> When I run {{maven-ear-plugin:ear}} goal I get an ear with 2 ejb jars in it 
> (service1.jar and service2.jar), but the second one contains classes from 
> both modules.
> I did some code digging, and this is what I've found (EarMojo, line 684):
> {code}
> workDirectory =
> new File( new File( generatedDescriptorLocation, "temp" 
> ), module.getArtifact().getArtifactId() );
> workDirectory.mkdirs();
> {code}
> So, basically, when skinnyWars set to TRUE, you create a temporary folder 
> with the name based on artifactId. That's why the classes are merged in the 
> second jar.
> As a solution, I'd suggest either randomize the directory name, or at least 
> check for a directory existence and remove it recursively, if found.
> The example project is attached to this ticket.
>

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] (MEAR-167) Classes from different modules with the same artifactId are merged when skinnyWars set to TRUE

2013-01-17 Thread Anton Shaykin (JIRA)
Anton Shaykin created MEAR-167:
--

 Summary: Classes from different modules with the same artifactId 
are merged when skinnyWars set to TRUE
 Key: MEAR-167
 URL: https://jira.codehaus.org/browse/MEAR-167
 Project: Maven 2.x Ear Plugin
  Issue Type: Bug
Affects Versions: 2.8
Reporter: Anton Shaykin
 Attachments: example.zip

When some modules, that are to be included in ear, have the same artifactId, 
classes from those modules get merged.

Consider this project structure

.
|-root
|-app
|--business
|---service
|--ejb
|---service

In this example, there are 2 ejb modules main.root.business:service:jar and 
main.root.ejb:service:jar with artifactId 'service'.

Project app has the following build configuration:




org.apache.maven.plugins
maven-ear-plugin
2.8

true


main.root.ejb
service
service1.jar



main.root.business
service
service2.jar







When I run maven-ear-plugin:ear goal I get an ear with 2 ejb jars in it 
(service1.jar and service2.jar), but the second one contains classes from both 
modules.

I did some code digging, and this is what I've found (EarMojo, line 684):

workDirectory =
new File( new File( generatedDescriptorLocation, "temp" ), 
module.getArtifact().getArtifactId() );
workDirectory.mkdirs();

So, basically, when skinnyWars set to TRUE, you create a temporary folder with 
the name based on artifactId. That's why the classes are merged in the second 
jar.

As a solution, I'd suggest either randomize the directory name, or at least 
check for a directory existence and remove it recursively, if found.

The example project is attached to this ticket.
   

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira