diff --git a/aot-plugin/src/main/java/io/micronaut/gradle/aot/MicronautAotPlugin.java b/aot-plugin/src/main/java/io/micronaut/gradle/aot/MicronautAotPlugin.java index b272954b..548f802e 100644 --- a/aot-plugin/src/main/java/io/micronaut/gradle/aot/MicronautAotPlugin.java +++ b/aot-plugin/src/main/java/io/micronaut/gradle/aot/MicronautAotPlugin.java @@ -310,7 +310,7 @@ private void registerJavaExecOptimizedRun(Project project, conf.setCanBeConsumed(false); conf.setCanBeConsumed(true); // Use the same attributes as runtimeClasspath for resolution - AttributeUtils.copyAttributes(conf, runtimeClasspath); + AttributeUtils.copyAttributes(runtimeClasspath, conf); }); tasks.register("optimizedRun", JavaExec.class, task -> { diff --git a/functional-tests/src/test/groovy/io/micronaut/gradle/aot/BasicMicronautAOTSpec.groovy b/functional-tests/src/test/groovy/io/micronaut/gradle/aot/BasicMicronautAOTSpec.groovy index d9c4a7ab..b1f05e8b 100644 --- a/functional-tests/src/test/groovy/io/micronaut/gradle/aot/BasicMicronautAOTSpec.groovy +++ b/functional-tests/src/test/groovy/io/micronaut/gradle/aot/BasicMicronautAOTSpec.groovy @@ -1,7 +1,9 @@ package io.micronaut.gradle.aot +import io.micronaut.gradle.AbstractGradleBuildSpec import org.gradle.testkit.runner.TaskOutcome import spock.lang.Issue +import spock.lang.Requires class BasicMicronautAOTSpec extends AbstractAOTPluginSpec { @@ -153,4 +155,20 @@ class BasicMicronautAOTSpec extends AbstractAOTPluginSpec { result.task(":prepareJitOptimizations").outcome == TaskOutcome.SUCCESS } + @Requires({ AbstractGradleBuildSpec.graalVmAvailable && !os.windows }) + def "can compile standard and optimized native apps"() { + withSample("aot/basic-app") + withPlugins(Plugins.APPLICATION) + + when: + def result = build(task) + + then: + result.task(":$task").outcome == TaskOutcome.SUCCESS + + where: + task << ["nativeCompile", "nativeOptimizedCompile"] + + } + }