Search in sources :

Example 1 with Gofish

use of org.jreleaser.model.Gofish in project jreleaser by jreleaser.

the class GofishValidator method validateGofish.

public static void validateGofish(JReleaserContext context, Distribution distribution, Gofish packager, Errors errors) {
    JReleaserModel model = context.getModel();
    Gofish parentPackager = model.getPackagers().getGofish();
    if (!packager.isActiveSet() && parentPackager.isActiveSet()) {
        packager.setActive(parentPackager.getActive());
    }
    if (!packager.resolveEnabled(context.getModel().getProject(), distribution)) {
        packager.disable();
        return;
    }
    GitService service = model.getRelease().getGitService();
    if (!service.isReleaseSupported()) {
        packager.disable();
        return;
    }
    context.getLogger().debug("distribution.{}.gofish", distribution.getName());
    List<Artifact> candidateArtifacts = packager.resolveCandidateArtifacts(context, distribution);
    if (candidateArtifacts.size() == 0) {
        packager.setActive(Active.NEVER);
        packager.disable();
        return;
    } else if (candidateArtifacts.stream().filter(artifact -> isBlank(artifact.getPlatform())).count() > 1) {
        errors.configuration(RB.$("validation_packager_multiple_artifacts", "distribution." + distribution.getName() + ".gofish"));
        packager.disable();
        return;
    }
    validateCommitAuthor(packager, parentPackager);
    Gofish.GofishRepository repository = packager.getRepository();
    repository.resolveEnabled(model.getProject());
    validateTap(context, distribution, repository, parentPackager.getRepository(), "gofish.repository");
    validateTemplate(context, distribution, packager, parentPackager, errors);
    mergeExtraProperties(packager, parentPackager);
    validateContinueOnError(packager, parentPackager);
    if (isBlank(packager.getDownloadUrl())) {
        packager.setDownloadUrl(parentPackager.getDownloadUrl());
    }
    validateArtifactPlatforms(context, distribution, packager, candidateArtifacts, errors);
}
Also used : Artifact(org.jreleaser.model.Artifact) StringUtils.isBlank(org.jreleaser.util.StringUtils.isBlank) JReleaserModel(org.jreleaser.model.JReleaserModel) ExtraPropertiesValidator.mergeExtraProperties(org.jreleaser.model.validation.ExtraPropertiesValidator.mergeExtraProperties) Active(org.jreleaser.model.Active) List(java.util.List) Errors(org.jreleaser.util.Errors) Gofish(org.jreleaser.model.Gofish) JReleaserContext(org.jreleaser.model.JReleaserContext) DistributionsValidator.validateArtifactPlatforms(org.jreleaser.model.validation.DistributionsValidator.validateArtifactPlatforms) TemplateValidator.validateTemplate(org.jreleaser.model.validation.TemplateValidator.validateTemplate) Distribution(org.jreleaser.model.Distribution) GitService(org.jreleaser.model.GitService) RB(org.jreleaser.bundle.RB) Gofish(org.jreleaser.model.Gofish) JReleaserModel(org.jreleaser.model.JReleaserModel) GitService(org.jreleaser.model.GitService) Artifact(org.jreleaser.model.Artifact)

Aggregations

List (java.util.List)1 RB (org.jreleaser.bundle.RB)1 Active (org.jreleaser.model.Active)1 Artifact (org.jreleaser.model.Artifact)1 Distribution (org.jreleaser.model.Distribution)1 GitService (org.jreleaser.model.GitService)1 Gofish (org.jreleaser.model.Gofish)1 JReleaserContext (org.jreleaser.model.JReleaserContext)1 JReleaserModel (org.jreleaser.model.JReleaserModel)1 DistributionsValidator.validateArtifactPlatforms (org.jreleaser.model.validation.DistributionsValidator.validateArtifactPlatforms)1 ExtraPropertiesValidator.mergeExtraProperties (org.jreleaser.model.validation.ExtraPropertiesValidator.mergeExtraProperties)1 TemplateValidator.validateTemplate (org.jreleaser.model.validation.TemplateValidator.validateTemplate)1 Errors (org.jreleaser.util.Errors)1 StringUtils.isBlank (org.jreleaser.util.StringUtils.isBlank)1