diff --git a/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusBuildTask.java b/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusBuildTask.java index f54010f9aba90..a67d05456d118 100644 --- a/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusBuildTask.java +++ b/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusBuildTask.java @@ -272,7 +272,7 @@ void generateBuild() { .collect(Collectors.joining("\n ", "\n ", ""))); } - WorkQueue workQueue = workQueue(quarkusProperties, getExtensionView().getCodeGenForkOptions().get()); + WorkQueue workQueue = workQueue(quarkusProperties, getExtensionView().getBuildForkOptions().get()); workQueue.submit(BuildWorker.class, params -> { params.getBuildSystemProperties() diff --git a/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusPluginExtensionView.java b/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusPluginExtensionView.java index f4a8e87aba3d9..9dc97a6c53ea7 100644 --- a/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusPluginExtensionView.java +++ b/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusPluginExtensionView.java @@ -64,6 +64,7 @@ public QuarkusPluginExtensionView(Project project, QuarkusPluginExtension extens getCleanupBuildOutput().set(extension.getCleanupBuildOutput()); getFinalName().set(extension.getFinalName()); getCodeGenForkOptions().set(getProviderFactory().provider(() -> extension.codeGenForkOptions)); + getBuildForkOptions().set(getProviderFactory().provider(() -> extension.buildForkOptions)); getIgnoredEntries().set(extension.ignoredEntriesProperty()); getMainResources().setFrom(project.getExtensions().getByType(SourceSetContainer.class).getByName(MAIN_SOURCE_SET_NAME) .getResources().getSourceDirectories()); @@ -127,6 +128,9 @@ private Provider> getQuarkusRelevantProjectProperties(Projec @Nested public abstract ListProperty> getCodeGenForkOptions(); + @Nested + public abstract ListProperty> getBuildForkOptions(); + @Input @Optional public abstract Property getJarEnabled(); diff --git a/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/build.gradle.kts b/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/build.gradle.kts new file mode 100644 index 0000000000000..8d6264bd678f9 --- /dev/null +++ b/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/build.gradle.kts @@ -0,0 +1,23 @@ +plugins { + java + id("io.quarkus") +} + +repositories { + mavenCentral() + mavenLocal() +} + +val quarkusPlatformGroupId: String by project +val quarkusPlatformArtifactId: String by project +val quarkusPlatformVersion: String by project + +dependencies { + implementation(enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}")) +} + +quarkus { + buildForkOptions { + println("message!") + } +} diff --git a/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/gradle.properties b/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/gradle.properties new file mode 100644 index 0000000000000..ec2b6ef199c2c --- /dev/null +++ b/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/gradle.properties @@ -0,0 +1,2 @@ +quarkusPlatformArtifactId=quarkus-bom +quarkusPlatformGroupId=io.quarkus diff --git a/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/settings.gradle b/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/settings.gradle new file mode 100644 index 0000000000000..73c92a8563f3a --- /dev/null +++ b/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/settings.gradle @@ -0,0 +1,16 @@ +pluginManagement { + repositories { + mavenLocal { + content { + includeGroupByRegex 'io.quarkus.*' + includeGroup 'org.hibernate.orm' + } + } + mavenCentral() + gradlePluginPortal() + } + plugins { + id 'io.quarkus' version "${quarkusPluginVersion}" + } +} +rootProject.name='code-with-quarkus' diff --git a/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/src/main/java/org/acme/EntryPoint.java b/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/src/main/java/org/acme/EntryPoint.java new file mode 100644 index 0000000000000..ed5d9a989519d --- /dev/null +++ b/integration-tests/gradle/src/main/resources/basic-java-application-with-fork-options/src/main/java/org/acme/EntryPoint.java @@ -0,0 +1,9 @@ +package org.acme; + + + +public class EntryPoint { + public static void main(String[] args) { + + } +} diff --git a/integration-tests/gradle/src/test/java/io/quarkus/gradle/BuildForkOptionsAreIncludedInQuarkusBuildTaskTest.java b/integration-tests/gradle/src/test/java/io/quarkus/gradle/BuildForkOptionsAreIncludedInQuarkusBuildTaskTest.java new file mode 100644 index 0000000000000..dcddf7cdabcdb --- /dev/null +++ b/integration-tests/gradle/src/test/java/io/quarkus/gradle/BuildForkOptionsAreIncludedInQuarkusBuildTaskTest.java @@ -0,0 +1,16 @@ +package io.quarkus.gradle; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +public class BuildForkOptionsAreIncludedInQuarkusBuildTaskTest extends QuarkusGradleWrapperTestBase { + + @Test + public void testBuildForkOptionsAreProcessed() throws Exception { + var projectDir = getProjectDir("basic-java-application-with-fork-options"); + var buildResult = runGradleWrapper(projectDir, "clean", "quarkusBuild"); + assertThat(BuildResult.isSuccessful(buildResult.getTasks().get(":quarkusGenerateCode"))).isTrue(); + assertThat(buildResult.getOutput().contains("message!")).isTrue(); + } +}