Browse Source

Merge pull request #45187 from erichaagdev

* pr/45187:
  Throw `VerificationException` for build verification failures

Closes gh-45187
pull/45202/head
Phillip Webb 9 months ago
parent
commit
ce64f368e6
  1. 4
      buildSrc/src/main/java/org/springframework/boot/build/architecture/ArchitectureCheck.java
  2. 4
      buildSrc/src/main/java/org/springframework/boot/build/bom/CheckBom.java
  3. 6
      buildSrc/src/main/java/org/springframework/boot/build/context/properties/CheckAdditionalSpringConfigurationMetadata.java
  4. 6
      buildSrc/src/main/java/org/springframework/boot/build/context/properties/CheckSpringConfigurationMetadata.java
  5. 4
      buildSrc/src/main/java/org/springframework/boot/build/springframework/CheckFactoriesFile.java

4
buildSrc/src/main/java/org/springframework/boot/build/architecture/ArchitectureCheck.java

@ -31,7 +31,6 @@ import com.tngtech.archunit.core.importer.ClassFileImporter; @@ -31,7 +31,6 @@ import com.tngtech.archunit.core.importer.ClassFileImporter;
import com.tngtech.archunit.lang.ArchRule;
import com.tngtech.archunit.lang.EvaluationResult;
import org.gradle.api.DefaultTask;
import org.gradle.api.GradleException;
import org.gradle.api.Task;
import org.gradle.api.Transformer;
import org.gradle.api.file.DirectoryProperty;
@ -49,6 +48,7 @@ import org.gradle.api.tasks.PathSensitive; @@ -49,6 +48,7 @@ import org.gradle.api.tasks.PathSensitive;
import org.gradle.api.tasks.PathSensitivity;
import org.gradle.api.tasks.SkipWhenEmpty;
import org.gradle.api.tasks.TaskAction;
import org.gradle.api.tasks.VerificationException;
/**
* {@link Task} that checks for architecture problems.
@ -86,7 +86,7 @@ public abstract class ArchitectureCheck extends DefaultTask { @@ -86,7 +86,7 @@ public abstract class ArchitectureCheck extends DefaultTask {
File outputFile = getOutputDirectory().file("failure-report.txt").get().getAsFile();
writeViolationReport(violations, outputFile);
if (!violations.isEmpty()) {
throw new GradleException("Architecture check failed. See '" + outputFile + "' for details.");
throw new VerificationException("Architecture check failed. See '" + outputFile + "' for details.");
}
}

4
buildSrc/src/main/java/org/springframework/boot/build/bom/CheckBom.java

@ -34,7 +34,6 @@ import org.apache.maven.artifact.versioning.DefaultArtifactVersion; @@ -34,7 +34,6 @@ import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.artifact.versioning.Restriction;
import org.apache.maven.artifact.versioning.VersionRange;
import org.gradle.api.DefaultTask;
import org.gradle.api.GradleException;
import org.gradle.api.artifacts.ConfigurationContainer;
import org.gradle.api.artifacts.dsl.DependencyHandler;
import org.gradle.api.file.RegularFile;
@ -44,6 +43,7 @@ import org.gradle.api.tasks.InputFile; @@ -44,6 +43,7 @@ import org.gradle.api.tasks.InputFile;
import org.gradle.api.tasks.PathSensitive;
import org.gradle.api.tasks.PathSensitivity;
import org.gradle.api.tasks.TaskAction;
import org.gradle.api.tasks.VerificationException;
import org.springframework.boot.build.bom.Library.Group;
import org.springframework.boot.build.bom.Library.ImportedBom;
@ -94,7 +94,7 @@ public abstract class CheckBom extends DefaultTask { @@ -94,7 +94,7 @@ public abstract class CheckBom extends DefaultTask {
System.out.println();
errors.forEach(System.out::println);
System.out.println();
throw new GradleException("Bom check failed. See previous output for details.");
throw new VerificationException("Bom check failed. See previous output for details.");
}
}

6
buildSrc/src/main/java/org/springframework/boot/build/context/properties/CheckAdditionalSpringConfigurationMetadata.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2012-2024 the original author or authors.
* Copyright 2012-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -31,7 +31,6 @@ import java.util.Map; @@ -31,7 +31,6 @@ import java.util.Map;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.gradle.api.GradleException;
import org.gradle.api.file.FileTree;
import org.gradle.api.file.RegularFileProperty;
import org.gradle.api.tasks.InputFiles;
@ -40,6 +39,7 @@ import org.gradle.api.tasks.PathSensitive; @@ -40,6 +39,7 @@ import org.gradle.api.tasks.PathSensitive;
import org.gradle.api.tasks.PathSensitivity;
import org.gradle.api.tasks.SourceTask;
import org.gradle.api.tasks.TaskAction;
import org.gradle.api.tasks.VerificationException;
/**
* {@link SourceTask} that checks additional Spring configuration metadata files.
@ -70,7 +70,7 @@ public abstract class CheckAdditionalSpringConfigurationMetadata extends SourceT @@ -70,7 +70,7 @@ public abstract class CheckAdditionalSpringConfigurationMetadata extends SourceT
File reportFile = getReportLocation().get().getAsFile();
Files.write(reportFile.toPath(), report, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
if (report.hasProblems()) {
throw new GradleException(
throw new VerificationException(
"Problems found in additional Spring configuration metadata. See " + reportFile + " for details.");
}
}

6
buildSrc/src/main/java/org/springframework/boot/build/context/properties/CheckSpringConfigurationMetadata.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2012-2024 the original author or authors.
* Copyright 2012-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -30,7 +30,6 @@ import com.fasterxml.jackson.core.JsonParseException; @@ -30,7 +30,6 @@ import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.gradle.api.DefaultTask;
import org.gradle.api.GradleException;
import org.gradle.api.file.RegularFileProperty;
import org.gradle.api.provider.ListProperty;
import org.gradle.api.tasks.Input;
@ -40,6 +39,7 @@ import org.gradle.api.tasks.PathSensitive; @@ -40,6 +39,7 @@ import org.gradle.api.tasks.PathSensitive;
import org.gradle.api.tasks.PathSensitivity;
import org.gradle.api.tasks.SourceTask;
import org.gradle.api.tasks.TaskAction;
import org.gradle.api.tasks.VerificationException;
/**
* {@link SourceTask} that checks {@code spring-configuration-metadata.json} files.
@ -70,7 +70,7 @@ public abstract class CheckSpringConfigurationMetadata extends DefaultTask { @@ -70,7 +70,7 @@ public abstract class CheckSpringConfigurationMetadata extends DefaultTask {
File reportFile = getReportLocation().get().getAsFile();
Files.write(reportFile.toPath(), report, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
if (report.hasProblems()) {
throw new GradleException(
throw new VerificationException(
"Problems found in Spring configuration metadata. See " + reportFile + " for details.");
}
}

4
buildSrc/src/main/java/org/springframework/boot/build/springframework/CheckFactoriesFile.java

@ -31,7 +31,6 @@ import java.util.Map; @@ -31,7 +31,6 @@ import java.util.Map;
import java.util.Properties;
import org.gradle.api.DefaultTask;
import org.gradle.api.GradleException;
import org.gradle.api.Task;
import org.gradle.api.file.DirectoryProperty;
import org.gradle.api.file.FileCollection;
@ -43,6 +42,7 @@ import org.gradle.api.tasks.PathSensitive; @@ -43,6 +42,7 @@ import org.gradle.api.tasks.PathSensitive;
import org.gradle.api.tasks.PathSensitivity;
import org.gradle.api.tasks.SkipWhenEmpty;
import org.gradle.api.tasks.TaskAction;
import org.gradle.api.tasks.VerificationException;
import org.gradle.language.base.plugins.LifecycleBasePlugin;
import org.springframework.core.io.support.SpringFactoriesLoader;
@ -112,7 +112,7 @@ public abstract class CheckFactoriesFile extends DefaultTask { @@ -112,7 +112,7 @@ public abstract class CheckFactoriesFile extends DefaultTask {
File outputFile = getOutputDirectory().file("failure-report.txt").get().getAsFile();
writeReport(factoriesFile, problems, outputFile);
if (!problems.isEmpty()) {
throw new GradleException("%s check failed. See '%s' for details".formatted(this.path, outputFile));
throw new VerificationException("%s check failed. See '%s' for details".formatted(this.path, outputFile));
}
}

Loading…
Cancel
Save