@@ -152,8 +152,26 @@ kotlinVersion=$(
152
152
mvn -B -U -q -Denforcer.skip=true -Dexec.executable=echo \
153
153
-Dexec.args=' ${kotlin.version}' --non-recursive validate exec:exec 2>&1 |
154
154
head -n1 | sed ' s;\(.\[[0-9]m\)*;;' ) &&
155
+ # TEMP: Also fix the version of maven-enforcer-plugin, to prevent n5 from
156
+ # overriding it with a too-old version. Even though we pass enforcer.skip,
157
+ # so that the enforcer plugin does not actually do any checking, this version
158
+ # mismatch still triggers a problem:
159
+ #
160
+ # [ERROR] Failed to execute goal
161
+ # org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce
162
+ # (enforce-rules) on project n5-blosc: Unable to parse configuration of
163
+ # mojo org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce
164
+ # for parameter banDuplicateClasses: Cannot create instance of interface
165
+ # org.apache.maven.enforcer.rule.api.EnforcerRule:
166
+ # org.apache.maven.enforcer.rule.api.EnforcerRule.<init>() -> [Help 1]
167
+ #
168
+ # Once n5 components stop doing that version pin, we can remove this here.
169
+ enforcerVersion=$(
170
+ mvn -B -U -q -Denforcer.skip=true -Dexec.executable=echo \
171
+ -Dexec.args=' ${maven-enforcer-plugin.version}' --non-recursive validate exec:exec 2>&1 |
172
+ head -n1 | sed ' s;\(.\[[0-9]m\)*;;' ) &&
155
173
mv -f " $buildScript " " $buildScriptTemp " &&
156
- sed -E " s;mvn -Denforcer.skip;& -Dkotlin.version=$kotlinVersion ;" " $buildScriptTemp " > " $buildScript " &&
174
+ sed -E " s;mvn -Denforcer.skip;& -Dmaven-enforcer-plugin.version= $enforcerVersion - Dkotlin.version=$kotlinVersion ;" " $buildScriptTemp " > " $buildScript " &&
157
175
158
176
chmod +x " $buildScript " &&
159
177
rm " $buildScriptTemp " ||
0 commit comments