Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MRELEASE-1109] patch JDomModel #201

Merged
merged 1 commit into from
Jan 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ public abstract class AbstractRewritePomsPhase extends AbstractReleasePhase impl
* Regular expression pattern matching Maven expressions (i.e. references to Maven properties).
* The first group selects the property name the expression refers to.
*/
private static final Pattern EXPRESSION_PATTERN = Pattern.compile("\\$\\{(.+)\\}");
private static final Pattern EXPRESSION_PATTERN = Pattern.compile("\\$\\{(.+?)\\}");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is .+? the same as .*

Copy link
Member

@kwin kwin Jan 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No it isn’t: https://docs.oracle.com/javase/tutorial/essential/regex/quant.html. The latter is greedy while the former is reluctant.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Causes MRELEASE-1151. This caused the weekly Jenkins core release to fail on July 2, 2024. We have downgraded Maven Release Plugin to 3.0.1 in order to restore stability to our releases.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a workaround you could try to add configuration property <arguments>-Dchangelist=</arguments> for the maven-release-plugin

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Causes MRELEASE-1151.

As explained in #202 (review), #202 seems to resolves this issue (with one exception), and I think this PR should not have been released without also including #202. I would recommend that the next release either include #202 or revert this PR.


/**
* All Maven properties allowed to be referenced in parent versions via expressions
Expand Down Expand Up @@ -462,7 +462,7 @@ private void rewriteVersion(
*/
public static String extractPropertyFromExpression(String expression) {
Matcher matcher = EXPRESSION_PATTERN.matcher(expression);
if (!matcher.matches()) {
if (!matcher.find()) {
return null;
}
return matcher.group(1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ public void setVersion(String version) {
AbstractRewritePomsPhase.extractPropertyFromExpression(versionElement.getTextNormalize());
Properties properties = getProperties();
if (properties != null) {
properties.computeIfPresent(ciFriendlyPropertyName, (k, v) -> version);
properties.setProperty(ciFriendlyPropertyName, version);
}
} else {
JDomUtils.rewriteValue(versionElement, version);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
</scm>

<properties>
<revision>1.0-SNAPSHOT</revision>
<revision>1.0</revision>
</properties>

<modules>
Expand Down