Skip to content

Commit

Permalink
refactor(core): Additional log messages during validation
Browse files Browse the repository at this point in the history
  • Loading branch information
aalmiray committed Aug 27, 2022
1 parent 2bef676 commit 606c878
Show file tree
Hide file tree
Showing 67 changed files with 330 additions and 103 deletions.
Expand Up @@ -215,7 +215,7 @@ public RepositoryTap getRepositoryTap() {
@Override
public boolean supportsPlatform(String platform) {
return isBlank(platform) ||
PlatformUtils.isLinux(platform) && PlatformUtils.isIntel64(platform);
PlatformUtils.isLinux(platform) && PlatformUtils.isIntel64(platform) && !PlatformUtils.isAlpineLinux(platform);
}

@Override
Expand Down
Expand Up @@ -255,7 +255,7 @@ public RepositoryTap getRepositoryTap() {
@Override
public boolean supportsPlatform(String platform) {
return isBlank(platform) ||
PlatformUtils.isLinux(platform) && PlatformUtils.isIntel64(platform);
PlatformUtils.isLinux(platform) && PlatformUtils.isIntel64(platform) && !PlatformUtils.isAlpineLinux(platform);
}

@Override
Expand Down
Expand Up @@ -48,6 +48,7 @@ public static void validate(JReleaserContext context, JReleaserContext.Mode mode
context.getLogger().increaseIndent();
context.getLogger().setPrefix("validation");
try {
context.getLogger().debug("mode {}", mode);
validateModel(context, mode, errors);
} finally {
context.getLogger().restorePrefix();
Expand All @@ -72,8 +73,13 @@ private static void validateModel(JReleaserContext context, JReleaserContext.Mod
validateFiles(context, mode, errors);
validateAnnouncers(context, mode, errors);

postValidateProject(context, mode, errors);
postValidateAssemblers(context, mode, errors);
postValidateDistributions(context, mode, errors);
context.getLogger().setPrefix("postvalidation");
try {
postValidateProject(context, mode, errors);
postValidateAssemblers(context, mode, errors);
postValidateDistributions(context, mode, errors);
} finally {
context.getLogger().restorePrefix();
}
}
}
Expand Up @@ -442,7 +442,8 @@ public static void copyFile(JReleaserContext context, Path src, Path dest) throw
} catch (IOException e) {
throw new JReleaserException(RB.$("ERROR_artifacts_unexpected_error_copying",
context.relativizeToBasedir(src),
context.relativizeToBasedir(dest)));
context.relativizeToBasedir(dest),
e.toString()));
}
}

Expand Down
Expand Up @@ -17,6 +17,7 @@
*/
package org.jreleaser.model.validation;

import org.jreleaser.bundle.RB;
import org.jreleaser.model.Announce;
import org.jreleaser.model.JReleaserContext;
import org.jreleaser.util.Errors;
Expand Down Expand Up @@ -63,6 +64,7 @@ public static void validateAnnouncers(JReleaserContext context, JReleaserContext
validateZulip(context, announce.getZulip(), errors);

if (!mode.validateAnnounce() && !mode.validateConfig()) {
context.getLogger().debug(RB.$("validation.disabled"));
announce.disable();
return;
}
Expand All @@ -89,7 +91,10 @@ public static void validateAnnouncers(JReleaserContext context, JReleaserContext
announce.getConfiguredWebhooks().isEnabled() ||
announce.getZulip().isEnabled();

if (!activeSet && !enabled) announce.disable();
if (!activeSet && !enabled) {
context.getLogger().debug(RB.$("validation.disabled"));
announce.disable();
}
}
}
}
Expand Up @@ -46,30 +46,35 @@
*/
public abstract class AppImageValidator extends Validator {
public static void validateAppImage(JReleaserContext context, JReleaserContext.Mode mode, Distribution distribution, AppImage packager, Errors errors) {
context.getLogger().debug("distribution.{}.appImage", distribution.getName());
JReleaserModel model = context.getModel();
AppImage parentPackager = model.getPackagers().getAppImage();

if (!packager.isActiveSet() && parentPackager.isActiveSet()) {
packager.setActive(parentPackager.getActive());
}
if (!packager.resolveEnabled(context.getModel().getProject(), distribution)) return;
if (!packager.resolveEnabled(context.getModel().getProject(), distribution)) {
context.getLogger().debug(RB.$("validation.disabled"));
return;
}
GitService service = model.getRelease().getGitService();
if (!service.isReleaseSupported()) {
context.getLogger().debug(RB.$("validation.disabled.release"));
packager.disable();
return;
}

context.getLogger().debug("distribution.{}.appImage", distribution.getName());

List<Artifact> candidateArtifacts = packager.resolveCandidateArtifacts(context, distribution);
if (candidateArtifacts.size() == 0) {
packager.setActive(Active.NEVER);
context.getLogger().debug(RB.$("validation.disabled.no.artifacts"));
packager.disable();
return;
} else if (candidateArtifacts.stream()
.filter(artifact -> isBlank(artifact.getPlatform()))
.count() > 1) {
errors.configuration(RB.$("validation_packager_multiple_artifacts", "distribution." + distribution.getName() + ".appImage"));
context.getLogger().debug(RB.$("validation.disabled.multiple.artifacts"));
packager.disable();
return;
}
Expand Down
Expand Up @@ -26,16 +26,18 @@

import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;

/**
* @author Andres Almiray
* @since 0.8.0
*/
public abstract class ArchiveResolver extends Validator {
public static void resolveArchiveOutputs(JReleaserContext context, Errors errors) {
context.getLogger().debug("assemble.archive");
List<Archive> activeArchives = context.getModel().getAssemble().getActiveArchives();
if (!activeArchives.isEmpty()) context.getLogger().debug("assemble.archive");

for (Archive archive : context.getModel().getAssemble().getActiveArchives()) {
for (Archive archive : activeArchives) {
if (archive.isExported()) resolveArchiveOutputs(context, archive, errors);
}
}
Expand Down
Expand Up @@ -35,8 +35,8 @@
*/
public abstract class ArchiveValidator extends Validator {
public static void validateArchive(JReleaserContext context, JReleaserContext.Mode mode, Errors errors) {
context.getLogger().debug("assemble.archive");
Map<String, Archive> archive = context.getModel().getAssemble().getArchive();
if (!archive.isEmpty()) context.getLogger().debug("assemble.archive");

for (Map.Entry<String, Archive> e : archive.entrySet()) {
e.getValue().setName(e.getKey());
Expand All @@ -54,10 +54,15 @@ private static void validateArchive(JReleaserContext context, JReleaserContext.M
if (!archive.isActiveSet()) {
archive.setActive(Active.NEVER);
}
if (!archive.resolveEnabled(context.getModel().getProject())) return;
if (!archive.resolveEnabled(context.getModel().getProject())) {
context.getLogger().debug(RB.$("validation.disabled"));
return;
}

if (isBlank(archive.getName())) {
errors.configuration(RB.$("validation_must_not_be_blank", "archive.name"));
context.getLogger().debug(RB.$("validation.disabled.error"));
archive.disable();
return;
}

Expand Down
Expand Up @@ -35,8 +35,11 @@
*/
public abstract class ArticleValidator extends Validator {
public static void validateArticle(JReleaserContext context, Article article, Errors errors) {
if (!article.resolveEnabled(context.getModel().getProject())) return;
context.getLogger().debug("announce.article");
if (!article.resolveEnabled(context.getModel().getProject())) {
context.getLogger().debug(RB.$("validation.disabled"));
return;
}

GitService service = context.getModel().getRelease().getGitService();
Repository repository = article.getRepository();
Expand Down
Expand Up @@ -32,8 +32,8 @@
*/
public abstract class ArtifactoryValidator extends Validator {
public static void validateArtifactory(JReleaserContext context, JReleaserContext.Mode mode, Errors errors) {
context.getLogger().debug("upload.artifactory");
Map<String, Artifactory> artifactory = context.getModel().getUpload().getArtifactory();
if (!artifactory.isEmpty()) context.getLogger().debug("upload.artifactory");

for (Map.Entry<String, Artifactory> e : artifactory.entrySet()) {
e.getValue().setName(e.getKey());
Expand All @@ -52,16 +52,20 @@ private static void validateArtifactory(JReleaserContext context, JReleaserConte
artifactory.setActive(Active.NEVER);
}
if (!artifactory.resolveEnabled(context.getModel().getProject())) {
context.getLogger().debug(RB.$("validation.disabled"));
return;
}

if (!artifactory.isArtifacts() && !artifactory.isFiles() && !artifactory.isSignatures()) {
context.getLogger().debug(RB.$("validation.disabled.no.artifacts"));
artifactory.disable();
return;
}

if (artifactory.getRepositories().isEmpty()) {
errors.configuration(RB.$("validation_artifactory_no_repositories", "artifactory." + artifactory.getName()));
context.getLogger().debug(RB.$("validation.disabled.no.repositories"));
artifactory.disable();
return;
}

Expand Down Expand Up @@ -101,6 +105,8 @@ private static void validateArtifactory(JReleaserContext context, JReleaserConte
break;
case NONE:
errors.configuration(RB.$("validation_value_cannot_be", "artifactory." + artifactory.getName() + ".authorization", "NONE"));
context.getLogger().debug(RB.$("validation.disabled.error"));
artifactory.disable();
break;
}

Expand All @@ -115,6 +121,7 @@ private static void validateArtifactory(JReleaserContext context, JReleaserConte

if (artifactory.getRepositories().stream().noneMatch(Artifactory.ArtifactoryRepository::isEnabled)) {
errors.warning(RB.$("validation_artifactory_disabled_repositories", "artifactory." + artifactory.getName()));
context.getLogger().debug(RB.$("validation.disabled.no.repositories"));
artifactory.disable();
}
}
Expand Down
Expand Up @@ -41,30 +41,35 @@
*/
public abstract class AsdfValidator extends Validator {
public static void validateAsdf(JReleaserContext context, Distribution distribution, Asdf packager, Errors errors) {
context.getLogger().debug("distribution.{}.asdf", distribution.getName());
JReleaserModel model = context.getModel();
Asdf parentPackager = model.getPackagers().getAsdf();

if (!packager.isActiveSet() && parentPackager.isActiveSet()) {
packager.setActive(parentPackager.getActive());
}
if (!packager.resolveEnabled(context.getModel().getProject(), distribution)) return;
if (!packager.resolveEnabled(context.getModel().getProject(), distribution)) {
context.getLogger().debug(RB.$("validation.disabled"));
return;
}
GitService service = model.getRelease().getGitService();
if (!service.isReleaseSupported()) {
context.getLogger().debug(RB.$("validation.disabled.release"));
packager.disable();
return;
}

context.getLogger().debug("distribution.{}.asdf", distribution.getName());

List<Artifact> candidateArtifacts = packager.resolveCandidateArtifacts(context, distribution);
if (candidateArtifacts.size() == 0) {
packager.setActive(Active.NEVER);
context.getLogger().debug(RB.$("validation.disabled.no.artifacts"));
packager.disable();
return;
} else if (candidateArtifacts.stream()
.filter(artifact -> isBlank(artifact.getPlatform()))
.count() > 1) {
errors.configuration(RB.$("validation_packager_multiple_artifacts", "distribution." + distribution.getName() + ".asdf"));
context.getLogger().debug(RB.$("validation.disabled.multiple.artifacts"));
packager.disable();
return;
}
Expand Down
Expand Up @@ -77,6 +77,7 @@ public static void validateAssemblers(JReleaserContext context, JReleaserContext
byDistributionName.forEach((name, types) -> {
if (types.size() > 1) {
errors.configuration(RB.$("validation_multiple_assemblers", "distribution." + name, types));
context.getLogger().debug(RB.$("validation.disabled.error"));
assemble.disable();
}
});
Expand All @@ -92,7 +93,10 @@ public static void validateAssemblers(JReleaserContext context, JReleaserContext
!assemble.getActiveJpackages().isEmpty() ||
!assemble.getActiveNativeImages().isEmpty();

if (!activeSet && !enabled) assemble.disable();
if (!activeSet && !enabled) {
context.getLogger().debug(RB.$("validation.disabled"));
assemble.disable();
}
}
}

Expand Down
Expand Up @@ -49,26 +49,27 @@
*/
public abstract class BrewValidator extends Validator {
public static void validateBrew(JReleaserContext context, Distribution distribution, Brew packager, Errors errors) {
context.getLogger().debug("distribution.{}.brew", distribution.getName());
JReleaserModel model = context.getModel();
Brew parentPackager = model.getPackagers().getBrew();

if (!packager.isActiveSet() && parentPackager.isActiveSet()) {
packager.setActive(parentPackager.getActive());
}
if (!packager.resolveEnabled(context.getModel().getProject(), distribution)) {
context.getLogger().debug(RB.$("validation.disabled"));
packager.disable();
packager.getCask().disable();
return;
}
GitService service = model.getRelease().getGitService();
if (!service.isReleaseSupported()) {
context.getLogger().debug(RB.$("validation.disabled.release"));
packager.disable();
packager.getCask().disable();
return;
}

context.getLogger().debug("distribution.{}.brew", distribution.getName());

Brew.Cask cask = preValidateCask(distribution, packager, parentPackager);

if (!packager.isMultiPlatformSet() && parentPackager.isMultiPlatformSet()) {
Expand All @@ -88,6 +89,7 @@ public static void validateBrew(JReleaserContext context, Distribution distribut
List<Artifact> candidateArtifacts = packager.resolveCandidateArtifacts(context, distribution);
if (candidateArtifacts.size() == 0) {
packager.setActive(Active.NEVER);
context.getLogger().debug(RB.$("validation.disabled.no.artifacts"));
packager.disable();
return;
}
Expand Down Expand Up @@ -162,18 +164,22 @@ private static void validateCask(JReleaserContext context, Distribution distribu
return;
} else if (dmgFound > 1) {
errors.configuration(RB.$("validation_brew_multiple_artifact", "distribution." + distribution.getName() + ".brew", ".dmg"));
context.getLogger().debug(RB.$("validation.disabled.error"));
cask.disable();
return;
} else if (pkgFound > 1) {
errors.configuration(RB.$("validation_brew_multiple_artifact", "distribution." + distribution.getName() + ".brew", ".pkg"));
context.getLogger().debug(RB.$("validation.disabled.error"));
cask.disable();
return;
} else if (zipFound > 1) {
errors.configuration(RB.$("validation_brew_multiple_artifact", "distribution." + distribution.getName() + ".brew", ".zip"));
context.getLogger().debug(RB.$("validation.disabled.error"));
cask.disable();
return;
} else if (dmgFound + pkgFound + zipFound > 1) {
errors.configuration(RB.$("validation_brew_single_artifact", "distribution." + distribution.getName() + ".brew"));
context.getLogger().debug(RB.$("validation.disabled.error"));
cask.disable();
return;
}
Expand Down
Expand Up @@ -52,29 +52,34 @@
*/
public abstract class ChocolateyValidator extends Validator {
public static void validateChocolatey(JReleaserContext context, Distribution distribution, Chocolatey packager, Errors errors) {
context.getLogger().debug("distribution.{}.chocolatey", distribution.getName());
JReleaserModel model = context.getModel();
Chocolatey parentPackager = model.getPackagers().getChocolatey();

if (!packager.isActiveSet() && parentPackager.isActiveSet()) {
packager.setActive(parentPackager.getActive());
}
Project project = context.getModel().getProject();
if (!packager.resolveEnabled(project, distribution)) return;
if (!packager.resolveEnabled(project, distribution)) {
context.getLogger().debug(RB.$("validation.disabled"));
return;
}
GitService service = model.getRelease().getGitService();
if (!service.isReleaseSupported()) {
context.getLogger().debug(RB.$("validation.disabled.release"));
packager.disable();
return;
}

context.getLogger().debug("distribution.{}.chocolatey", distribution.getName());

List<Artifact> candidateArtifacts = packager.resolveCandidateArtifacts(context, distribution);
if (candidateArtifacts.size() == 0) {
packager.setActive(Active.NEVER);
context.getLogger().debug(RB.$("validation.disabled.no.artifacts"));
packager.disable();
return;
} else if (candidateArtifacts.size() > 1) {
errors.configuration(RB.$("validation_packager_multiple_artifacts", "distribution." + distribution.getName() + ".chocolatey"));
context.getLogger().debug(RB.$("validation.disabled.multiple.artifacts"));
packager.disable();
return;
}
Expand Down

0 comments on commit 606c878

Please sign in to comment.