Release Notes / Version 10.2107
Table Of ContentsExtensions Tool Updated to Version 4.0.2
This extensions tool update to 4.0.2 fixes several minor issues, keeping compatibility with 4.0.1 (besides fixing erroneous behavior). Thus, you can use it even without upgrading your Blueprint workspace to this release, just by using 4.0.2 or LATEST as version number when invoking the tool. Following are the fixes and changes in 4.0.2 (after 4.0.1).
Fix: Find centralized extension module workspace only when name match is exact
When trying to find the workspace a module of a centralized extension is supposed to belong to, a
startWith()
check between module path and workspace path was made.
If the workspace name is only a prefix of the desired module workspace name, this could lead to an incorrect assignment. For example, a module under
apps/caefoobar
would be assigned to workspace
apps/cae
.
Adding a slash to both paths before the
startsWith()
check fixes this issue.
Fix: Normalize module path before calculating parent's relativePath
The relative path of a centralized extension's parent is calculated correctly when it is enabled for the first time.
However, if the centralized extension is already referenced as a
<module>
from its workspace extension aggregator, but its parent's
<relativePath>
has been removed, the computation goes wrong, because the algorithm is confused by the module path already containing
..
path segments.
Using the canonical file before computing the relative path solves the issue.
Robustness: Prevent NPE for BOMs without <dependencyManagement>
Although BOMs without <dependencyManagement> section do not really make sense, they must not lead to an NPE in tooling.
The NPE occurred in
Workspace.java:243
, where the result of
getDependencyManagement()
was not checked to be non-null.
Change log level to warn if extension module cannot be assigned to workspace
For centralized extensions, the tool applies several heuristics to determine the workspace each top-level extension module is to be assigned to. For details, see release note CMS 15943, "Modularization of Project Extensions". If non of these rules lead to a proper workspace assignment, the extension module is ignored. Since the tool continues its work, this is now no longer logged as an error, but only as a warning.
Improve sync goal help text: Start with one-sentence summary
Improved the help text you get when invoking
mvn extensions:help -Dgoal=sync
(CMS-16817)