Expanders 5.35.1
This version of the expanders updates the groupId
of all Maven modules in the expanded application project, to be more
consistent and configurable.
Resources
The expansion resources below provide Expanders 5.35.1
.
Resource | Version |
---|---|
Expanders | 5.35.1 |
nsx-default-stack | 2023.18.1 |
rest-jaxrs-stack | 3.28.1 |
Changes and improvements
Maven groupIds
In the past, all modules in the application project had the groupId org.normalizedsystems
, except for the ear file
module, which was org.normalized
. To finally bring some consistency into this and differentiate them from those in
other applications (to avoid collisions between base-component artifacts), this has now been changed.
The new groupId is now uniform across the entire project and is specifically org.normalizedsystems
with the
application shortname added after it in lowercase. So for shortname testApp
it is org.normalizedsystems.testapp
.
These new groupIds are merely the default settings though, it can now be configured with the application option
maven.groupId
, for which the value will be used as the groupId instead.
PascalCase for expander templating
We've now added PascalCase as a format for all engines in the expander framework, the same way it is available for other formats.
Migration guide
Migrating to new groupIds
Migrating to the new groupIds should be relatively straightforward. Any custom code that adds dependencies on application artifacts should be changed to use the new groupId that adds the application name.
<dependency>
<groupId>org.normalizedsystems</groupId>
<artifactId>utils-proxy</artifactId>
</dependency>
<dependency>
<groupId>org.normalizedsystems.myapp</groupId>
<artifactId>utils-proxy</artifactId>
</dependency>
Any expander that expands some dependencies should of course also be updated, but those should also take into account
the new option maven.groupId
. In the mapping, this could be:
<value name="groupId" eval="application.getOption('maven.groupId').getValueOrElse('org.normalizedsystems.' + application.shortName.toLowerCase)"/>