[
https://issues.apache.org/jira/browse/MNG-5478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christian Schulte closed MNG-5478.
----------------------------------
Resolution: Unresolved
> Order of plugin execution does not match order of definition in profile
> -----------------------------------------------------------------------
>
> Key: MNG-5478
> URL: https://issues.apache.org/jira/browse/MNG-5478
> Project: Maven
> Issue Type: Bug
> Components: Plugins and Lifecycle, Profiles
> Affects Versions: 3.0.5
> Environment: Apache Maven 3.0.5
> (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 08:51:28-0500)
> Maven home: /usr/local/Cellar/maven/3.0.5/libexec
> Java version: 1.7.0_21, vendor: Oracle Corporation
> Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "mac os x", version: "10.7.5", arch: "x86_64", family: "mac"
> Reporter: Martin Burger
>
> I would like to create an assembly that contains an obfuscated all-in-one
> version of the main JAR artifacts of a multi-module project. For this
> purpose, I created a profile that binds the following plugins and goals,
> respectively, to phase {{package}}:
> # {{maven-shade-plugin:shade}} - creates a single JAR file that contains all
> classes of all modules (basically, an uberjar that, however, does not contain
> 3rd-party libraries)
> # {{proguard-maven-plugin:proguard}} - creates an obfuscated version of the
> above JAR file
> # {{maven-assembly-plugin:single}} - creates a single distributable archive
> that contains the above obfuscated JAR file alongside of 3rd-party JAR files
> and some CLI scripts
> Having the above configuration, it should be sufficient to call {{maven
> package}} in order to create the desired assembly.
> However, the plugins are not executed in the above order but the ProGuard
> plugin gets executed first which consequently complains about the missing
> input file (the latter should be created by the Shade plugin).
> As a workaround, I created a profile that only binds the first two plugins to
> phase {{package}}. Furthermore, I first call {{mvn package}} to create the
> obfuscated "uberjar"; only then, I call {{mvn assembly:single}} to create the
> desired assembly file.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)