Skip to content

Commit 1e0d016

Browse files
geoandyrodiere
authored andcommitted
Allow using RESTEasy Classic test deps when app is RESTEasy Reactive app
Fixes: quarkusio#36124
1 parent 1e3a64b commit 1e0d016

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

extensions/resteasy-reactive/quarkus-resteasy-reactive-common/deployment/src/main/java/io/quarkus/resteasy/reactive/common/deployment/ResteasyReactiveCommonProcessor.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,17 +87,22 @@ public class ResteasyReactiveCommonProcessor {
8787
private static final String PROVIDERS_SERVICE_FILE = "META-INF/services/" + Providers.class.getName();
8888
private static final Predicate<ResolvedDependency> IS_RESTEASY_CLASSIC_CLIENT_DEP = d -> d.getArtifactId()
8989
.contains("resteasy-client");
90+
private static final Predicate<ResolvedDependency> IS_RESTEASY_CLASSIC_CORE_DEP = d -> d.getArtifactId()
91+
.equals("resteasy-core");
92+
private static final Predicate<ResolvedDependency> IS_NOT_TEST_SCOPED = d -> !"test".equals(d.getScope());
9093

9194
@Produce(ServiceStartBuildItem.class)
9295
@BuildStep
9396
void checkMixingStacks(Capabilities capabilities, CurateOutcomeBuildItem curateOutcomeBuildItem) {
9497
List<ResolvedDependency> resteasyClassicDeps = curateOutcomeBuildItem.getApplicationModel().getDependencies().stream()
9598
.filter(d -> d.getGroupId().equals("org.jboss.resteasy")).collect(Collectors.toList());
96-
boolean hasResteasyCoreDep = resteasyClassicDeps.stream().anyMatch(d -> d.getArtifactId().equals("resteasy-core"));
99+
boolean hasResteasyCoreDep = resteasyClassicDeps.stream()
100+
.anyMatch(IS_NOT_TEST_SCOPED.and(IS_RESTEASY_CLASSIC_CORE_DEP));
97101
if (!hasResteasyCoreDep) {
98102
return;
99103
}
100-
boolean hasResteasyClassicClient = resteasyClassicDeps.stream().anyMatch(IS_RESTEASY_CLASSIC_CLIENT_DEP);
104+
boolean hasResteasyClassicClient = resteasyClassicDeps.stream()
105+
.anyMatch(IS_NOT_TEST_SCOPED.and(IS_RESTEASY_CLASSIC_CLIENT_DEP));
101106
if (!hasResteasyClassicClient) { // there is no bulletproof way of knowing whether a server specific dependency has been included, so we deduce it by the absence of client dependency
102107
throw new DeploymentException("Mixing RESTEasy Reactive and RESTEasy Classic server parts is not supported");
103108
}

0 commit comments

Comments
 (0)