Skip to content

Commit 9aed56c

Browse files
slawekjaranowskicstamasBukama
authored
Warning about old enforcer api in rule implementation (#894)
* Warning about old enforcer api in rule implementation external rules should use a new enforcer api * fix message Co-authored-by: Tamas Cservenak <tamas@cservenak.net> * fix message Co-authored-by: Matthias Bünger <Bukama@users.noreply.github.com> * fix spotless * fix uppercase in version --------- Co-authored-by: Tamas Cservenak <tamas@cservenak.net> Co-authored-by: Matthias Bünger <Bukama@users.noreply.github.com>
1 parent 8b8ac7a commit 9aed56c

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/internal/EnforcerRuleManager.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ public List<EnforcerRuleDesc> createRules(PlexusConfiguration rules, Log log) th
107107
// we need rule level before configuration in order to proper set logger
108108
EnforcerLevel ruleLevel = getRuleLevelFromConfig(ruleConfig);
109109

110-
EnforcerRuleDesc ruleDesc = createRuleDesc(ruleConfig.getName(), ruleConfig.getAttribute("implementation"));
110+
EnforcerRuleDesc ruleDesc =
111+
createRuleDesc(ruleConfig.getName(), ruleConfig.getAttribute("implementation"), log);
111112
// setup logger before rule configuration
112113
ruleDesc.getRule().setLog(ruleLevel == EnforcerLevel.ERROR ? enforcerLoggerError : enforcerLoggerWarn);
113114
if (ruleConfig.getChildCount() > 0) {
@@ -130,7 +131,8 @@ private EnforcerLevel getRuleLevelFromConfig(PlexusConfiguration ruleConfig) {
130131
return EnforcerLevel.valueOf(level);
131132
}
132133

133-
private EnforcerRuleDesc createRuleDesc(String name, String implementation) throws EnforcerRuleManagerException {
134+
private EnforcerRuleDesc createRuleDesc(String name, String implementation, Log log)
135+
throws EnforcerRuleManagerException {
134136

135137
// component name should always start at lowercase character
136138
String ruleName = Character.toLowerCase(name.charAt(0)) + name.substring(1);
@@ -156,6 +158,9 @@ private EnforcerRuleDesc createRuleDesc(String name, String implementation) thro
156158
}
157159

158160
try {
161+
log.warn(
162+
"ruleName " + ruleName + " with implementation " + ruleClass
163+
+ "uses the deprecated Maven Enforcer Plugin API. This will not be supported in a future version of the plugin. Please contact the rule maintainer to upgrade the rule implementation to the current API.");
159164
return new EnforcerRuleDesc(
160165
ruleName, (EnforcerRuleBase) Class.forName(ruleClass).newInstance());
161166
} catch (Exception e) {

0 commit comments

Comments
 (0)