mirror of
https://github.com/jlengrand/jreleaser.git
synced 2026-03-10 08:31:24 +00:00
[scoop] automatically activate individual checksums. Fixes #287
This commit is contained in:
@@ -31,6 +31,8 @@ import static org.jreleaser.util.MustacheUtils.applyTemplate;
|
||||
* @since 0.4.0
|
||||
*/
|
||||
public class Checksum implements Domain {
|
||||
public static final String INDIVIDUAL_CHECKSUM = "individualChecksum";
|
||||
|
||||
private final Set<Algorithm> algorithms = new LinkedHashSet<>();
|
||||
private Boolean individual;
|
||||
private String name;
|
||||
|
||||
@@ -30,6 +30,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static java.util.Objects.requireNonNull;
|
||||
import static org.jreleaser.model.Checksum.INDIVIDUAL_CHECKSUM;
|
||||
import static org.jreleaser.util.StringUtils.isTrue;
|
||||
|
||||
/**
|
||||
@@ -37,7 +38,6 @@ import static org.jreleaser.util.StringUtils.isTrue;
|
||||
* @since 0.1.0
|
||||
*/
|
||||
public abstract class AbstractReleaserBuilder<R extends Releaser> implements ReleaserBuilder<R> {
|
||||
private static final String INDIVIDUAL_CHECKSUM = "individualChecksum";
|
||||
protected final List<Path> assets = new ArrayList<>();
|
||||
protected JReleaserContext context;
|
||||
|
||||
|
||||
@@ -26,6 +26,9 @@ import org.jreleaser.model.ScoopBucket;
|
||||
import org.jreleaser.util.Env;
|
||||
import org.jreleaser.util.Errors;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import static org.jreleaser.model.Checksum.INDIVIDUAL_CHECKSUM;
|
||||
import static org.jreleaser.model.validation.DistributionsValidator.validateArtifactPlatforms;
|
||||
import static org.jreleaser.model.validation.ExtraPropertiesValidator.mergeExtraProperties;
|
||||
import static org.jreleaser.model.validation.TemplateValidator.validateTemplate;
|
||||
@@ -99,5 +102,12 @@ public abstract class ScoopValidator extends Validator {
|
||||
service.getResolvedToken()));
|
||||
|
||||
validateArtifactPlatforms(context, distribution, tool, errors);
|
||||
|
||||
// activate individual checksums on matching artifacts
|
||||
Set<String> fileExtensions = tool.getSupportedExtensions();
|
||||
distribution.getArtifacts().stream()
|
||||
.filter(artifact -> fileExtensions.stream().anyMatch(ext -> artifact.getPath().endsWith(ext)))
|
||||
.filter(artifact -> tool.supportsPlatform(artifact.getPlatform()))
|
||||
.forEach(artifact -> artifact.getExtraProperties().put(INDIVIDUAL_CHECKSUM, true));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user