Skip to content

Commit b457710

Browse files
committed
fix: allow for setter chaining
1 parent 717bc2c commit b457710

12 files changed

Lines changed: 257 additions & 211 deletions

File tree

src/main/java/org/apache/commons/release/plugin/internal/ArtifactUtils.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,9 @@ public static String getPackageUrl(final Artifact artifact) {
138138
* @throws MojoExecutionException If an I/O error occurs retrieving the artifact.
139139
*/
140140
public static ResourceDescriptor toResourceDescriptor(final Artifact artifact, final String algorithms) throws MojoExecutionException {
141-
final ResourceDescriptor descriptor = new ResourceDescriptor();
142-
descriptor.setName(getFileName(artifact));
143-
descriptor.setUri(getPackageUrl(artifact));
141+
final ResourceDescriptor descriptor = new ResourceDescriptor()
142+
.setName(getFileName(artifact))
143+
.setUri(getPackageUrl(artifact));
144144
if (artifact.getFile() != null) {
145145
try {
146146
descriptor.setDigest(getChecksums(artifact, StringUtils.split(algorithms, ",")));

src/main/java/org/apache/commons/release/plugin/internal/BuildDefinitions.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.lang.management.ManagementFactory;
2222
import java.nio.file.Path;
2323
import java.util.ArrayList;
24+
import java.util.Collections;
2425
import java.util.HashMap;
2526
import java.util.List;
2627
import java.util.Map;
@@ -84,11 +85,6 @@ public static Map<String, Object> externalParameters(final MavenSession session)
8485
* @throws IOException if hashing the JDK directory fails
8586
*/
8687
public static ResourceDescriptor jvm(final Path javaHome) throws IOException {
87-
final ResourceDescriptor descriptor = new ResourceDescriptor();
88-
descriptor.setName("JDK");
89-
final Map<String, String> digest = new HashMap<>();
90-
digest.put("gitTree", GitUtils.gitTree(javaHome));
91-
descriptor.setDigest(digest);
9288
final String[] propertyNames = {
9389
"java.version", "java.version.date",
9490
"java.vendor", "java.vendor.url", "java.vendor.version",
@@ -102,8 +98,10 @@ public static ResourceDescriptor jvm(final Path javaHome) throws IOException {
10298
for (final String prop : propertyNames) {
10399
annotations.put(prop.substring("java.".length()), System.getProperty(prop));
104100
}
105-
descriptor.setAnnotations(annotations);
106-
return descriptor;
101+
return new ResourceDescriptor()
102+
.setName("JDK")
103+
.setDigest(Collections.singletonMap("gitTree", GitUtils.gitTree(javaHome)))
104+
.setAnnotations(annotations);
107105
}
108106

109107
/**
@@ -120,12 +118,10 @@ public static ResourceDescriptor jvm(final Path javaHome) throws IOException {
120118
* @throws IOException if hashing the Maven home directory fails
121119
*/
122120
public static ResourceDescriptor maven(final String version, final Path mavenHome, final ClassLoader coreClassLoader) throws IOException {
123-
final ResourceDescriptor descriptor = new ResourceDescriptor();
124-
descriptor.setName("Maven");
125-
descriptor.setUri("pkg:maven/org.apache.maven/apache-maven@" + version);
126-
final Map<String, String> digest = new HashMap<>();
127-
digest.put("gitTree", GitUtils.gitTree(mavenHome));
128-
descriptor.setDigest(digest);
121+
final ResourceDescriptor descriptor = new ResourceDescriptor()
122+
.setName("Maven")
123+
.setUri("pkg:maven/org.apache.maven/apache-maven@" + version)
124+
.setDigest(Collections.singletonMap("gitTree", GitUtils.gitTree(mavenHome)));
129125
final Properties buildProps = new Properties();
130126
try (InputStream in = coreClassLoader.getResourceAsStream("org/apache/maven/messages/build.properties")) {
131127
if (in != null) {

src/main/java/org/apache/commons/release/plugin/mojos/BuildAttestationMojo.java

Lines changed: 21 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,7 @@
2626
import java.time.ZoneOffset;
2727
import java.util.ArrayList;
2828
import java.util.Collections;
29-
import java.util.HashMap;
3029
import java.util.List;
31-
import java.util.Map;
3230

3331
import javax.inject.Inject;
3432

@@ -224,24 +222,18 @@ private Path ensureOutputDirectory() throws MojoExecutionException {
224222

225223
@Override
226224
public void execute() throws MojoFailureException, MojoExecutionException {
227-
// Build definition
228-
final BuildDefinition buildDefinition = new BuildDefinition();
229-
buildDefinition.setExternalParameters(BuildDefinitions.externalParameters(session));
230-
buildDefinition.setResolvedDependencies(getBuildDependencies());
231-
// Builder
232-
final Builder builder = new Builder();
233-
// RunDetails
234-
final RunDetails runDetails = new RunDetails();
235-
runDetails.setBuilder(builder);
236-
runDetails.setMetadata(getBuildMetadata());
237-
// Provenance
238-
final Provenance provenance = new Provenance();
239-
provenance.setBuildDefinition(buildDefinition);
240-
provenance.setRunDetails(runDetails);
241-
// Statement
242-
final Statement statement = new Statement();
243-
statement.setSubject(getSubjects());
244-
statement.setPredicate(provenance);
225+
final BuildDefinition buildDefinition = new BuildDefinition()
226+
.setExternalParameters(BuildDefinitions.externalParameters(session))
227+
.setResolvedDependencies(getBuildDependencies());
228+
final RunDetails runDetails = new RunDetails()
229+
.setBuilder(new Builder())
230+
.setMetadata(getBuildMetadata());
231+
final Provenance provenance = new Provenance()
232+
.setBuildDefinition(buildDefinition)
233+
.setRunDetails(runDetails);
234+
final Statement statement = new Statement()
235+
.setSubject(getSubjects())
236+
.setPredicate(provenance);
245237

246238
final Path outputPath = ensureOutputDirectory();
247239
final Path artifactPath = outputPath.resolve(ArtifactUtils.getFileName(project.getArtifact(), ATTESTATION_EXTENSION));
@@ -305,14 +297,9 @@ private List<ResourceDescriptor> getProjectDependencies() throws MojoExecutionEx
305297
* @throws MojoExecutionException If the SCM revision cannot be retrieved.
306298
*/
307299
private ResourceDescriptor getScmDescriptor() throws IOException, MojoExecutionException {
308-
final ResourceDescriptor scmDescriptor = new ResourceDescriptor();
309-
final String scmUri = GitUtils.scmToDownloadUri(scmConnectionUrl, scmDirectory.toPath());
310-
scmDescriptor.setUri(scmUri);
311-
// Compute the revision
312-
final Map<String, String> digest = new HashMap<>();
313-
digest.put("gitCommit", getScmRevision());
314-
scmDescriptor.setDigest(digest);
315-
return scmDescriptor;
300+
return new ResourceDescriptor()
301+
.setUri(GitUtils.scmToDownloadUri(scmConnectionUrl, scmDirectory.toPath()))
302+
.setDigest(Collections.singletonMap("gitCommit", getScmRevision()));
316303
}
317304

318305
/**
@@ -494,13 +481,12 @@ private void signAndWriteStatement(final Statement statement, final Path outputP
494481
final Path paeFile = DsseUtils.writePaeFile(statementBytes, outputPath);
495482
final byte[] sigBytes = DsseUtils.signFile(signer, paeFile);
496483

497-
final Signature sig = new Signature();
498-
sig.setKeyid(DsseUtils.getKeyId(sigBytes));
499-
sig.setSig(sigBytes);
500-
501-
final DsseEnvelope envelope = new DsseEnvelope();
502-
envelope.setPayload(statementBytes);
503-
envelope.setSignatures(Collections.singletonList(sig));
484+
final Signature sig = new Signature()
485+
.setKeyid(DsseUtils.getKeyId(sigBytes))
486+
.setSig(sigBytes);
487+
final DsseEnvelope envelope = new DsseEnvelope()
488+
.setPayload(statementBytes)
489+
.setSignatures(Collections.singletonList(sig));
504490

505491
getLog().info("Writing signed attestation envelope to: " + artifactPath);
506492
writeAndAttach(envelope, artifactPath);

0 commit comments

Comments
 (0)