Skip to main content

Expanders 5.35.1

· 2 min read
Frédéric Hannes
Frédéric Hannes
R&D Engineer

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.

ResourceVersion
Expanders5.35.1
nsx-default-stack2023.18.1
rest-jaxrs-stack3.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.

Before
<dependency>
<groupId>org.normalizedsystems</groupId>
<artifactId>utils-proxy</artifactId>
</dependency>
After
<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)"/>