Jeff Thomas created AXIS2-5783:
----------------------------------
Summary: Maven axis2-repo-maven-plugin + Maven WAR plugin with
*.mar artifacts
Key: AXIS2-5783
URL: https://issues.apache.org/jira/browse/AXIS2-5783
Project: Axis2
Issue Type: Improvement
Components: Tools
Affects Versions: 1.7.3
Reporter: Jeff Thomas
Priority: Trivial
Fix For: 1.7.4, 1.8.0
I have a conflict currently between the 'axis2-repo-maven-plugin' and the
'maven-war-plugin'.
At some point someone upgraded the Maven WAR plugin so that it automatically
packs any "<type>mar</type>" runtime dependency into the resulting WAR.
Unfortunately it is also not possible to disable this "feature" on the
maven-war-plugin.
I *want* to use the axis2-repo-maven-plugin to place different ".mar" artifacts
into two *different* Axis2 repositories in the same WAR (i.e. WEB-INF/modules
and WEB-INF/client/modules). While the axis2-repo-maven-plugin does its job
perfectly, the WAR plugin always runs last and packs *ALL* MAR artifacts into
WEB-INF/modules.
My "workaround" which is most likely not release-viable was to change the
axis2-repo-maven-plugin CreateRepositoryMojo.java so that it works on MAR
artifacts with scope "provided" instead of "runtime" and
"@requiresDependencyResolution compile" instead of "runtime". This keeps the
WAR plugin from packing them automatically and allows me to run two separate
executions for my two repositories.
{code:java}
/**
* Creates an Axis2 repository from the project's runtime dependencies. This
goal is typically
* used to build an Axis2 repository that will be packaged into some kind of
distribution.
*
* @goal create-repository
* @phase package
* @requiresDependencyResolution compile
*/
public class CreateRepositoryMojo extends AbstractCreateRepositoryMojo {
/**
* The output directory where the repository will be created.
*
* @parameter default-value="${project.build.directory}/repository"
*/
private File outputDirectory;
@Override
protected String getScope() {
return Artifact.SCOPE_PROVIDED;
}
@Override
protected File getOutputDirectory() {
return outputDirectory;
}
}
{code}
I am not sure what a release-viable solution would look like...or even if it is
a concern for this plugin(?!?). The best-possible solution would be an option
to exclude .mar artifacts in the maven-war-plugin ... but if possible I want to
get away from having to customize the Axis2 Plugin with every new release.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]