[ 
https://issues.apache.org/jira/browse/MASSEMBLY-992?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17797911#comment-17797911
 ] 

ASF GitHub Bot commented on MASSEMBLY-992:
------------------------------------------

slawekjaranowski opened a new pull request, #174:
URL: https://github.com/apache/maven-assembly-plugin/pull/174

   Following this checklist to help us incorporate your 
   contribution quickly and easily:
   
    - [x] Make sure there is a [JIRA 
issue](https://issues.apache.org/jira/browse/MASSEMBLY) filed 
          for the change (usually before you start working on it).  Trivial 
changes like typos do not 
          require a JIRA issue.  Your pull request should address just this 
issue, without 
          pulling in other changes.
    - [x] Each commit in the pull request should have a meaningful subject line 
and body.
    - [x] Format the pull request title like `[MASSEMBLY-XXX] - Fixes bug in 
ApproximateQuantiles`,
          where you replace `MASSEMBLY-XXX` with the appropriate JIRA issue. 
Best practice
          is to use the JIRA issue title in the pull request title and in the 
first line of the 
          commit message.
    - [ ] Write a pull request description that is detailed enough to 
understand what the pull request does, how, and why.
    - [x] Run `mvn clean verify` to make sure basic checks pass. A more 
thorough check will 
          be performed on your pull request automatically.
    - [x] You have run the integration tests successfully (`mvn -Prun-its clean 
verify`).
   
   If your pull request is about ~20 lines of code you don't need to sign an
   [Individual Contributor License 
Agreement](https://www.apache.org/licenses/icla.pdf) if you are unsure
   please ask on the developers list.
   
   To make clear that you license your contribution under 
   the [Apache License Version 2.0, January 
2004](http://www.apache.org/licenses/LICENSE-2.0)
   you have to acknowledge this by using the following check-box.
   
    - [x] I hereby declare this contribution to be licenced under the [Apache 
License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
   
    - [x] In any other case, please file an [Apache Individual Contributor 
License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   




> Facility to define assembly descriptor in body of POM
> -----------------------------------------------------
>
>                 Key: MASSEMBLY-992
>                 URL: https://issues.apache.org/jira/browse/MASSEMBLY-992
>             Project: Maven Assembly Plugin
>          Issue Type: New Feature
>            Reporter: Garret Wilson
>            Assignee: Slawomir Jaranowski
>            Priority: Major
>             Fix For: next-release
>
>
> The Maven Assembly Plugin allows custom descriptors to be defined, but only 
> in an external file. Please add the capability to define the descriptor in 
> the body of the POM itself.
> Requiring a separate descriptor file makes it almost impossible to declare an 
> assembly in a parent POM so that it can be inherited by child POMs. The 
> documentation describe a way to [share 
> descriptors|https://maven.apache.org/plugins/maven-assembly-plugin/examples/sharing-descriptors.html],
>  but it is complex and doesn't obviously support Maven property interpolation.
> Without this facility, in order to easily inherit an assembly from a parent 
> POM, I'm currently resorting to workaround involving AntRun to generate an 
> assembly descriptor on the fly. See [this 
> {{pom.xml}}|https://github.com/globalmentor/globalmentor-root/blob/main/pom.xml].
>  It's pretty convoluted and tedious to get right. In addition, it has to be 
> placed in a phase that is guaranteed to run before the execution of the Maven 
> Assembly Plugin itself.
> {code:xml}
>           <plugin>
>             <groupId>org.apache.maven.plugins</groupId>
>             <artifactId>maven-antrun-plugin</artifactId>
>             <executions>
>               <execution>
>                 <!--
>                   Generates an assembly descriptor for the binary 
> distribution.
>                 -->
>                 <id>generate-bin-assembly-descriptor</id>
>                 <phase>prepare-package</phase>
>                 <goals>
>                   <goal>run</goal>
>                 </goals>
>                 <configuration>
>                   <skip>${_isSkipGenerateExe}</skip>
>                   <target>
>                     <echo file="${assemblyDirectory}/bin.xml" 
> encoding="UTF-8">
>                       <![CDATA[<assembly 
> xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 
> http://maven.apache.org/xsd/assembly-2.0.0.xsd";>
>   <id>bin</id>
>   <formats>
>     <format>tar.xz</format>
>     <format>zip</format>
>   </formats>
>   <fileSets>
>     <fileSet>
>       <directory>${project.build.directory}</directory>
>       <includes>
>         <include>*-exe.jar</include>
>       </includes>
>       <outputDirectory>bin</outputDirectory>
>     </fileSet>
>     <fileSet>
>       <directory>${binOutputDirectory}</directory>
>       <outputDirectory>bin</outputDirectory>
>       <!--
>         Set access permissions to `-rwxrwxr-x`, which corresponds to adding 
> `+x` to a created file.
>         Manually setting permissions files in the archive is necessary for 
> building on Windows,
>         because input files will have lost attributes during the build 
> process.
>       -->
>       <fileMode>0775</fileMode>
>     </fileSet>
>   </fileSets>
> </assembly>]]>
>                     </echo>
>                   </target>
>                 </configuration>
>               </execution>
>             </executions>
>           </plugin>
> {code}
> This was requested and finally implemented for Versions Maven Plugin; see 
> [#258|https://github.com/mojohaus/versions/issues/258] and 
> [#684|https://github.com/mojohaus/versions/issues/684], along with [_Versions 
> Maven Plugin rules that are 
> inheritable_|https://stackoverflow.com/q/72416739] on Stack Overflow.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to