This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-release-plugin.git
The following commit(s) were added to refs/heads/master by this push:
new 36b02c2 Hack a workaround for
https://issues.apache.org/jira/browse/MNG-7316
36b02c2 is described below
commit 36b02c2cba36637669c6faf680932a23a540fc0a
Author: Gary Gregory <[email protected]>
AuthorDate: Sat Mar 12 13:22:09 2022 -0500
Hack a workaround for https://issues.apache.org/jira/browse/MNG-7316
---
.../mojos/CommonsDistributionDetachmentMojo.java | 35 +++++++++++-----------
1 file changed, 18 insertions(+), 17 deletions(-)
diff --git
a/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionDetachmentMojo.java
b/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionDetachmentMojo.java
index c24e82c..0197f70 100755
---
a/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionDetachmentMojo.java
+++
b/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionDetachmentMojo.java
@@ -32,6 +32,7 @@ import java.util.Set;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.collections4.properties.SortedProperties;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.reflect.MethodUtils;
import org.apache.commons.release.plugin.SharedFunctions;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.AbstractMojo;
@@ -134,24 +135,24 @@ public class CommonsDistributionDetachmentMojo extends
AbstractMojo {
//
// PROBLEM CODE for Maven >= 3.8.3
// https://issues.apache.org/jira/browse/MNG-7316
- for (final Artifact artifactToRemove : detachedArtifacts) {
- // Maven 3.8.3 throws an exception here because
MavenProject.getAttachedArtifacts()
- // returns an IMMUTABLE collection.
- project.getAttachedArtifacts().remove(artifactToRemove);
+ try {
+ // (1) Try the normal way
+ for (final Artifact artifactToRemove : detachedArtifacts) {
+ // Maven 3.8.3 throws an exception here because
MavenProject.getAttachedArtifacts()
+ // returns an IMMUTABLE collection.
+ project.getAttachedArtifacts().remove(artifactToRemove);
+ }
+ } catch (UnsupportedOperationException e) {
+ // (2) HACK workaround for
https://issues.apache.org/jira/browse/MNG-7316
+ final ArrayList<Artifact> arrayList = new
ArrayList<>(project.getAttachedArtifacts());
+ arrayList.removeAll(detachedArtifacts);
+ try {
+ // MavenProject#setAttachedArtifacts(List) is protected
+ MethodUtils.invokeMethod(project, true,
"setAttachedArtifacts", arrayList);
+ } catch (ReflectiveOperationException roe) {
+ throw new MojoExecutionException(roe);
+ }
}
- //
- // HACK START to replace the above.
- // https://issues.apache.org/jira/browse/MNG-7316
-// final ArrayList<Artifact> arrayList = new
ArrayList<>(project.getAttachedArtifacts());
-// arrayList.removeAll(detachedArtifacts);
-// try {
-// // MavenProject#setAttachedArtifacts(List) is protected
-// MethodUtils.invokeMethod(project, true, "setAttachedArtifacts",
arrayList);
-// } catch (ReflectiveOperationException e) {
-// throw new MojoExecutionException(e);
-// }
- // HACK END
- //
if (!workingDirectory.exists()) {
SharedFunctions.initDirectory(getLog(), workingDirectory);
}