repaint-io / maven-tiles

Injecting maven configurations by composition rather than inheritance
154 stars 32 forks source link

Tiles are fetched but not mixed into project when using CI friendly build versions #78

Closed michaellasmanis closed 6 years ago

michaellasmanis commented 6 years ago

When using CI friend build versions (see https://maven.apache.org/maven-ci-friendly.html), tiles are not mixed into the parent.

There is a workaround. If you specify <applyBefore>${project.groupId}:${project.artifactId}</applyBefore> in the plugin configuration, it seems to force the tile into the project.

It seems like the problem has to do with this bit of code in TilesMavenLifecycleParticipant.groovy, line 424: if (model.artifactId == project.artifactId && model.realGroupId == project.groupId && model.realVersion == project.version && model.packaging == project.packaging) { // we're at the first (project) level. Apply tiles here if no explicit parent is set if (!applyBeforeParent) { injectTilesIntoParentStructure(tiles, model, request) tilesInjected = true }

Based on the maven log output, it appears that maven-tiles is not properly resolving project.version: [INFO] --- tiles-maven-plugin: Injecting 1 tiles as intermediary parent artifacts for com.test:civersion-tiletest... [INFO] Mixed 'com.test:civersion-tiletest:0.1.${changelist}' with tile 'com.test:civersion-tiletest-tile:0.1.0-SNAPSHOT' as it's new parent. [INFO] Mixed 'com.test:civersion-tiletest-tile:0.1.0-SNAPSHOT' with original parent '(no parent)' as it's new top level parent.

Test case attached civersion-tiletest.tar.gz. Executing mvn help:effective-pom | grep foo.bar should yield <foo.bar>bar none</foo.bar> when the tile is properly mixed into the project.

michaellasmanis commented 6 years ago

Patch and integration test submitted via Gerrit: https://review.gerrithub.io/c/repaint-io/maven-tiles/+/417904

talios commented 6 years ago

Cheers - will try get a new release out sometime soon with this, and some of the other recent changes included!

michaellasmanis commented 6 years ago

awesome, I just opened one more issue (#80) related to this one which deals w/ the parent poms and tiles (I missed a use case in my original test case). Please hold the release until #80 is closed. I'm working on it now.

pimsierhuis commented 6 years ago

@talios A release with this issue solved would be much appreciated!

rvowles commented 6 years ago

PRs are accepted!

On Tue, Jul 17, 2018 at 9:01 PM pimsierhuis notifications@github.com wrote:

@talios https://github.com/talios A release with this issue solved would be much appreciated!

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/repaint-io/maven-tiles/issues/78#issuecomment-405511941, or mute the thread https://github.com/notifications/unsubscribe-auth/AADZ2GYa_pN_7-HFLx7Ftbyk29QOQ8J8ks5uHafegaJpZM4Uty1f .

--

Richard Vowles, Groovy, Java, Javascript, AngularJS - Contract Software for Hire!

ph: +64275467747, web: www.google.com/+RichardVowles

pimsierhuis commented 6 years ago

A PR for a release? How would that work? (I'm quite new to this community-software-stuff)

rvowles commented 6 years ago

Hey - you fork the repo, fix the problem and then submit your commit back via Github back to us. We can then take it back to Gerrithub for our own review process.

On Tue, Jul 17, 2018 at 11:26 PM pimsierhuis notifications@github.com wrote:

A PR for a release? How would that work? (I'm quite new to this community-software-stuff)

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/repaint-io/maven-tiles/issues/78#issuecomment-405549311, or mute the thread https://github.com/notifications/unsubscribe-auth/AADZ2L_uZN4L6IaRbhijOq46yOP7w4N2ks5uHcnagaJpZM4Uty1f .

--

Richard Vowles, Groovy, Java, Javascript, AngularJS - Contract Software for Hire!

ph: +64275467747, web: www.google.com/+RichardVowles

talios commented 6 years ago

On 18 Jul 2018, at 9:24, Richard Vowles wrote:

Hey - you fork the repo, fix the problem and then submit your commit back via Github back to us. We can then take it back to Gerrithub for our own review process.

We've done that - even had IT tests added that now pass. I was waiting/hoping for some movement on the profile issue that's open ( profiles run, but get get reported as not actually being in the POM - so kinda misleading ).

But I don't think we've got movement on that at the moment, so will make prep the release with what we currently have.


"The ease with which a change can be implemented has no relevance at all to whether it is the right change for the (Java) Platform for all time." — Mark Reinhold.

Mark Derricutt http://www.theoryinpractice.net http://www.chaliceofblood.net http://plus.google.com/+MarkDerricutt http://twitter.com/talios http://facebook.com/mderricutt

rvowles commented 6 years ago

Right, I thought this was for the profile mixin issue. Release the hounds @Mark Derricutt mark@talios.com !

On Wed, Jul 18, 2018 at 11:54 AM Mark Derricutt notifications@github.com wrote:

On 18 Jul 2018, at 9:24, Richard Vowles wrote:

Hey - you fork the repo, fix the problem and then submit your commit back via Github back to us. We can then take it back to Gerrithub for our own review process.

We've done that - even had IT tests added that now pass. I was waiting/hoping for some movement on the profile issue that's open ( profiles run, but get get reported as not actually being in the POM - so kinda misleading ).

But I don't think we've got movement on that at the moment, so will make prep the release with what we currently have.


"The ease with which a change can be implemented has no relevance at all to whether it is the right change for the (Java) Platform for all time." — Mark Reinhold.

Mark Derricutt http://www.theoryinpractice.net http://www.chaliceofblood.net http://plus.google.com/+MarkDerricutt http://twitter.com/talios http://facebook.com/mderricutt

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/repaint-io/maven-tiles/issues/78#issuecomment-405764228, or mute the thread https://github.com/notifications/unsubscribe-auth/AADZ2NgD2btgh1JuPls3BaiSNKORqRkpks5uHnkegaJpZM4Uty1f .

--

Richard Vowles, Groovy, Java, Javascript, AngularJS - Contract Software for Hire!

ph: +64275467747, web: www.google.com/+RichardVowles

talios commented 6 years ago

On 18 Jul 2018, at 12:06, Richard Vowles wrote:

Right, I thought this was for the profile mixin issue. Release the hounds @Mark Derricutt mark@talios.com !

1.12 released and heading to central!


"The ease with which a change can be implemented has no relevance at all to whether it is the right change for the (Java) Platform for all time." — Mark Reinhold.

Mark Derricutt http://www.theoryinpractice.net http://www.chaliceofblood.net http://plus.google.com/+MarkDerricutt http://twitter.com/talios http://facebook.com/mderricutt

pimsierhuis commented 6 years ago

Cool, thanks guys!

talios commented 6 years ago

@pimsierhuis Thanks for the contribution as well!