All notable changes to this project will be documented in this file.
-
Updated to Groovy 2.4.6
-
Optionally apply tiles to specific parent. By default, tiles are injected as parents of the primary Maven Project, the
applyBefore
configuration property can now be used to define a partial GAV ( groupId:artifactId ) to declare a injection target. -
Reset source/test directories after processing tiles to detect assignment inside tiles.
-
Added Gittr Chat at https://gitter.im/repaint-io/maven-tiles
-
Restore original ModelProcessor after processing ( fixes issues with M2E and Eclipse )
-
Copy groupId/version from original parent if inherited (Fixes #47)
-
Optionally supress title plugin’s execution id rewriting (Fixes #12)
Thanks to contributions from Erwin Tratar for making this release.
-
Clear collected tiles before processing each project in reactor.
Removes warning for duplicate tiles in reactor builds and fixes bad behaviour if projects in reactor don’t use the same set of tiles.
-
When resolving tile artifacts, we were only resolving the .xml tile artifact and not it’s .pom artifact as well, this caused resolution issues with the flatten plugin ( among others ) when the artifact didn’t exist in your local
`~/.m2/repository
.
-
If something is trying to use the MavenBuilder, because we remain in the lifecycle they were requesting the tile parents and because they were of type "tile" they were not being accepted by plugins that wanted "pom" parents (which is perfectly reasonable). This particularly affected the flatten plugin. There is a change in the smack-talk we introduce to ensure that tile models are returned as pom models.
-
Mixed in tiles were not appearing as distribution management early enough, so now after the resolution of a project’s model, we check if there is a distribution management section and insert it into the MavenProject so the Deploy plugin can pick it up. Much like the deploy plugin does for supporting overrides.
-
GAV tile references can now specify the artifact type to use ( for legacy tiles, or those deployed via other means ) in the form of
groupId:artifact:type:versionrange
. -
Added support for inherited version/groupId
-
Maven Tiles Lifecycle now prevents execution with submodules, this is to prevent breaking support of -pl, -am, and -amd usage from Apache Maven. This also serves to drive one away from parents, forcing one mix in the tiles at the artifact level.
-
The
attach-tile
goal now correctly attaches the tile as the primary artifact for atile
packaged project, and merely as atile' artifact with a `.xml
extension for other packaging types. -
GAV specification now looks for a
.xml
artifact with an empty classifier or one with a specific extension/classifier. -
Updated to use Groovy 2.4.1
-
GAV tile references can now specify the artifact type to use ( for legacy tiles, or those deployed via other means ) in the form of
groupId:artifact:type:versionrange
. -
Added support for inherited version/groupId
-
The
attach-tile
goal now understands a newfiltering
configuration property which will enable standard Maven resource processing for your tile. This enables refering to such things as@project.version@
which will be resolved at install/deploy time. This is primarily useful for use in conjunction with including the tiles plugin in an existing project.
-
When a tile is merged into the build, any plugin execution id’s defined now get prepended with the tile’s GAV reference. This allows for better understanding of what’s happening in your build when looking at a build log file. Very useful for debugging/diagnosing oddities with your build process.
-
The logging around what tiles are being injected into your project as parents has been cleaned up and improved.
-
We’ve removed the copying/updating of the
<parent>
in the effective POM Model - this was causing issues with IntelliJ projects that contained both the tile, and an artifact using that tile. Due to the maven server being reused over all IntelliJ Modules, and that IntelliJ assumes a parents artifact type is alwayspom
and nottile
, a circular reference was being reported to the IDE. As the effective model has already been resolved, this change does not actually effect the build process at all. -
<distributionManagement>
wasn’t being merged from tile models at all. This was preventing the implementation of a standard 'release' style tile.
-
When 1.4 switched to the new 'parental guidance' model of applying tiles, we unfortunately missed a critical step of applying activated and deactivate profiles, as well as the superpom. This meant that all unconfigured plugins simply….. vanished.
-
As part of the above change, a problem dating back to 1.3 where
<configuration>
blocks that were not inside a plugins<execution>
block were not correctly being applied to the plugin.
-
The Maven Tiles Plugin now supports
<pluginManagement>
and<profiles>
declared inside of a tile.
-
Apache Maven configuration parameter defintions for IDE support. This prevents IDEs such as IntelliJ IDEA from reporting
<tiles>
as being unexpected content.