From c409069da0e3dd72ad96b69c6f75de243fbe032a Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 1 Apr 2023 23:03:41 +0200 Subject: [PATCH 01/18] [maven-release-plugin] prepare for next development iteration --- enforcer-api/pom.xml | 2 +- enforcer-rules/pom.xml | 2 +- maven-enforcer-extension/pom.xml | 2 +- maven-enforcer-plugin/pom.xml | 2 +- pom.xml | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/enforcer-api/pom.xml b/enforcer-api/pom.xml index 3be71a90..b6dc3573 100644 --- a/enforcer-api/pom.xml +++ b/enforcer-api/pom.xml @@ -24,7 +24,7 @@ org.apache.maven.enforcer enforcer - 3.3.0 + 3.3.1-SNAPSHOT enforcer-api diff --git a/enforcer-rules/pom.xml b/enforcer-rules/pom.xml index 3f9cbf80..0bad8094 100644 --- a/enforcer-rules/pom.xml +++ b/enforcer-rules/pom.xml @@ -24,7 +24,7 @@ org.apache.maven.enforcer enforcer - 3.3.0 + 3.3.1-SNAPSHOT enforcer-rules diff --git a/maven-enforcer-extension/pom.xml b/maven-enforcer-extension/pom.xml index eaa60a9f..0895add4 100644 --- a/maven-enforcer-extension/pom.xml +++ b/maven-enforcer-extension/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.enforcer enforcer - 3.3.0 + 3.3.1-SNAPSHOT org.apache.maven.extensions maven-enforcer-extension diff --git a/maven-enforcer-plugin/pom.xml b/maven-enforcer-plugin/pom.xml index 12ccc8e8..d6223f61 100644 --- a/maven-enforcer-plugin/pom.xml +++ b/maven-enforcer-plugin/pom.xml @@ -24,7 +24,7 @@ org.apache.maven.enforcer enforcer - 3.3.0 + 3.3.1-SNAPSHOT org.apache.maven.plugins diff --git a/pom.xml b/pom.xml index 0403ac4a..c0ced911 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ org.apache.maven.enforcer enforcer - 3.3.0 + 3.3.1-SNAPSHOT pom Apache Maven Enforcer @@ -58,7 +58,7 @@ scm:git:https://gitbox.apache.org/repos/asf/maven-enforcer.git scm:git:https://gitbox.apache.org/repos/asf/maven-enforcer.git - enforcer-3.3.0 + HEAD https://github.com/apache/maven-enforcer/tree/${project.scm.tag} @@ -81,7 +81,7 @@ enforcer-archives/enforcer-LATEST 8 4.11.0 - 2023-04-01T21:03:07Z + 2023-04-01T21:03:41Z 1.0.0.v20140518 From 8ebbd4b3c7158e7f391b272039e2faeec53ebfb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Boutemy?= Date: Mon, 24 Apr 2023 11:10:46 +0200 Subject: [PATCH 02/18] configure notifications --- .asf.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.asf.yaml b/.asf.yaml index d00fd529..54b97901 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -29,4 +29,9 @@ github: merge: false rebase: true autolink_jira: - - MENFORCER \ No newline at end of file + - MENFORCER +notifications: + commits: commits@maven.apache.org + issues: issues@maven.apache.org + pullrequests: issues@maven.apache.org + jira_options: link label comment From 741de17c886c25d46ab0b8d834dabc1d722646cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Apr 2023 15:58:03 +0000 Subject: [PATCH 03/18] Bump junit-bom from 5.9.2 to 5.9.3 Bumps [junit-bom](https://github.com/junit-team/junit5) from 5.9.2 to 5.9.3. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.9.2...r5.9.3) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c0ced911..d1803f88 100644 --- a/pom.xml +++ b/pom.xml @@ -164,7 +164,7 @@ org.junit junit-bom - 5.9.2 + 5.9.3 pom import From 01a82433a778b757f4153211c00aca9e7713ac13 Mon Sep 17 00:00:00 2001 From: Stephan Schroevers Date: Sat, 29 Apr 2023 17:15:29 +0200 Subject: [PATCH 04/18] [MENFORCER-481] BanDynamicVersions: make `excludedScopes` optional With these changes, omission of `excludedScopes` no longer causes an NPE. --- .../rules/dependency/BanDynamicVersions.java | 2 +- .../invoker.properties | 18 ++++ .../pom.xml | 87 +++++++++++++++++++ .../verify.groovy | 23 +++++ 4 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/invoker.properties create mode 100644 maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/pom.xml create mode 100644 maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/verify.groovy diff --git a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/dependency/BanDynamicVersions.java b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/dependency/BanDynamicVersions.java index 7224b848..560ff0cc 100644 --- a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/dependency/BanDynamicVersions.java +++ b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/dependency/BanDynamicVersions.java @@ -99,7 +99,7 @@ public final class BanDynamicVersions extends AbstractStandardEnforcerRule { /** * the scopes of dependencies which should be excluded from this rule */ - private List excludedScopes; + private List excludedScopes = Collections.emptyList(); /** * Specify the ignored dependencies. This can be a list of artifacts in the format diff --git a/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/invoker.properties b/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/invoker.properties new file mode 100644 index 00000000..58b6526e --- /dev/null +++ b/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/invoker.properties @@ -0,0 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +invoker.buildResult = failure diff --git a/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/pom.xml b/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/pom.xml new file mode 100644 index 00000000..c1ed2b21 --- /dev/null +++ b/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/pom.xml @@ -0,0 +1,87 @@ + + + + + + 4.0.0 + + org.apache.maven.its.enforcer + ban-dynamic-versions-test + 1.0 + + + + + org.apache.maven.plugins + maven-enforcer-plugin + @project.version@ + + + test + + enforce + + + + + + + + + + + + + + + + org.apache.maven.plugins.enforcer.its + menforcer138_archiver + + 2.1.1 + + + org.apache.maven.plugins.enforcer.its + menforcer138_utils + [1.0,5] + test + + + org.apache.maven.plugins.enforcer.its + menforcer427-b + 1.0 + + + + + + + org.apache.maven.plugins.enforcer.its + menforcer138_archiver + [1.3,2.1.1] + provided + + + org.apache.maven.plugins.enforcer.its + menforcer138_utils + + + + diff --git a/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/verify.groovy b/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/verify.groovy new file mode 100644 index 00000000..6ed6a5b6 --- /dev/null +++ b/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions-scope-all-scopes/verify.groovy @@ -0,0 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +File buildLog = new File( basedir, 'build.log' ) +assert buildLog.text.contains( '[ERROR] Dependency org.apache.maven.plugins.enforcer.its:menforcer138_archiver:jar:2.1.1 (provided) is referenced with a banned dynamic version [1.3,2.1.1]' ) +assert buildLog.text.contains( 'Dependency org.apache.maven.plugins.enforcer.its:menforcer138_utils:jar:3.0 (test) is referenced with a banned dynamic version [1.0,5]' ) +assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.enforcer.rules.dependency.BanDynamicVersions failed with message' ) +assert buildLog.text.contains( 'ERROR] Found 2 dependencies with dynamic versions.' ) From b3587ec9bd4d69b1dfd3ce88196079f7e3003916 Mon Sep 17 00:00:00 2001 From: Stephan Schroevers Date: Mon, 1 May 2023 13:58:30 +0200 Subject: [PATCH 05/18] [MENFORCER-480] BanDynamicVersions: fix `ignores` parameter (#269) Matching artifacts should be _excluded_ rather than included. --- .../enforcer/rules/dependency/BanDynamicVersions.java | 2 +- .../src/it/projects/ban-dynamic-versions/pom.xml | 9 +++++++++ .../src/it/projects/ban-dynamic-versions/verify.groovy | 3 ++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/dependency/BanDynamicVersions.java b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/dependency/BanDynamicVersions.java index 560ff0cc..5a827c88 100644 --- a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/dependency/BanDynamicVersions.java +++ b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/dependency/BanDynamicVersions.java @@ -227,7 +227,7 @@ private static final class ExcludeArtifactPatternsPredicate implements Predicate @Override public boolean test(DependencyNode depNode) { - return artifactMatcher.match(ArtifactUtils.toArtifact(depNode)); + return !artifactMatcher.match(ArtifactUtils.toArtifact(depNode)); } } diff --git a/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions/pom.xml b/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions/pom.xml index 71afef54..304f38bd 100644 --- a/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions/pom.xml @@ -45,6 +45,9 @@ test true + + *:menforcer134_project + @@ -109,6 +112,12 @@ [1.0] + + + org.apache.maven.plugins.enforcer.its + menforcer134_project + 1.0-SNAPSHOT + diff --git a/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions/verify.groovy b/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions/verify.groovy index e2a4ae94..f88976b7 100644 --- a/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions/verify.groovy +++ b/maven-enforcer-plugin/src/it/projects/ban-dynamic-versions/verify.groovy @@ -21,5 +21,6 @@ assert buildLog.text.contains( '[ERROR] Dependency org.apache.maven.plugins.enfo assert buildLog.text.contains( '[ERROR] Dependency org.apache.maven.plugins.enforcer.its:menforcer138_io:jar:LATEST (compile) is referenced with a banned dynamic version LATEST' ) assert buildLog.text.contains( '[ERROR] Dependency org.apache.maven.plugins.enforcer.its:menforcer134_model:jar:1.0-SNAPSHOT (compile) is referenced with a banned dynamic version 1.0-SNAPSHOT' ) assert buildLog.text.contains( '[ERROR] Dependency org.apache.maven.plugins.enforcer.its:menforcer427-a:jar:1.0 (compile) via org.apache.maven.plugins.enforcer.its:menforcer427:jar:1.0 is referenced with a banned dynamic version [1.0,2)' ) +assert buildLog.text.contains( 'Dependency org.apache.maven.plugins.enforcer.its:menforcer134_modelbuilder:jar:1.0-SNAPSHOT (compile) via org.apache.maven.plugins.enforcer.its:menforcer134_project:jar:1.0-SNAPSHOT is referenced with a banned dynamic version 1.0-SNAPSHOT' ) assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.enforcer.rules.dependency.BanDynamicVersions failed with message' ) -assert buildLog.text.contains( 'ERROR] Found 4 dependencies with dynamic versions.' ) +assert buildLog.text.contains( 'ERROR] Found 5 dependencies with dynamic versions.' ) From 3792c71a8768b8959de33155f1a4e0457ed760d6 Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Mon, 22 May 2023 13:24:12 +0200 Subject: [PATCH 06/18] [MNG-6829] Replace StringUtils#isEmpty(String) and #isNotEmpty(String) (#272) * [MNG-6829] Replace StringUtils#isEmpty(String) and #isNotEmpty(String) Continuation of https://issues.apache.org/jira/browse/MNG-6829 Review requested of @elharo Use this link to re-run the recipe: https://public.moderne.io/recipes/org.openrewrite.java.migrate.apache.commons.lang.IsNotEmptyToJdk?organizationId=QXBhY2hlIE1hdmVu Co-authored-by: Moderne * Remove duplicate null check Co-authored-by: Stephan Schroevers * Apply Spotless --------- Co-authored-by: Moderne Co-authored-by: Stephan Schroevers --- .../enforcer/rules/BannedRepositories.java | 3 +-- .../enforcer/rules/EvaluateBeanshell.java | 3 +-- .../enforcer/rules/RequireActiveProfile.java | 3 +-- .../maven/enforcer/rules/RequireOS.java | 25 ++++++++++--------- .../enforcer/rules/RequirePluginVersions.java | 10 ++++---- .../version/AbstractVersionEnforcer.java | 7 +++--- .../rules/version/RequireJavaVersion.java | 2 +- 7 files changed, 25 insertions(+), 28 deletions(-) diff --git a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/BannedRepositories.java b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/BannedRepositories.java index 9284f635..cff0840f 100644 --- a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/BannedRepositories.java +++ b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/BannedRepositories.java @@ -29,7 +29,6 @@ import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.enforcer.rule.api.EnforcerRuleException; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.util.StringUtils; /** * This rule checks that this project's maven session whether have banned repositories. @@ -91,7 +90,7 @@ public void execute() throws EnforcerRuleException { String errMsg = repoErrMsg + pluginRepoErrMsg; - if (errMsg != null && !StringUtils.isEmpty(errMsg)) { + if (errMsg != null && !errMsg.isEmpty()) { throw new EnforcerRuleException(errMsg); } } diff --git a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/EvaluateBeanshell.java b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/EvaluateBeanshell.java index 07dfb7c8..8bf59367 100644 --- a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/EvaluateBeanshell.java +++ b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/EvaluateBeanshell.java @@ -28,7 +28,6 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleException; import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException; import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator; -import org.codehaus.plexus.util.StringUtils; /** * Rule for Maven Enforcer using Beanshell to evaluate a conditional expression. @@ -70,7 +69,7 @@ public void execute() throws EnforcerRuleException { getLog().debug("Echo script : " + script); if (!evaluateCondition(script)) { String message = getMessage(); - if (StringUtils.isEmpty(message)) { + if (message == null || message.isEmpty()) { message = "The expression \"" + condition + "\" is not true."; } throw new EnforcerRuleException(message); diff --git a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireActiveProfile.java b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireActiveProfile.java index 58878ce5..7df8486a 100644 --- a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireActiveProfile.java +++ b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireActiveProfile.java @@ -28,7 +28,6 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleException; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.util.StringUtils; /** * This rule checks that some profiles are active. @@ -72,7 +71,7 @@ public void setAll(boolean all) { @Override public void execute() throws EnforcerRuleException { List missingProfiles = new ArrayList<>(); - if (StringUtils.isNotEmpty(profiles)) { + if (profiles != null && !profiles.isEmpty()) { String[] profileIds = profiles.split(","); for (String profileId : profileIds) { if (!isProfileActive(project, profileId)) { diff --git a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireOS.java b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireOS.java index eae734aa..e6051436 100644 --- a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireOS.java +++ b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireOS.java @@ -103,16 +103,16 @@ public void execute() throws EnforcerRuleException { if (isValidFamily(this.family)) { if (!isAllowed()) { String message = getMessage(); - if (StringUtils.isEmpty(message)) { + if (message == null || message.isEmpty()) { // @formatter:off - message = ("OS Arch: " + message = "OS Arch: " + Os.OS_ARCH + " Family: " + Os.OS_FAMILY + " Name: " + Os.OS_NAME + " Version: " + Os.OS_VERSION + " is not allowed by" + (arch != null ? " Arch=" + arch : "") + (family != null ? " Family=" + family : "") + (name != null ? " Name=" + name : "") - + (version != null ? " Version=" + version : "")); + + (version != null ? " Version=" + version : ""); // @formatter:on } throw new EnforcerRuleException(message); @@ -152,10 +152,10 @@ public boolean isAllowed() { * @return true if all parameters are empty. */ public boolean allParamsEmpty() { - return (StringUtils.isEmpty(family) - && StringUtils.isEmpty(arch) - && StringUtils.isEmpty(name) - && StringUtils.isEmpty(version)); + return (family == null || family.isEmpty()) + && (arch == null || arch.isEmpty()) + && (name == null || name.isEmpty()) + && (version == null || version.isEmpty()); } /** @@ -221,7 +221,8 @@ public boolean isValidFamily(String theFamily) { // in case they are checking !family theFamily = StringUtils.stripStart(theFamily, "!"); - return (StringUtils.isEmpty(theFamily) || Os.getValidFamilies().contains(theFamily)); + return (theFamily == null || theFamily.isEmpty()) + || Os.getValidFamilies().contains(theFamily); } /** @@ -271,16 +272,16 @@ public void setDisplay(boolean display) { public String getCacheId() { // return the hashcodes of all the parameters StringBuilder b = new StringBuilder(); - if (StringUtils.isNotEmpty(version)) { + if (version != null && !version.isEmpty()) { b.append(version.hashCode()); } - if (StringUtils.isNotEmpty(name)) { + if (name != null && !name.isEmpty()) { b.append(name.hashCode()); } - if (StringUtils.isNotEmpty(arch)) { + if (arch != null && !arch.isEmpty()) { b.append(arch.hashCode()); } - if (StringUtils.isNotEmpty(family)) { + if (family != null && !family.isEmpty()) { b.append(family.hashCode()); } return b.toString(); diff --git a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequirePluginVersions.java b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequirePluginVersions.java index 1c9db6e5..e18e7abc 100644 --- a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequirePluginVersions.java +++ b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequirePluginVersions.java @@ -289,7 +289,7 @@ private void handleMessagesToTheUser(MavenProject project, List failures newMsg.append(System.lineSeparator()); } String message = getMessage(); - if (StringUtils.isNotEmpty(message)) { + if (message != null && !message.isEmpty()) { newMsg.append(message); } @@ -347,7 +347,7 @@ Set removeUncheckedPlugins(Collection uncheckedPlugins, Set combineUncheckedPlugins( Collection uncheckedPlugins, String uncheckedPluginsList) { // if the comma list is empty, then there's nothing to do here. - if (StringUtils.isNotEmpty(uncheckedPluginsList)) { + if (uncheckedPluginsList != null && !uncheckedPluginsList.isEmpty()) { // make sure there is a collection to add to. if (uncheckedPlugins == null) { uncheckedPlugins = new HashSet<>(); @@ -489,7 +489,7 @@ private Set getBoundPlugins(MavenProject project, String thePhases) String[] lifecyclePhases = thePhases.split(","); for (int i = 0; i < lifecyclePhases.length; i++) { String lifecyclePhase = lifecyclePhases[i]; - if (StringUtils.isNotEmpty(lifecyclePhase)) { + if (lifecyclePhase != null && !lifecyclePhase.isEmpty()) { try { Lifecycle lifecycle = getLifecycleForPhase(lifecyclePhase); getLog().debug("getBoundPlugins(): " + project.getId() + " " + lifecyclePhase + " " @@ -561,7 +561,7 @@ public boolean hasValidVersionSpecified(Plugin source, List plugi } private boolean isValidVersion(String version) { - return StringUtils.isNotEmpty(version) && !StringUtils.isWhitespace(version); + return (version != null && !version.isEmpty()) && !StringUtils.isWhitespace(version); } private boolean isMatchingPlugin(Plugin source, PluginWrapper plugin) { @@ -610,7 +610,7 @@ private Set getAllPlugins(MavenProject project, Lifecycle lifecycle) getLog().debug(" lifecycleMapping = " + entry.getKey()); String pluginsForLifecycle = (String) entry.getValue(); getLog().debug(" plugins = " + pluginsForLifecycle); - if (StringUtils.isNotEmpty(pluginsForLifecycle)) { + if (pluginsForLifecycle != null && !pluginsForLifecycle.isEmpty()) { String pluginList[] = pluginsForLifecycle.split(","); for (String plugin : pluginList) { plugin = StringUtils.strip(plugin); diff --git a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/AbstractVersionEnforcer.java b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/AbstractVersionEnforcer.java index 946a58de..80ffbb4f 100644 --- a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/AbstractVersionEnforcer.java +++ b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/AbstractVersionEnforcer.java @@ -23,7 +23,6 @@ import org.apache.maven.artifact.versioning.VersionRange; import org.apache.maven.enforcer.rule.api.EnforcerRuleException; import org.apache.maven.enforcer.rules.AbstractStandardEnforcerRule; -import org.codehaus.plexus.util.StringUtils; import static org.apache.maven.enforcer.rules.utils.ArtifactMatcher.containsVersion; @@ -62,7 +61,7 @@ public void enforceVersion(String variableName, String requiredVersionRange, Art throws EnforcerRuleException // CHECKSTYLE_ON: LineLength { - if (StringUtils.isEmpty(requiredVersionRange)) { + if (requiredVersionRange == null || requiredVersionRange.isEmpty()) { throw new EnforcerRuleException(variableName + " version can't be empty."); } else { @@ -81,7 +80,7 @@ public void enforceVersion(String variableName, String requiredVersionRange, Art } else { String message = getMessage(); - if (StringUtils.isEmpty(message)) { + if (message == null || message.isEmpty()) { message = msg + " is not in the allowed range " + toString(vr) + "."; } @@ -106,7 +105,7 @@ protected static String toString(VersionRange vr) { @Override public String getCacheId() { - if (StringUtils.isNotEmpty(version)) { + if (version != null && !version.isEmpty()) { // return the hashcodes of the parameter that matters return "" + version.hashCode(); } else { diff --git a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java index 1a37c497..da14b2c6 100644 --- a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java +++ b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java @@ -119,7 +119,7 @@ public static String normalizeJDKVersion(String theJdkVersion) { String section = iter.next(); section = section.replaceAll("[^0-9]", ""); - if (StringUtils.isNotEmpty(section)) { + if (section != null && !section.isEmpty()) { buffer.append(Integer.parseInt(section)); if (i != 2) { From cd8b7fa145b0c745caf527f6fc8833cd9cd7db4c Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 21 Mar 2023 00:27:41 +0100 Subject: [PATCH 07/18] [MENFORCER-426] DependencyConvergence transitive dependencies with version range IT for ensure that DependencyConvergence with transitive dependencies with version range works correctly Root cause was fixed in Maven 3.9.2 --- .../it/mrm/repository/menforcer426-a-1.0.pom | 39 ++++++++++++ .../it/mrm/repository/menforcer426-b-1.0.pom | 34 +++++++++++ .../invoker.properties | 18 ++++++ .../dependency-convergence-ranges/pom.xml | 60 +++++++++++++++++++ 4 files changed, 151 insertions(+) create mode 100644 maven-enforcer-plugin/src/it/mrm/repository/menforcer426-a-1.0.pom create mode 100644 maven-enforcer-plugin/src/it/mrm/repository/menforcer426-b-1.0.pom create mode 100644 maven-enforcer-plugin/src/it/projects/dependency-convergence-ranges/invoker.properties create mode 100644 maven-enforcer-plugin/src/it/projects/dependency-convergence-ranges/pom.xml diff --git a/maven-enforcer-plugin/src/it/mrm/repository/menforcer426-a-1.0.pom b/maven-enforcer-plugin/src/it/mrm/repository/menforcer426-a-1.0.pom new file mode 100644 index 00000000..c203ffae --- /dev/null +++ b/maven-enforcer-plugin/src/it/mrm/repository/menforcer426-a-1.0.pom @@ -0,0 +1,39 @@ + + + + 4.0.0 + org.apache.maven.plugins.enforcer.its + menforcer426-a + 1.0 + + + + org.apache.maven.plugins.enforcer.its + menforcer426-b + 1.0 + + + org.apache.maven.plugins.enforcer.its + menforcer128_api + [1.0.0,2.0.0) + + + \ No newline at end of file diff --git a/maven-enforcer-plugin/src/it/mrm/repository/menforcer426-b-1.0.pom b/maven-enforcer-plugin/src/it/mrm/repository/menforcer426-b-1.0.pom new file mode 100644 index 00000000..9582e37b --- /dev/null +++ b/maven-enforcer-plugin/src/it/mrm/repository/menforcer426-b-1.0.pom @@ -0,0 +1,34 @@ + + + + 4.0.0 + org.apache.maven.plugins.enforcer.its + menforcer426-b + 1.0 + + + + org.apache.maven.plugins.enforcer.its + menforcer128_api + [1.0.0,2.0.0) + + + \ No newline at end of file diff --git a/maven-enforcer-plugin/src/it/projects/dependency-convergence-ranges/invoker.properties b/maven-enforcer-plugin/src/it/projects/dependency-convergence-ranges/invoker.properties new file mode 100644 index 00000000..9c16d577 --- /dev/null +++ b/maven-enforcer-plugin/src/it/projects/dependency-convergence-ranges/invoker.properties @@ -0,0 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +invoker.maven.version = 3.9.2+ diff --git a/maven-enforcer-plugin/src/it/projects/dependency-convergence-ranges/pom.xml b/maven-enforcer-plugin/src/it/projects/dependency-convergence-ranges/pom.xml new file mode 100644 index 00000000..983fff96 --- /dev/null +++ b/maven-enforcer-plugin/src/it/projects/dependency-convergence-ranges/pom.xml @@ -0,0 +1,60 @@ + + + + 4.0.0 + test + menforcer426 + 1.0 + + https://issues.apache.org/jira/browse/MENFORCER-426 + Check transitive dependencies with range version + + + + org.apache.maven.plugins.enforcer.its + menforcer426-a + 1.0 + + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + @project.version@ + + + enforce + + + + + + + enforce + + + + + + + \ No newline at end of file From d38ed5fcd9ae5f1c6f4e5f47f4164806c7763aeb Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 21 May 2023 13:51:49 +0200 Subject: [PATCH 08/18] [MENFORCER-393] Extend IT for dependencyConvergence and no standard protocol in repository --- .../src/it/projects/dependencies_converge/pom.xml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/maven-enforcer-plugin/src/it/projects/dependencies_converge/pom.xml b/maven-enforcer-plugin/src/it/projects/dependencies_converge/pom.xml index 5cb6be30..c3cd04c0 100644 --- a/maven-enforcer-plugin/src/it/projects/dependencies_converge/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/dependencies_converge/pom.xml @@ -41,6 +41,13 @@ + + + + org.jruby + jruby-stdlib + 9.2.13.0 + @@ -53,7 +60,7 @@ enforce - + From 7a8e8824b129c57a5d989e151087f3b6d71d7b87 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Jun 2023 16:21:33 +0000 Subject: [PATCH 09/18] Bump snappy-java Bumps [snappy-java](https://github.com/xerial/snappy-java) from 1.1.8.3 to 1.1.10.1. - [Release notes](https://github.com/xerial/snappy-java/releases) - [Commits](https://github.com/xerial/snappy-java/compare/1.1.8.3...v1.1.10.1) --- updated-dependencies: - dependency-name: org.xerial.snappy:snappy-java dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- .../dependency-convergence_transitive_provided/module1/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maven-enforcer-plugin/src/it/projects/dependency-convergence_transitive_provided/module1/pom.xml b/maven-enforcer-plugin/src/it/projects/dependency-convergence_transitive_provided/module1/pom.xml index 913e7664..cea9071f 100644 --- a/maven-enforcer-plugin/src/it/projects/dependency-convergence_transitive_provided/module1/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/dependency-convergence_transitive_provided/module1/pom.xml @@ -39,7 +39,7 @@ org.xerial.snappy snappy-java - 1.1.8.3 + 1.1.10.1 org.apache.commons From 3300c1acd3b600974a2a3a4f883138ad6b2d16c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Jun 2023 19:44:44 +0000 Subject: [PATCH 10/18] Bump guava Bumps [guava](https://github.com/google/guava) from 30.1.1-jre to 32.0.0-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- .../src/it/projects/dependency-convergence-cycle/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maven-enforcer-plugin/src/it/projects/dependency-convergence-cycle/pom.xml b/maven-enforcer-plugin/src/it/projects/dependency-convergence-cycle/pom.xml index 217c1f5c..bea9db87 100644 --- a/maven-enforcer-plugin/src/it/projects/dependency-convergence-cycle/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/dependency-convergence-cycle/pom.xml @@ -36,7 +36,7 @@ com.google.guava guava - 30.1.1-jre + 32.0.0-jre org.seleniumhq.selenium From 73b2aa7ab22298e32999e378ed2d61cc64fa61fe Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 27 Jun 2023 00:58:55 +0200 Subject: [PATCH 11/18] [MENFORCER-485] Upgrade Parent to 40 - upgrade parent - use versions from parent in IT --- .../it/projects/MENFORCER-306/parent/pom.xml | 20 ++++++++-------- .../pom.xml | 18 +++++++-------- .../module1/pom.xml | 13 ++++------- .../pom.xml | 23 +++++++++---------- .../pom.xml | 18 +++++++-------- .../pom.xml | 2 +- .../pom.xml | 18 +++++++-------- .../pom.xml | 6 ++--- pom.xml | 13 +++++------ 9 files changed, 63 insertions(+), 68 deletions(-) diff --git a/maven-enforcer-plugin/src/it/projects/MENFORCER-306/parent/pom.xml b/maven-enforcer-plugin/src/it/projects/MENFORCER-306/parent/pom.xml index cdfd4c28..2cded366 100644 --- a/maven-enforcer-plugin/src/it/projects/MENFORCER-306/parent/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/MENFORCER-306/parent/pom.xml @@ -55,52 +55,52 @@ under the License. org.apache.maven.plugins maven-clean-plugin - 3.1.0 + @version.maven-clean-plugin@ org.apache.maven.plugins maven-install-plugin - 2.5.2 + @version.maven-install-plugin@ org.apache.maven.plugins maven-site-plugin - 3.7.1 + @version.maven-site-plugin@ org.apache.maven.plugins maven-deploy-plugin - 2.8.2 + @version.maven-deploy-plugin@ org.apache.maven.plugins maven-compiler-plugin - 3.7.0 + @version.maven-compiler-plugin@ org.apache.maven.plugins maven-plugin-plugin - 3.5.2 + @version.maven-plugin-tools@ org.apache.maven.plugins maven-surefire-plugin - 2.21.0 + @version.maven-surefire@ org.apache.maven.plugins maven-jar-plugin - 3.1.0 + @version.maven-jar-plugin@ org.apache.maven.plugins maven-resources-plugin - 3.1.0 + @version.maven-resources-plugin@ org.apache.maven.plugins maven-wrapper-plugin - 3.0.1 + @version.maven-wrapper-plugin@ diff --git a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions/pom.xml b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions/pom.xml index 487b348b..60710f0c 100644 --- a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions/pom.xml @@ -36,47 +36,47 @@ org.apache.maven.plugins maven-clean-plugin - 2.5 + @version.maven-clean-plugin@ org.apache.maven.plugins maven-resources-plugin - 2.6 + @version.maven-resources-plugin@ org.apache.maven.plugins maven-compiler-plugin - 2.5.1 + @version.maven-compiler-plugin@ org.apache.maven.plugins maven-surefire-plugin - 2.12.4 + @version.maven-surefire@ org.apache.maven.plugins maven-jar-plugin - 2.4 + @version.maven-jar-plugin@ org.apache.maven.plugins maven-install-plugin - 2.4 + @version.maven-install-plugin@ org.apache.maven.plugins maven-deploy-plugin - 2.7 + @version.maven-deploy-plugin@ org.apache.maven.plugins maven-site-plugin - 3.2 + @version.maven-site-plugin@ org.apache.maven.plugins maven-wrapper-plugin - 3.0.1 + @version.maven-wrapper-plugin@ ${expressionplugin.groupId} diff --git a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions2/module1/pom.xml b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions2/module1/pom.xml index 8f124fe9..4f2857d0 100644 --- a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions2/module1/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions2/module1/pom.xml @@ -35,9 +35,6 @@ 1.8 1.8 - 3.1.1 - 3.13.0 - 3.0.0-M4 @@ -46,27 +43,27 @@ org.apache.maven.plugins maven-antrun-plugin - ${maven.antrun.plugin.version} + @version.maven-antrun-plugin@ org.apache.maven.plugins maven-checkstyle-plugin - ${checkstyle.plugin.version} + @version.maven-checkstyle-plugin@ org.apache.maven.plugins maven-failsafe-plugin - ${surefire.version} + @version.maven-surefire@ org.apache.maven.plugins maven-pmd-plugin - ${pmd.plugin.version} + @version.maven-pmd-plugin@ org.apache.maven.plugins maven-surefire-plugin - ${surefire.version} + @version.maven-surefire@ diff --git a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions2/pom.xml b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions2/pom.xml index c4a0c350..1c806464 100644 --- a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions2/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions2/pom.xml @@ -37,7 +37,6 @@ UTF-8 UTF-8 - 3.0.0 @@ -46,57 +45,57 @@ org.apache.maven.plugins maven-clean-plugin - 3.1.0 + @version.maven-clean-plugin@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + @version.maven-compiler-plugin@ org.apache.maven.plugins maven-dependency-plugin - 3.1.2 + @version.maven-dependency-plugin@ org.apache.maven.plugins maven-deploy-plugin - 3.0.0-M1 + @version.maven-deploy-plugin@ org.apache.maven.plugins maven-enforcer-plugin - 3.0.0-M3 + @project.version@ org.apache.maven.plugins maven-install-plugin - 3.0.0-M1 + @version.maven-install-plugin@ org.apache.maven.plugins maven-jar-plugin - 3.2.0 + @version.maven-jar-plugin@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.1.0 + @version.maven-project-info-reports-plugin@ org.apache.maven.plugins maven-release-plugin - 3.0.0-M1 + @version.maven-release-plugin@ org.apache.maven.plugins maven-site-plugin - 3.9.1 + @version.maven-site-plugin@ org.apache.maven.plugins maven-wrapper-plugin - 3.0.1 + @version.maven-wrapper-plugin@ diff --git a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-mm-ci-friendly/pom.xml b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-mm-ci-friendly/pom.xml index 90507997..3b95ee9e 100644 --- a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-mm-ci-friendly/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-mm-ci-friendly/pom.xml @@ -40,47 +40,47 @@ under the License. org.apache.maven.plugins maven-clean-plugin - 2.5 + @version.maven-clean-plugin@ org.apache.maven.plugins maven-resources-plugin - 2.6 + @version.maven-resources-plugin@ org.apache.maven.plugins maven-compiler-plugin - 2.5.1 + @version.maven-compiler-plugin@ org.apache.maven.plugins maven-surefire-plugin - 2.12.4 + @version.maven-surefire@ org.apache.maven.plugins maven-jar-plugin - 2.4 + @version.maven-jar-plugin@ org.apache.maven.plugins maven-install-plugin - 2.4 + @version.maven-install-plugin@ org.apache.maven.plugins maven-deploy-plugin - 2.7 + @version.maven-deploy-plugin@ org.apache.maven.plugins maven-site-plugin - 3.2 + @version.maven-site-plugin@ org.apache.maven.plugins maven-wrapper-plugin - 3.0.1 + @version.maven-wrapper-plugin@ org.apache.maven.plugins diff --git a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-plugin-with-integration-test-lifecycle/pom.xml b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-plugin-with-integration-test-lifecycle/pom.xml index e114db2a..9f13b5c2 100644 --- a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-plugin-with-integration-test-lifecycle/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-plugin-with-integration-test-lifecycle/pom.xml @@ -88,7 +88,7 @@ maven-resources-plugin - 2.4.3 + @version.maven-resources-plugin@ diff --git a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-projectGAVexpressions/pom.xml b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-projectGAVexpressions/pom.xml index 757f7f76..8a1de402 100644 --- a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-projectGAVexpressions/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-projectGAVexpressions/pom.xml @@ -36,47 +36,47 @@ org.apache.maven.plugins maven-clean-plugin - 2.5 + @version.maven-clean-plugin@ org.apache.maven.plugins maven-resources-plugin - 2.6 + @version.maven-resources-plugin@ org.apache.maven.plugins maven-compiler-plugin - 2.5.1 + @version.maven-compiler-plugin@ org.apache.maven.plugins maven-surefire-plugin - 2.12.4 + @version.maven-surefire@ org.apache.maven.plugins maven-jar-plugin - 2.4 + @version.maven-jar-plugin@ org.apache.maven.plugins maven-install-plugin - 2.4 + @version.maven-install-plugin@ org.apache.maven.plugins maven-deploy-plugin - 2.7 + @version.maven-deploy-plugin@ org.apache.maven.plugins maven-site-plugin - 3.2 + @version.maven-site-plugin@ org.apache.maven.plugins maven-wrapper-plugin - 3.0.1 + @version.maven-wrapper-plugin@ diff --git a/maven-enforcer-plugin/src/it/projects/require-same-versions_with-dependencies-failure/pom.xml b/maven-enforcer-plugin/src/it/projects/require-same-versions_with-dependencies-failure/pom.xml index 7550644f..7d57af38 100644 --- a/maven-enforcer-plugin/src/it/projects/require-same-versions_with-dependencies-failure/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/require-same-versions_with-dependencies-failure/pom.xml @@ -54,12 +54,12 @@ org.apache.maven.plugins maven-surefire-plugin - 2.14 + @version.maven-surefire@ org.apache.maven.plugins maven-failsafe-plugin - 2.14 + @version.maven-surefire@ @@ -82,7 +82,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 2.14 + @version.maven-surefire@ diff --git a/pom.xml b/pom.xml index d1803f88..62a279a2 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.apache.maven maven-parent - 39 + 40 org.apache.maven.enforcer @@ -84,6 +84,11 @@ 2023-04-01T21:03:41Z 1.0.0.v20140518 + + + 3.3.0 + 3.21.0 + 3.2.0 @@ -203,12 +208,6 @@ - - - org.apache.maven.plugins - maven-invoker-plugin - 3.5.1 - org.apache.maven.plugins maven-site-plugin From 4ba1dd08bfc480f0458076bd65f46fc78cfc74fc Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 27 Jun 2023 08:44:52 +0200 Subject: [PATCH 12/18] [MENFORCER-486] Bump commons-codec from 1.15 to 1.16.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 62a279a2..95cd2d01 100644 --- a/pom.xml +++ b/pom.xml @@ -147,7 +147,7 @@ commons-codec commons-codec - 1.15 + 1.16.0 commons-io From b3208e1d58582749246d05a4121b189993716faf Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Wed, 28 Jun 2023 22:07:56 +0200 Subject: [PATCH 13/18] [MENFORCER-487] Bump commons-codec from 1.15 to 1.16.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 95cd2d01..59d3e50c 100644 --- a/pom.xml +++ b/pom.xml @@ -152,7 +152,7 @@ commons-io commons-io - 2.11.0 + 2.13.0 org.apache.commons From 8c92bdab3ca264d9747a6d892b093d55ef917955 Mon Sep 17 00:00:00 2001 From: Konrad Windszus Date: Tue, 4 Jul 2023 19:30:55 +0200 Subject: [PATCH 14/18] Clarify availability of AbstractEnforcerRule Improve links to javadoc Fix some typos --- .../apache/maven/enforcer/rule/api/AbstractEnforcerRule.java | 2 +- .../maven/enforcer/rule/api/AbstractEnforcerRuleBase.java | 2 +- .../enforcer/rule/api/AbstractEnforcerRuleConfigProvider.java | 2 +- .../org/apache/maven/enforcer/rule/api/EnforcerLogger.java | 2 +- .../org/apache/maven/enforcer/rule/api/EnforcerRuleBase.java | 2 +- .../org/apache/maven/enforcer/rule/api/EnforcerRuleError.java | 2 +- enforcer-api/src/site/apt/writing-a-custom-rule.apt.vm | 4 ++-- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRule.java b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRule.java index d9f9ef8d..6a96cf6b 100644 --- a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRule.java +++ b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRule.java @@ -25,7 +25,7 @@ * Writing a custom rule * * @author Slawomir Jaranowski - * @since 3.2.0 + * @since 3.2.1 */ public abstract class AbstractEnforcerRule extends AbstractEnforcerRuleBase { diff --git a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRuleBase.java b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRuleBase.java index a1856727..ae2d54f1 100644 --- a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRuleBase.java +++ b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRuleBase.java @@ -24,7 +24,7 @@ * Used for internal purpose. * * @author Slawomir Jaranowski - * @since 3.2.0 + * @since 3.2.1 */ abstract class AbstractEnforcerRuleBase implements EnforcerRuleBase { diff --git a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRuleConfigProvider.java b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRuleConfigProvider.java index 4cf04018..c9d645ad 100644 --- a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRuleConfigProvider.java +++ b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/AbstractEnforcerRuleConfigProvider.java @@ -26,7 +26,7 @@ * Provided configuration will be added to current rules list by {@code Enforcer Mojo} * * @author Slawomir Jaranowski - * @since 3.2.0 + * @since 3.2.1 */ public abstract class AbstractEnforcerRuleConfigProvider extends AbstractEnforcerRuleBase { diff --git a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerLogger.java b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerLogger.java index 64c5d0b2..1c156d21 100644 --- a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerLogger.java +++ b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerLogger.java @@ -24,7 +24,7 @@ * Logger used by enforcer rule. * * @author Slawomir Jaranowski - * @since 3.2.0 + * @since 3.2.1 */ public interface EnforcerLogger { diff --git a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerRuleBase.java b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerRuleBase.java index 0b7ef0ed..3e01bd99 100644 --- a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerRuleBase.java +++ b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerRuleBase.java @@ -24,7 +24,7 @@ * Used for internal purpose. * * @author Slawomir Jaranowski - * @since 3.2.0 + * @since 3.2.1 */ public interface EnforcerRuleBase { diff --git a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerRuleError.java b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerRuleError.java index 75962cd0..27d4af63 100644 --- a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerRuleError.java +++ b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerRuleError.java @@ -25,7 +25,7 @@ * This exception break a build immediate. * * @author Slawomir Jaranowski - * @since 3.2.0 + * @since 3.2.1 */ public class EnforcerRuleError extends EnforcerRuleException { diff --git a/enforcer-api/src/site/apt/writing-a-custom-rule.apt.vm b/enforcer-api/src/site/apt/writing-a-custom-rule.apt.vm index c63d26ae..290c0289 100644 --- a/enforcer-api/src/site/apt/writing-a-custom-rule.apt.vm +++ b/enforcer-api/src/site/apt/writing-a-custom-rule.apt.vm @@ -49,7 +49,7 @@ Writing a custom rule * Implementation of custom Enforcer Rule - The rule must extends the {{{./apidocs/index.html}AbstractEnforcerRule}} and implements <<>> method. + The rule must extend {{{./apidocs/org/apache/maven/enforcer/rule/api/AbstractEnforcerRule.html}AbstractEnforcerRule}} (available since API version 3.2.1) and implement its <<>> method. Add annotation <<<@Named("yourRuleName")>>> to your Rule class. Your Rule name must start with lowercase character. @@ -58,7 +58,7 @@ Writing a custom rule Maven component can be injected into Rule by annotation <<<@Inject>>> on field or constructor. Entry point for Rule executing is <<>> method, tf the rule succeeds, it should just simply return. - If the rule fails, it should throw an {{{./apidocs/index.html}EnforcerRuleException}} with a descriptive message telling the user why the rule failed. + If the rule fails, it should throw an {{{./apidocs/org/apache/maven/enforcer/rule/api/EnforcerRuleException.html}EnforcerRuleException}} with a descriptive message telling the user why the rule failed. Enforcer plugin takes decision based on configuration and Enforcer Rule level whether build should pass or fail. In case when you want to brake build immediately, <<>> method can throw an {{{./apidocs/index.html}EnforcerRuleError}}. From 22ff3c78aac693fb419e332fa97c55c944daf7a5 Mon Sep 17 00:00:00 2001 From: Konrad Windszus Date: Thu, 6 Jul 2023 11:09:14 +0200 Subject: [PATCH 15/18] [MENFORCER-488] Add EnforcerLogger.isEnabled() (#279) --- enforcer-api/pom.xml | 2 +- .../enforcer/rule/api/EnforcerLogger.java | 32 +++++++++++++++++++ enforcer-rules/pom.xml | 2 +- maven-enforcer-extension/pom.xml | 2 +- maven-enforcer-plugin/pom.xml | 2 +- .../internal/AbstractEnforcerLogger.java | 20 ++++++++++++ pom.xml | 4 +-- 7 files changed, 58 insertions(+), 6 deletions(-) diff --git a/enforcer-api/pom.xml b/enforcer-api/pom.xml index b6dc3573..55a9bd5f 100644 --- a/enforcer-api/pom.xml +++ b/enforcer-api/pom.xml @@ -24,7 +24,7 @@ org.apache.maven.enforcer enforcer - 3.3.1-SNAPSHOT + 3.4.0-SNAPSHOT enforcer-api diff --git a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerLogger.java b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerLogger.java index 1c156d21..b847e441 100644 --- a/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerLogger.java +++ b/enforcer-api/src/main/java/org/apache/maven/enforcer/rule/api/EnforcerLogger.java @@ -44,6 +44,14 @@ public interface EnforcerLogger { */ void warnOrError(Supplier messageSupplier); + /** + * Is the logger instance enabled for the DEBUG level? + * + * @return {@code true} if this Logger is enabled for the DEBUG level, {@code false} otherwise. + * @since 3.4.0 + */ + boolean isDebugEnabled(); + /** * Log message in {@code debug} level. * @@ -60,6 +68,14 @@ public interface EnforcerLogger { */ void debug(Supplier messageSupplier); + /** + * Is the logger instance enabled for the INFO level? + * + * @return {@code true} if this Logger is enabled for the INFO level, {@code false} otherwise. + * @since 3.4.0 + */ + boolean isInfoEnabled(); + /** * Log message in {@code info} level. * @@ -76,6 +92,14 @@ public interface EnforcerLogger { */ void info(Supplier messageSupplier); + /** + * Is the logger instance enabled for the WARN level? + * + * @return {@code true} if this Logger is enabled for the WARN level, {@code false} otherwise. + * @since 3.4.0 + */ + boolean isWarnEnabled(); + /** * Log message in {@code warn} level. * @@ -92,6 +116,14 @@ public interface EnforcerLogger { */ void warn(Supplier messageSupplier); + /** + * Is the logger instance enabled for the ERROR level? + * + * @return {@code true} if this Logger is enabled for the ERROR level, {@code false} otherwise. + * @since 3.4.0 + */ + boolean isErrorEnabled(); + /** * Log message in {@code error} level. * diff --git a/enforcer-rules/pom.xml b/enforcer-rules/pom.xml index 0bad8094..82a6349d 100644 --- a/enforcer-rules/pom.xml +++ b/enforcer-rules/pom.xml @@ -24,7 +24,7 @@ org.apache.maven.enforcer enforcer - 3.3.1-SNAPSHOT + 3.4.0-SNAPSHOT enforcer-rules diff --git a/maven-enforcer-extension/pom.xml b/maven-enforcer-extension/pom.xml index 0895add4..07cc0bf7 100644 --- a/maven-enforcer-extension/pom.xml +++ b/maven-enforcer-extension/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.enforcer enforcer - 3.3.1-SNAPSHOT + 3.4.0-SNAPSHOT org.apache.maven.extensions maven-enforcer-extension diff --git a/maven-enforcer-plugin/pom.xml b/maven-enforcer-plugin/pom.xml index d6223f61..2db38f86 100644 --- a/maven-enforcer-plugin/pom.xml +++ b/maven-enforcer-plugin/pom.xml @@ -24,7 +24,7 @@ org.apache.maven.enforcer enforcer - 3.3.1-SNAPSHOT + 3.4.0-SNAPSHOT org.apache.maven.plugins diff --git a/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/internal/AbstractEnforcerLogger.java b/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/internal/AbstractEnforcerLogger.java index bfd0920f..6d32d028 100644 --- a/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/internal/AbstractEnforcerLogger.java +++ b/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/internal/AbstractEnforcerLogger.java @@ -38,6 +38,11 @@ protected AbstractEnforcerLogger(Log log) { this.log = Objects.requireNonNull(log, "log must be not null"); } + @Override + public boolean isDebugEnabled() { + return log.isDebugEnabled(); + } + @Override public void debug(CharSequence message) { log.debug(message); @@ -50,6 +55,11 @@ public void debug(Supplier messageSupplier) { } } + @Override + public boolean isInfoEnabled() { + return log.isInfoEnabled(); + } + @Override public void info(CharSequence message) { log.info(message); @@ -62,6 +72,11 @@ public void info(Supplier messageSupplier) { } } + @Override + public boolean isWarnEnabled() { + return log.isWarnEnabled(); + } + @Override public void warn(CharSequence message) { log.warn(message); @@ -74,6 +89,11 @@ public void warn(Supplier messageSupplier) { } } + @Override + public boolean isErrorEnabled() { + return log.isErrorEnabled(); + } + @Override public void error(CharSequence message) { log.error(message); diff --git a/pom.xml b/pom.xml index 59d3e50c..ed1a9061 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ org.apache.maven.enforcer enforcer - 3.3.1-SNAPSHOT + 3.4.0-SNAPSHOT pom Apache Maven Enforcer @@ -81,7 +81,7 @@ enforcer-archives/enforcer-LATEST 8 4.11.0 - 2023-04-01T21:03:41Z + 2023-07-04T18:27:24Z 1.0.0.v20140518 From 8f2de47622b55f6d3279cb14b9f68f6774d47e4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jul 2023 15:23:28 +0000 Subject: [PATCH 16/18] Bump org.junit:junit-bom from 5.9.3 to 5.10.0 Bumps [org.junit:junit-bom](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.9.3...r5.10.0) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ed1a9061..4226427e 100644 --- a/pom.xml +++ b/pom.xml @@ -169,7 +169,7 @@ org.junit junit-bom - 5.9.3 + 5.10.0 pom import From 5feb93a695c8b0ca3bc84e8e2907499de6632682 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 19 Aug 2023 17:39:13 +0200 Subject: [PATCH 17/18] [MENFORCER-489] Bump commons-lang3 from 3.12.0 to 3.13.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4226427e..a21d58d6 100644 --- a/pom.xml +++ b/pom.xml @@ -157,7 +157,7 @@ org.apache.commons commons-lang3 - 3.12.0 + 3.13.0 org.codehaus.plexus From 3d365f7eb932a6e9b5496099e4a0374f62e02f08 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 19 Aug 2023 18:36:21 +0200 Subject: [PATCH 18/18] [maven-release-plugin] prepare release enforcer-3.4.0 --- enforcer-api/pom.xml | 2 +- enforcer-rules/pom.xml | 2 +- maven-enforcer-extension/pom.xml | 2 +- maven-enforcer-plugin/pom.xml | 2 +- pom.xml | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/enforcer-api/pom.xml b/enforcer-api/pom.xml index 55a9bd5f..016ab839 100644 --- a/enforcer-api/pom.xml +++ b/enforcer-api/pom.xml @@ -24,7 +24,7 @@ org.apache.maven.enforcer enforcer - 3.4.0-SNAPSHOT + 3.4.0 enforcer-api diff --git a/enforcer-rules/pom.xml b/enforcer-rules/pom.xml index 82a6349d..3a9fa971 100644 --- a/enforcer-rules/pom.xml +++ b/enforcer-rules/pom.xml @@ -24,7 +24,7 @@ org.apache.maven.enforcer enforcer - 3.4.0-SNAPSHOT + 3.4.0 enforcer-rules diff --git a/maven-enforcer-extension/pom.xml b/maven-enforcer-extension/pom.xml index 07cc0bf7..cb16ed32 100644 --- a/maven-enforcer-extension/pom.xml +++ b/maven-enforcer-extension/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.enforcer enforcer - 3.4.0-SNAPSHOT + 3.4.0 org.apache.maven.extensions maven-enforcer-extension diff --git a/maven-enforcer-plugin/pom.xml b/maven-enforcer-plugin/pom.xml index 2db38f86..4986e988 100644 --- a/maven-enforcer-plugin/pom.xml +++ b/maven-enforcer-plugin/pom.xml @@ -24,7 +24,7 @@ org.apache.maven.enforcer enforcer - 3.4.0-SNAPSHOT + 3.4.0 org.apache.maven.plugins diff --git a/pom.xml b/pom.xml index a21d58d6..ac878a74 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ org.apache.maven.enforcer enforcer - 3.4.0-SNAPSHOT + 3.4.0 pom Apache Maven Enforcer @@ -58,7 +58,7 @@ scm:git:https://gitbox.apache.org/repos/asf/maven-enforcer.git scm:git:https://gitbox.apache.org/repos/asf/maven-enforcer.git - HEAD + enforcer-3.4.0 https://github.com/apache/maven-enforcer/tree/${project.scm.tag} @@ -81,7 +81,7 @@ enforcer-archives/enforcer-LATEST 8 4.11.0 - 2023-07-04T18:27:24Z + 2023-08-19T16:35:54Z 1.0.0.v20140518