[
https://issues.apache.org/jira/browse/MNG-5805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14503958#comment-14503958
]
ASF GitHub Bot commented on MNG-5805:
-------------------------------------
GitHub user atanasenko opened a pull request:
https://github.com/apache/maven/pull/43
MNG-5805: Custom packaging types: configuring DefaultLifecycleMapping
mojo executions
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/atanasenko/maven
mng-5805-lifecycle-mojo-config
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/maven/pull/43.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #43
----
commit e0c4a9c0c3630cbc533de3823cdd0efa5c29870a
Author: Anton Tanasenko <[email protected]>
Date: 2015-04-18T19:01:16Z
MNG-5805: Custom packaging types: configuring DefaultLifecycleMapping
mojo executions
----
> Custom packaging types: configuring DefaultLifecycleMapping mojo executions
> ---------------------------------------------------------------------------
>
> Key: MNG-5805
> URL: https://issues.apache.org/jira/browse/MNG-5805
> Project: Maven
> Issue Type: Improvement
> Components: Plugins and Lifecycle
> Reporter: Anton Tanasenko
> Assignee: Jason van Zyl
> Priority: Minor
> Fix For: 3.3.3
>
>
> Currently, DefaultLifecycleMapping does not support mapping phases to goals
> with a custom configuration (see
> maven-core/src/main/resources/META-INF/plexus/default-bindings.xml). It is
> impossible to bind, say, an assembly plugin to 'package' phase within a
> custom packaging type, since assembly plugin requires a meaningful
> configuration to be set.
> At my job, we have a number of poms, each serving a purpose of defining a
> lifecycle for a particular type of project (there's one for jar, a couple for
> wars and several more for other types of deployable artifacts).
> Now that I somewhat understand maven's lifecycle, It seems natural to convert
> such poms to custom packaging types, leaving only a single parent with global
> config and pluginManagement. But it is currently impossible, since we are
> using mostly standard plugins (only occasional dedicated ones) to configure
> projects' lifecycles.
> I did some digging around and put together a relatively straightforward
> change to maven-core:
> https://github.com/apache/maven/compare/master...atanasenko:mng-5805-lifecycle-mojo-config?w=1
> It both introduces support for specifying configuration and dependencies for
> mojo executions:
> {code:xml}
> <install>
> <mojos>
> <mojo>
> <goal>org.apache.maven.plugins:maven-install-plugin:2.4:install</goal>
> <configuration>...</configuration>
> <dependencies>...</dependencies>
> </mojo>
> <mojo>
> ...
> </mojo>
> </mojos>
> </install>
> {code}
> as well as retains support for existing mapping syntax:
> {code:xml}
> <install>org.apache.maven.plugins:maven-install-plugin:2.4:install,
> ...</install>
> {code}
> I will put together some its (as well as make sure that existing are running
> ok) and create a pull request for both. Also, there are a couple of changes
> that break API in org/apache/maven/lifecycle/Lifecycle.java and
> org/apache/maven/lifecycle/mapping/Lifecycle.java. How critical is it to
> mantain compatibility in those two?
> ITS:
> https://github.com/apache/maven-integration-testing/compare/master...atanasenko:mng-5805-lifecycle-mojo-config?w=1
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)