Re: [M2] How do I run J2EE compilers?
Thanks for the tip. That has helped me a lot. I noticed that the value of the project.artifact property looks something like this: artifact: org.kurron.maven2:ear-one-WLS:ear:1.0-SNAPSHOT. I don't suppose there is convenient mechanism for obtaining the full path to the EAR, such as: /home/me/.mvn/repository/.../my-app-1.0-SNAPSHOT.ear? I think I have enough data in the mojo to cobble together the pieces I need but I figured I would see if there was something already built in. Many Thanks, Ron Manuel Ledesma wrote: Manuel Ledesma wrote: kurron wrote: Our build system requires us to run vendor-specific J2EE compilers on our EAR files. I ran across the Weblogic plugin that can execute the appc program on an archive but it requires that you specify archive information in the POMs that create EARs. What I would really like is to automagically invoke appc on any EAR that gets built. To that end, I've been experimenting with writing a Java mojo that will invoke appc (or any other program we might need) right after an archive is created. My mojo is getting handed the maven session, executed project, current project and settings but, to this point, I haven't been able to figure out how to obtain the artifact that was just created. I see printouts from my mojo so I know it is getting called. When the mojo asks the executed project or the current project what the artifact is, they return null.The artifact id comes back as empty-project from both objects. Can anyone offer any advice on how to obtain the full path to the artifact that was just created?My mojo is registered to go off during the package phase ( @phase package) and I see it executing after the EAR/JAR/WARs are created so it appears to be getting called when I want it to. Any help is appreciated. Thanks, Ron You can use the following expression //parameter expression=${project.build.directory}/${project.build.finalName} base on packaging you can know if it's an ear, war or ejb. // - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This all you need to write the plugin ** * Compile classpath * * @parameter expression=${project.compileClasspathElements} * @required * @readonly */ private ListString classpathElements; /** * @parameter expression=${project.artifact} */ private Artifact artifact; /** * @parameter expression=${project.packaging} */ private String packaging; I wrote a plugin for appc too. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/-M2--How-do-I-run-J2EE-compilers--tf2424323.html#a6776218 Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[M2] How do I run J2EE compilers?
Our build system requires us to run vendor-specific J2EE compilers on our EAR files. I ran across the Weblogic plugin that can execute the appc program on an archive but it requires that you specify archive information in the POMs that create EARs. What I would really like is to automagically invoke appc on any EAR that gets built. To that end, I've been experimenting with writing a Java mojo that will invoke appc (or any other program we might need) right after an archive is created. My mojo is getting handed the maven session, executed project, current project and settings but, to this point, I haven't been able to figure out how to obtain the artifact that was just created. I see printouts from my mojo so I know it is getting called. When the mojo asks the executed project or the current project what the artifact is, they return null.The artifact id comes back as empty-project from both objects. Can anyone offer any advice on how to obtain the full path to the artifact that was just created?My mojo is registered to go off during the package phase ( @phase package) and I see it executing after the EAR/JAR/WARs are created so it appears to be getting called when I want it to. Any help is appreciated. Thanks, Ron -- View this message in context: http://www.nabble.com/-M2--How-do-I-run-J2EE-compilers--tf2424323.html#a6759058 Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [M2] How do I run J2EE compilers?
kurron wrote: Our build system requires us to run vendor-specific J2EE compilers on our EAR files. I ran across the Weblogic plugin that can execute the appc program on an archive but it requires that you specify archive information in the POMs that create EARs. What I would really like is to automagically invoke appc on any EAR that gets built. To that end, I've been experimenting with writing a Java mojo that will invoke appc (or any other program we might need) right after an archive is created. My mojo is getting handed the maven session, executed project, current project and settings but, to this point, I haven't been able to figure out how to obtain the artifact that was just created. I see printouts from my mojo so I know it is getting called. When the mojo asks the executed project or the current project what the artifact is, they return null.The artifact id comes back as empty-project from both objects. Can anyone offer any advice on how to obtain the full path to the artifact that was just created?My mojo is registered to go off during the package phase ( @phase package) and I see it executing after the EAR/JAR/WARs are created so it appears to be getting called when I want it to. Any help is appreciated. Thanks, Ron You can use the following expression //parameter expression=${project.build.directory}/${project.build.finalName} base on packaging you can know if it's an ear, war or ejb. // - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [M2] How do I run J2EE compilers?
Manuel Ledesma wrote: kurron wrote: Our build system requires us to run vendor-specific J2EE compilers on our EAR files. I ran across the Weblogic plugin that can execute the appc program on an archive but it requires that you specify archive information in the POMs that create EARs. What I would really like is to automagically invoke appc on any EAR that gets built. To that end, I've been experimenting with writing a Java mojo that will invoke appc (or any other program we might need) right after an archive is created. My mojo is getting handed the maven session, executed project, current project and settings but, to this point, I haven't been able to figure out how to obtain the artifact that was just created. I see printouts from my mojo so I know it is getting called. When the mojo asks the executed project or the current project what the artifact is, they return null.The artifact id comes back as empty-project from both objects. Can anyone offer any advice on how to obtain the full path to the artifact that was just created?My mojo is registered to go off during the package phase ( @phase package) and I see it executing after the EAR/JAR/WARs are created so it appears to be getting called when I want it to. Any help is appreciated. Thanks, Ron You can use the following expression //parameter expression=${project.build.directory}/${project.build.finalName} base on packaging you can know if it's an ear, war or ejb. // - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This all you need to write the plugin ** * Compile classpath * * @parameter expression=${project.compileClasspathElements} * @required * @readonly */ private ListString classpathElements; /** * @parameter expression=${project.artifact} */ private Artifact artifact; /** * @parameter expression=${project.packaging} */ private String packaging; I wrote a plugin for appc too. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]