From 71027c89ee3218375b1574163757ee11577edf7c Mon Sep 17 00:00:00 2001 From: Mike Friesen - FormKiQ Date: Thu, 9 Jun 2022 21:30:23 -0500 Subject: [PATCH] fixed setting 'traceClassInititalization' --- build.gradle | 8 +- .../gradle/GraalvmNativeExtension.java | 258 +++++++++--------- .../gradle/internal/NativeImageExecutor.java | 4 +- 3 files changed, 138 insertions(+), 132 deletions(-) diff --git a/build.gradle b/build.gradle index 2c264db..84a0612 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ plugins { } group 'com.formkiq.gradle' -version '1.2.0' +version '1.2.1' sourceCompatibility = "11" targetCompatibility = "11" @@ -100,3 +100,9 @@ pluginBundle { check { dependsOn(tasks.publishToMavenLocal) } + +tasks { + processResources { + duplicatesStrategy = org.gradle.api.file.DuplicatesStrategy.INCLUDE + } +} diff --git a/src/main/java/com/formkiq/gradle/GraalvmNativeExtension.java b/src/main/java/com/formkiq/gradle/GraalvmNativeExtension.java index 0e8edcc..ec173b7 100644 --- a/src/main/java/com/formkiq/gradle/GraalvmNativeExtension.java +++ b/src/main/java/com/formkiq/gradle/GraalvmNativeExtension.java @@ -61,7 +61,7 @@ public class GraalvmNativeExtension { /** Build statically linked executable. */ private Property enableStatic; /** Trace Class Initialization. */ - private Property enableTraceClassInitialization; + private Property traceClassInitialization; /** Enable the type flow saturation analysis performance optimization. */ private Property enableRemoveSaturatedTypeFlows; /** Show exception stack traces for exceptions during image building. */ @@ -108,7 +108,7 @@ public GraalvmNativeExtension(final ObjectFactory objects) { this.enableShared = objects.property(Boolean.class); this.enableStatic = objects.property(Boolean.class); this.enableAllSecurityServices = objects.property(Boolean.class); - this.enableTraceClassInitialization = objects.property(Boolean.class); + this.traceClassInitialization = objects.property(String.class); this.enableRemoveSaturatedTypeFlows = objects.property(Boolean.class); this.systemProperty = objects.listProperty(String.class); this.enableReportExceptionStackTraces = objects.property(Boolean.class); @@ -224,48 +224,48 @@ public List getSystemProperty() { } /** - * Is Auto Fall Back. + * Get Trace Class Initialization. * - * @return {@link Boolean} + * @return {@link String} */ - public Boolean isEnableAutofallback() { - return this.enableAutoFallback.getOrElse(Boolean.FALSE); + public String getTraceClassInitialization() { + return this.traceClassInitialization.getOrNull(); } /** - * Is Check Tool chain. + * Is Enable Allow Incomplete Classpath. * * @return {@link Boolean} */ - public Boolean isEnableCheckToolchain() { - return this.enableCheckToolchain.getOrElse(Boolean.FALSE); + public Boolean isAllowIncompleteClasspath() { + return this.enableAllowIncompleteClasspath.getOrElse(Boolean.FALSE); } /** - * Is Enable Allow Incomplete Classpath. + * Is Enable All Security Services. * * @return {@link Boolean} */ - public Boolean isAllowIncompleteClasspath() { - return this.enableAllowIncompleteClasspath.getOrElse(Boolean.FALSE); + public Boolean isEnableAllSecurityServices() { + return this.enableAllSecurityServices.getOrElse(Boolean.FALSE); } /** - * Is Fallback. + * Is Auto Fall Back. * * @return {@link Boolean} */ - public Boolean isEnableFallback() { - return this.enableNoFallback.getOrElse(Boolean.FALSE); + public Boolean isEnableAutofallback() { + return this.enableAutoFallback.getOrElse(Boolean.FALSE); } /** - * Is Enable All Security Services. + * Is Check Tool chain. * * @return {@link Boolean} */ - public Boolean isEnableAllSecurityServices() { - return this.enableAllSecurityServices.getOrElse(Boolean.FALSE); + public Boolean isEnableCheckToolchain() { + return this.enableCheckToolchain.getOrElse(Boolean.FALSE); } /** @@ -278,48 +278,39 @@ public Boolean isEnableDocker() { } /** - * Is Enable Http. - * - * @return Boolean - */ - public Boolean isEnableHttp() { - return this.enableHttp.getOrElse(Boolean.TRUE); - } - - /** - * Is Enable Https. + * Is Fallback. * - * @return Boolean + * @return {@link Boolean} */ - public Boolean isEnableHttps() { - return this.enableHttps.getOrElse(Boolean.TRUE); + public Boolean isEnableFallback() { + return this.enableNoFallback.getOrElse(Boolean.FALSE); } /** - * Is Enable Shared. + * Is Force Fallback. * * @return {@link Boolean} */ - public Boolean isEnableShared() { - return this.enableShared.getOrElse(Boolean.FALSE); + public Boolean isEnableForceFallback() { + return this.enableForceFallback.getOrElse(Boolean.FALSE); } /** - * Is Enable Static. + * Is Enable Http. * - * @return {@link Boolean} + * @return Boolean */ - public Boolean isEnableStatic() { - return this.enableStatic.getOrElse(Boolean.FALSE); + public Boolean isEnableHttp() { + return this.enableHttp.getOrElse(Boolean.TRUE); } /** - * Is Force Fallback. + * Is Enable Https. * - * @return {@link Boolean} + * @return Boolean */ - public Boolean isEnableForceFallback() { - return this.enableForceFallback.getOrElse(Boolean.FALSE); + public Boolean isEnableHttps() { + return this.enableHttps.getOrElse(Boolean.TRUE); } /** @@ -368,12 +359,21 @@ public Boolean isEnableReportUnsupportedElementsAtRuntime() { } /** - * Is Trace Class Initialization. + * Is Enable Shared. * - * @return Boolean + * @return {@link Boolean} */ - public Boolean isEnableTraceClassInitialization() { - return this.enableTraceClassInitialization.getOrElse(Boolean.FALSE); + public Boolean isEnableShared() { + return this.enableShared.getOrElse(Boolean.FALSE); + } + + /** + * Is Enable Static. + * + * @return {@link Boolean} + */ + public Boolean isEnableStatic() { + return this.enableStatic.getOrElse(Boolean.FALSE); } /** @@ -394,6 +394,24 @@ public void setAddClasspath(final String cp) { this.addClasspath.set(cp); } + /** + * Set Allow Incomplete Classpath. + * + * @param enabled {@link Boolean} + */ + public void setEnableAllowIncompleteClasspath(final Boolean enabled) { + this.enableAllowIncompleteClasspath.set(enabled); + } + + /** + * Set Enable All Security Services. + * + * @param enabled {@link Boolean} + */ + public void setEnableAllSecurityServices(final Boolean enabled) { + this.enableAllSecurityServices.set(enabled); + } + /** * Set Auto Fall Back. * @@ -413,67 +431,94 @@ public void setEnableCheckToolchain(final Boolean enabled) { } /** - * Set Allow Incomplete Classpath. + * Set Enable Docker Image usage. * * @param enabled {@link Boolean} */ - public void setEnableAllowIncompleteClasspath(final Boolean enabled) { - this.enableAllowIncompleteClasspath.set(enabled); + public void setEnableDocker(final Boolean enabled) { + this.enableDocker.set(enabled); } /** - * Set Enable No Fallback. + * Set Force Fallback. * * @param enabled {@link Boolean} */ - public void setEnableNoFallback(final Boolean enabled) { - this.enableNoFallback.set(enabled); + public void setEnableForceFallback(final Boolean enabled) { + this.enableForceFallback.set(enabled); } /** - * Set Enable Verbose. + * Set Enable Http. * * @param enabled {@link Boolean} + * */ - public void setEnableVerbose(final Boolean enabled) { - this.enableVerbose.set(enabled); + public void setEnableHttp(final Boolean enabled) { + this.enableHttp.set(enabled); } /** - * Set Enable All Security Services. + * Set Enable Https. + * + * @param enabled Boolean + */ + public void setEnableHttps(final Boolean enabled) { + this.enableHttps.set(enabled); + } + + /** + * Set Install-Exit-Handlers * * @param enabled {@link Boolean} */ - public void setEnableAllSecurityServices(final Boolean enabled) { - this.enableAllSecurityServices.set(enabled); + public void setEnableInstallExitHandlers(final Boolean enabled) { + this.enableInstallExitHandlers.set(enabled); } /** - * Set Enable Docker Image usage. + * Set Enable No Fallback. * * @param enabled {@link Boolean} */ - public void setEnableDocker(final Boolean enabled) { - this.enableDocker.set(enabled); + public void setEnableNoFallback(final Boolean enabled) { + this.enableNoFallback.set(enabled); } /** - * Set Enable Http. + * Set Print Analysis Call Tree. * * @param enabled {@link Boolean} + */ + public void setEnablePrintAnalysisCallTree(final Boolean enabled) { + this.enablePrintAnalysisCallTree.set(enabled); + } + + /** + * Set Remove Saturated Type Flows. * + * @param enabled {@link Boolean} */ - public void setEnableHttp(final Boolean enabled) { - this.enableHttp.set(enabled); + public void setEnableRemoveSaturatedTypeFlows(final Boolean enabled) { + this.enableRemoveSaturatedTypeFlows.set(enabled); } /** - * Set Enable Https. + * Set Report Exception Stack Traces. * - * @param enabled Boolean + * @param enabled {@link Boolean} */ - public void setEnableHttps(final Boolean enabled) { - this.enableHttps.set(enabled); + public void setEnableReportExceptionStackTraces(Boolean enabled) { + this.enableReportExceptionStackTraces.set(enabled); + } + + /** + * Set Report Unsupported Elements At Runtime. + * + * @param enabled {@link Boolean} + */ + public void setEnableReportUnsupportedElementsAtRuntime(Boolean enabled) { + this.enableReportUnsupportedElementsAtRuntime.set(enabled); } /** @@ -495,21 +540,30 @@ public void setEnableStatic(Boolean enabled) { } /** - * Set Features. + * Set Trace Class Initialization. * - * @param feature {@link String} + * @param classInitialization {@link String} */ - public void setFeatures(final String feature) { - this.features.set(feature); + public void setTraceClassInitialization(final String classInitialization) { + this.traceClassInitialization.set(classInitialization); } /** - * Set Force Fallback. + * Set Enable Verbose. * * @param enabled {@link Boolean} */ - public void setEnableForceFallback(final Boolean enabled) { - this.enableForceFallback.set(enabled); + public void setEnableVerbose(final Boolean enabled) { + this.enableVerbose.set(enabled); + } + + /** + * Set Features. + * + * @param feature {@link String} + */ + public void setFeatures(final String feature) { + this.features.set(feature); } /** @@ -548,15 +602,6 @@ public void setInitializeAtRunTime(final List list) { this.initializeAtRunTime.set(list); } - /** - * Set Install-Exit-Handlers - * - * @param enabled {@link Boolean} - */ - public void setEnableInstallExitHandlers(final Boolean enabled) { - this.enableInstallExitHandlers.set(enabled); - } - /** * Set Java Version. * @@ -584,15 +629,6 @@ public void setOutputFileName(final String name) { this.outputFileName.set(name); } - /** - * Set Print Analysis Call Tree. - * - * @param enabled {@link Boolean} - */ - public void setEnablePrintAnalysisCallTree(final Boolean enabled) { - this.enablePrintAnalysisCallTree.set(enabled); - } - /** * Set Reflection Config File. * @@ -602,33 +638,6 @@ public void setReflectionConfig(final String configFile) { this.reflectionConfig.set(configFile); } - /** - * Set Remove Saturated Type Flows. - * - * @param enabled {@link Boolean} - */ - public void setEnableRemoveSaturatedTypeFlows(final Boolean enabled) { - this.enableRemoveSaturatedTypeFlows.set(enabled); - } - - /** - * Set Report Exception Stack Traces. - * - * @param enabled {@link Boolean} - */ - public void setEnableReportExceptionStackTraces(Boolean enabled) { - this.enableReportExceptionStackTraces.set(enabled); - } - - /** - * Set Report Unsupported Elements At Runtime. - * - * @param enabled {@link Boolean} - */ - public void setEnableReportUnsupportedElementsAtRuntime(Boolean enabled) { - this.enableReportUnsupportedElementsAtRuntime.set(enabled); - } - /** * Set System Property. * @@ -638,13 +647,4 @@ public void setSystemProperty(final List list) { this.systemProperty.set(list); } - /** - * Set Trace Class Initialization. - * - * @param enabled {@link Boolean} - */ - public void setEnableTraceClassInitialization(final Boolean enabled) { - this.enableTraceClassInitialization.set(enabled); - } - } diff --git a/src/main/java/com/formkiq/gradle/internal/NativeImageExecutor.java b/src/main/java/com/formkiq/gradle/internal/NativeImageExecutor.java index 9a538b4..d4396de 100644 --- a/src/main/java/com/formkiq/gradle/internal/NativeImageExecutor.java +++ b/src/main/java/com/formkiq/gradle/internal/NativeImageExecutor.java @@ -100,8 +100,8 @@ private List getBuildGraalvmImageArguments(final Project project, final addBooleanArgument(args, this.extension.isEnableInstallExitHandlers(), "--install-exit-handlers"); - addBooleanArgument(args, this.extension.isEnableTraceClassInitialization(), - "-H:+TraceClassInitialization"); + addStringArgument(args, this.extension.getTraceClassInitialization(), + "--trace-class-initialization=" + this.extension.getTraceClassInitialization()); addBooleanArgument(args, this.extension.isEnableRemoveSaturatedTypeFlows(), "-H:+RemoveSaturatedTypeFlows"); addBooleanArgument(args, this.extension.isEnableReportExceptionStackTraces(),