You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2026/06/07 09:50:07 UTC
(maven-resolver) 06/06: Fix GnupgSignatureArtifactGenerator — use CopyOnWriteArrayList for artifacts
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch gnodet/thread-safety-fixes
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git
commit fba518caa1f3e2b93d2d8d356a668cc1829a3ec6
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Sun Jun 7 09:47:24 2026 +0000
Fix GnupgSignatureArtifactGenerator — use CopyOnWriteArrayList for artifacts
The signatureTempFiles field was changed to CopyOnWriteArrayList for
thread safety, but the artifacts field (also mutated via addAll in
generate()) was left as a plain ArrayList.
Change artifacts to CopyOnWriteArrayList for consistency, since both
fields are mutated and iterated in the same methods.
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../aether/generator/gnupg/GnupgSignatureArtifactGenerator.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/maven-resolver-generator-gnupg/src/main/java/org/eclipse/aether/generator/gnupg/GnupgSignatureArtifactGenerator.java b/maven-resolver-generator-gnupg/src/main/java/org/eclipse/aether/generator/gnupg/GnupgSignatureArtifactGenerator.java
index 17d0564df..29cd9ba5a 100644
--- a/maven-resolver-generator-gnupg/src/main/java/org/eclipse/aether/generator/gnupg/GnupgSignatureArtifactGenerator.java
+++ b/maven-resolver-generator-gnupg/src/main/java/org/eclipse/aether/generator/gnupg/GnupgSignatureArtifactGenerator.java
@@ -50,7 +50,7 @@ import org.slf4j.LoggerFactory;
final class GnupgSignatureArtifactGenerator implements ArtifactGenerator {
private static final String ARTIFACT_EXTENSION = ".asc";
private final Logger logger = LoggerFactory.getLogger(getClass());
- private final ArrayList<Artifact> artifacts;
+ private final List<Artifact> artifacts;
private final Predicate<Artifact> signableArtifactPredicate;
private final PGPSecretKey secretKey;
private final PGPPrivateKey privateKey;
@@ -65,7 +65,7 @@ final class GnupgSignatureArtifactGenerator implements ArtifactGenerator {
PGPPrivateKey privateKey,
PGPSignatureSubpacketVector hashSubPackets,
String keyInfo) {
- this.artifacts = new ArrayList<>(artifacts);
+ this.artifacts = new CopyOnWriteArrayList<>(artifacts);
this.signableArtifactPredicate = signableArtifactPredicate;
this.secretKey = secretKey;
this.privateKey = privateKey;