Skip to content

Commit 81e5639

Browse files
committed
Make CompiledJavaVersionBuildItem more resilient
It seems like CI is occasionally failing on `SmallryeJwtPersistentDevModeEncryptedTest` with a stacktrace that originates from the compiled version resolution. Although the issue seems to be with the traversal of the workspace, there is no reason to make the compiled version resolution fail hard regardless of the failure reason
1 parent fe37c1f commit 81e5639

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

core/deployment/src/main/java/io/quarkus/deployment/steps/CompiledJavaVersionBuildStep.java

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,28 @@ public class CompiledJavaVersionBuildStep {
2525
@BuildStep
2626
public CompiledJavaVersionBuildItem compiledJavaVersion(CurateOutcomeBuildItem curateOutcomeBuildItem) {
2727
final ResolvedDependency appArtifact = curateOutcomeBuildItem.getApplicationModel().getAppArtifact();
28-
Integer majorVersion = getMajorJavaVersion(appArtifact);
29-
if (majorVersion == null) {
30-
// workspace info isn't available in prod builds though
31-
for (ResolvedDependency module : curateOutcomeBuildItem.getApplicationModel()
32-
.getDependencies(DependencyFlags.WORKSPACE_MODULE)) {
33-
majorVersion = getMajorJavaVersion(module);
34-
if (majorVersion != null) {
35-
break;
28+
try {
29+
Integer majorVersion = getMajorJavaVersion(appArtifact);
30+
if (majorVersion == null) {
31+
// workspace info isn't available in prod builds though
32+
for (ResolvedDependency module : curateOutcomeBuildItem.getApplicationModel()
33+
.getDependencies(DependencyFlags.WORKSPACE_MODULE)) {
34+
majorVersion = getMajorJavaVersion(module);
35+
if (majorVersion != null) {
36+
break;
37+
}
3638
}
3739
}
38-
}
39-
if (majorVersion == null) {
40-
log.debug("No .class files located");
40+
if (majorVersion == null) {
41+
log.debug("No .class files located");
42+
return CompiledJavaVersionBuildItem.unknown();
43+
}
44+
return CompiledJavaVersionBuildItem.fromMajorJavaVersion(majorVersion);
45+
} catch (Exception e) {
46+
log.warn("Failed to parse major version", e);
4147
return CompiledJavaVersionBuildItem.unknown();
4248
}
43-
return CompiledJavaVersionBuildItem.fromMajorJavaVersion(majorVersion);
49+
4450
}
4551

4652
private static Integer getMajorJavaVersion(ResolvedDependency artifact) {

0 commit comments

Comments
 (0)