diff --git a/quarkus-test-cli/src/main/java/io/quarkus/test/util/QuarkusCLIUtils.java b/quarkus-test-cli/src/main/java/io/quarkus/test/util/QuarkusCLIUtils.java index d847e7995..76225af9b 100644 --- a/quarkus-test-cli/src/main/java/io/quarkus/test/util/QuarkusCLIUtils.java +++ b/quarkus-test-cli/src/main/java/io/quarkus/test/util/QuarkusCLIUtils.java @@ -29,6 +29,7 @@ import org.codehaus.plexus.util.xml.pull.XmlPullParserException; import io.quarkus.test.bootstrap.QuarkusCliRestService; +import io.quarkus.test.services.quarkus.model.QuarkusProperties; import io.smallrye.common.os.OS; public abstract class QuarkusCLIUtils { @@ -259,6 +260,33 @@ public static Properties getProperties(QuarkusCliRestService app) throws XmlPull return getPom(app).getProperties(); } + /** + * Change given properties in app's pom. + * Other properties are unchanged. + */ + public static void changePropertiesInPom(QuarkusCliRestService app, Properties properties) + throws XmlPullParserException, IOException { + Model pom = getPom(app); + Properties pomProperties = pom.getProperties(); + pomProperties.putAll(properties); + pom.setProperties(pomProperties); + savePom(app, pom); + } + + /** + * If tests are not on RHBQ it will set properties in app's pom to work with community quarkus BOM. + * Expects that app is using RHBQ by default. + */ + public static void setCommunityBomIfNotRunningRHBQ(QuarkusCliRestService app, String communityQuarkusVersion) + throws XmlPullParserException, IOException { + if (!QuarkusProperties.getVersion().contains("redhat")) { + Properties communityBomProperties = new Properties(); + communityBomProperties.put("quarkus.platform.group-id", "io.quarkus.platform"); + communityBomProperties.put("quarkus.platform.version", communityQuarkusVersion); + changePropertiesInPom(app, communityBomProperties); + } + } + /** * Get main pom of the application (the one in root dir). */