[
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)