Skip to content

Commit b911c78

Browse files
committed
Throw VerificationException for build verification failures
Verification failures are generally failures which verify correctness, e.g., failures caused by test, compilation, linting, etc. Non-verification failures are generally failures related to the build toolchain, e.g., failures caused by dependency resolution, build configuration, etc. Develocity attempts to classify failures based on context, but it doesn't always classify correctly. By default, most failures are classified as non-verification. By explicitly throwing a `VerificationException` for verification task failures, the failures will be appropriately classified. See also: https://docs.gradle.com/develocity/failure-classification Signed-off-by: Eric Haag <[email protected]>
1 parent baa8d1a commit b911c78

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import com.tngtech.archunit.lang.ArchRule;
3232
import com.tngtech.archunit.lang.EvaluationResult;
3333
import org.gradle.api.DefaultTask;
34-
import org.gradle.api.GradleException;
3534
import org.gradle.api.Task;
3635
import org.gradle.api.Transformer;
3736
import org.gradle.api.file.DirectoryProperty;
@@ -49,6 +48,7 @@
4948
import org.gradle.api.tasks.PathSensitivity;
5049
import org.gradle.api.tasks.SkipWhenEmpty;
5150
import org.gradle.api.tasks.TaskAction;
51+
import org.gradle.api.tasks.VerificationException;
5252

5353
/**
5454
* {@link Task} that checks for architecture problems.
@@ -86,7 +86,7 @@ void checkArchitecture() throws IOException {
8686
File outputFile = getOutputDirectory().file("failure-report.txt").get().getAsFile();
8787
writeViolationReport(violations, outputFile);
8888
if (!violations.isEmpty()) {
89-
throw new GradleException("Architecture check failed. See '" + outputFile + "' for details.");
89+
throw new VerificationException("Architecture check failed. See '" + outputFile + "' for details.");
9090
}
9191
}
9292

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.apache.maven.artifact.versioning.Restriction;
3535
import org.apache.maven.artifact.versioning.VersionRange;
3636
import org.gradle.api.DefaultTask;
37-
import org.gradle.api.GradleException;
3837
import org.gradle.api.artifacts.ConfigurationContainer;
3938
import org.gradle.api.artifacts.dsl.DependencyHandler;
4039
import org.gradle.api.file.RegularFile;
@@ -44,6 +43,7 @@
4443
import org.gradle.api.tasks.PathSensitive;
4544
import org.gradle.api.tasks.PathSensitivity;
4645
import org.gradle.api.tasks.TaskAction;
46+
import org.gradle.api.tasks.VerificationException;
4747

4848
import org.springframework.boot.build.bom.Library.Group;
4949
import org.springframework.boot.build.bom.Library.ImportedBom;
@@ -94,7 +94,7 @@ void checkBom() {
9494
System.out.println();
9595
errors.forEach(System.out::println);
9696
System.out.println();
97-
throw new GradleException("Bom check failed. See previous output for details.");
97+
throw new VerificationException("Bom check failed. See previous output for details.");
9898
}
9999
}
100100

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import com.fasterxml.jackson.core.JsonParseException;
3232
import com.fasterxml.jackson.databind.JsonMappingException;
3333
import com.fasterxml.jackson.databind.ObjectMapper;
34-
import org.gradle.api.GradleException;
3534
import org.gradle.api.file.FileTree;
3635
import org.gradle.api.file.RegularFileProperty;
3736
import org.gradle.api.tasks.InputFiles;
@@ -40,6 +39,7 @@
4039
import org.gradle.api.tasks.PathSensitivity;
4140
import org.gradle.api.tasks.SourceTask;
4241
import org.gradle.api.tasks.TaskAction;
42+
import org.gradle.api.tasks.VerificationException;
4343

4444
/**
4545
* {@link SourceTask} that checks additional Spring configuration metadata files.
@@ -70,7 +70,7 @@ void check() throws JsonParseException, IOException {
7070
File reportFile = getReportLocation().get().getAsFile();
7171
Files.write(reportFile.toPath(), report, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
7272
if (report.hasProblems()) {
73-
throw new GradleException(
73+
throw new VerificationException(
7474
"Problems found in additional Spring configuration metadata. See " + reportFile + " for details.");
7575
}
7676
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import com.fasterxml.jackson.databind.JsonMappingException;
3131
import com.fasterxml.jackson.databind.ObjectMapper;
3232
import org.gradle.api.DefaultTask;
33-
import org.gradle.api.GradleException;
3433
import org.gradle.api.file.RegularFileProperty;
3534
import org.gradle.api.provider.ListProperty;
3635
import org.gradle.api.tasks.Input;
@@ -40,6 +39,7 @@
4039
import org.gradle.api.tasks.PathSensitivity;
4140
import org.gradle.api.tasks.SourceTask;
4241
import org.gradle.api.tasks.TaskAction;
42+
import org.gradle.api.tasks.VerificationException;
4343

4444
/**
4545
* {@link SourceTask} that checks {@code spring-configuration-metadata.json} files.
@@ -70,7 +70,7 @@ void check() throws JsonParseException, IOException {
7070
File reportFile = getReportLocation().get().getAsFile();
7171
Files.write(reportFile.toPath(), report, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
7272
if (report.hasProblems()) {
73-
throw new GradleException(
73+
throw new VerificationException(
7474
"Problems found in Spring configuration metadata. See " + reportFile + " for details.");
7575
}
7676
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import java.util.Properties;
3232

3333
import org.gradle.api.DefaultTask;
34-
import org.gradle.api.GradleException;
3534
import org.gradle.api.Task;
3635
import org.gradle.api.file.DirectoryProperty;
3736
import org.gradle.api.file.FileCollection;
@@ -43,6 +42,7 @@
4342
import org.gradle.api.tasks.PathSensitivity;
4443
import org.gradle.api.tasks.SkipWhenEmpty;
4544
import org.gradle.api.tasks.TaskAction;
45+
import org.gradle.api.tasks.VerificationException;
4646
import org.gradle.language.base.plugins.LifecycleBasePlugin;
4747

4848
import org.springframework.core.io.support.SpringFactoriesLoader;
@@ -112,7 +112,7 @@ private void check(File factoriesFile) {
112112
File outputFile = getOutputDirectory().file("failure-report.txt").get().getAsFile();
113113
writeReport(factoriesFile, problems, outputFile);
114114
if (!problems.isEmpty()) {
115-
throw new GradleException("%s check failed. See '%s' for details".formatted(this.path, outputFile));
115+
throw new VerificationException("%s check failed. See '%s' for details".formatted(this.path, outputFile));
116116
}
117117
}
118118

0 commit comments

Comments
 (0)