[
https://issues.apache.org/jira/browse/PORTALS-16?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ate Douma updated PORTALS-16:
-----------------------------
Description:
David Jencks and I thought to have solved the project assembly descriptor from
including the temporary velocity.log file as created by the
maven-remote-resources-plugin.
This velocity.log is created when the maven-remote-resources-plugin finds and
processes a NOTICE.vm under src/main/appended-resources/META-INF as required to
augment the target NOTICE file for build artifacts.
The problem with the predefined assembly descriptors is that you cannot
customize their configuration at all, like by adding includes/excludes.
We tried to solve this by ensuring the assembly plugin was executed at the
earliest possible lifecycle, before the maven-remote-resources-plugin, by
attaching it to the <phase>generate-sources</phase>
When trying this out locally it seemed to work as intended, however when doing
an actual mvn release:preform -Papache-release it turned out not to work after
all.
As the velocity.log itself and its contents are trivial and pretty harmless,
this doesn't poses a serious problem yet, but potentially more complex projects
as what we tested it against so far might produce more temporary build
artifacts which should *NOT* be included in a final source (-project)
distribution.
So, it needs further investigation how to solve this.
Possible options I can think of so far:
- find a way to customise the predefined assembly project descriptor (unlikely,
unless the Maven team "fixes" this at a certain time)
- find a way to suppress the creation of the velocity.log by the
maven-remote-resources-plugin (also unlikely, I already tried but Plexus
pre-initializes the Velocity context upfront making plugin
configuration/overrides always come too late)
- determine why attaching the assembly plugin to
<phase>generate-sources</phase) doesn't work when doing mvn release:perform
and try to fix it from there
- forget about using the predefined project assembly descriptor and use a
custom assembly descriptor instead, either by providing a custom Maven
module/artifact or defining it for each and every project invididually
was:
David Jencks and I thought to have solved the project assembly descriptor from
including the temporary velocity.log file as created by the
maven-remote-resources-plugin.
This velocity.log is created when the maven-remote-resources-plugin finds and
processes a NOTICE.vm under src/main/appended-resources/META-INF as required to
augment the target NOTICE file for build artifacts.
The problem with the predefined assembly descriptors is that you cannot
customize their configuration at all, like by adding includes/excludes.
We tried to solve this by ensuring the assembly plugin was executed at the
earliest possible lifecycle, before the maven-remote-resources-plugin, by
attaching it to the <phase>generate-sources</phase>
When trying this out locally it seemed to work as intended, however when doing
an actual mvn release:preform -Papache-release it turned out not to work after
all.
As the velocity.log itself and its contents are trivial and pretty harmless,
this doesn't poses a serious problem yet, but potentially more complex projects
as what we tested it against so far might produce more temporary build
artifacts which should *NOT* be included in a final source (-project)
distribution.
So, it needs further investigation how to solve this.
Possible options I can think of so far:
- find a way to customise the predefined assembly project descriptor (unlikely,
unless the Maven team "fixes" this at a certain time)
- find a way to suppress the creation of the velocity.log by the
maven-remote-resources-plugin (also unlikely, I already tried by Plexus
pre-initializes the Velocity context upfront making plugin
configuration/overrides always come too late)
- determine why attaching the assembly plugin to
<phase>generate-sources</phase) doesn't work when doing mvn release:perform
and try to fix it from there
- forget about using the predefined project assembly descriptor and use a
custom assembly descriptor instead, either by providing a custom Maven
module/artifact or defining it for each and every project invididually
> portals-pom using project assembly descriptor includes temporary build
> artifact velocity.log in the assembled -project archives
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: PORTALS-16
> URL: https://issues.apache.org/jira/browse/PORTALS-16
> Project: Portals
> Issue Type: Bug
> Components: portals-pom
> Affects Versions: portals-pom-1.2
> Reporter: Ate Douma
> Priority: Minor
>
> David Jencks and I thought to have solved the project assembly descriptor
> from including the temporary velocity.log file as created by the
> maven-remote-resources-plugin.
> This velocity.log is created when the maven-remote-resources-plugin finds and
> processes a NOTICE.vm under src/main/appended-resources/META-INF as required
> to augment the target NOTICE file for build artifacts.
> The problem with the predefined assembly descriptors is that you cannot
> customize their configuration at all, like by adding includes/excludes.
> We tried to solve this by ensuring the assembly plugin was executed at the
> earliest possible lifecycle, before the maven-remote-resources-plugin, by
> attaching it to the <phase>generate-sources</phase>
> When trying this out locally it seemed to work as intended, however when
> doing an actual mvn release:preform -Papache-release it turned out not to
> work after all.
> As the velocity.log itself and its contents are trivial and pretty harmless,
> this doesn't poses a serious problem yet, but potentially more complex
> projects as what we tested it against so far might produce more temporary
> build artifacts which should *NOT* be included in a final source (-project)
> distribution.
> So, it needs further investigation how to solve this.
> Possible options I can think of so far:
> - find a way to customise the predefined assembly project descriptor
> (unlikely, unless the Maven team "fixes" this at a certain time)
> - find a way to suppress the creation of the velocity.log by the
> maven-remote-resources-plugin (also unlikely, I already tried but Plexus
> pre-initializes the Velocity context upfront making plugin
> configuration/overrides always come too late)
> - determine why attaching the assembly plugin to
> <phase>generate-sources</phase) doesn't work when doing mvn release:perform
> and try to fix it from there
> - forget about using the predefined project assembly descriptor and use a
> custom assembly descriptor instead, either by providing a custom Maven
> module/artifact or defining it for each and every project invididually
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.