maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Schulte (JIRA)" <>
Subject [jira] [Closed] (MNG-5478) Order of plugin execution does not match order of definition in profile
Date Thu, 03 Mar 2016 07:12:18 GMT


Christian Schulte closed MNG-5478.
    Resolution: Unresolved

> Order of plugin execution does not match order of definition in profile
> -----------------------------------------------------------------------
>                 Key: MNG-5478
>                 URL:
>             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
> 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
> # {{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

View raw message