diff --git a/backend/controller/cronjobs/testdata/java/cron/pom.xml b/backend/controller/cronjobs/testdata/java/cron/pom.xml index 36689c1211..452f82ee8f 100644 --- a/backend/controller/cronjobs/testdata/java/cron/pom.xml +++ b/backend/controller/cronjobs/testdata/java/cron/pom.xml @@ -5,123 +5,10 @@ cron 1.0-SNAPSHOT - - 1.0-SNAPSHOT - 3.13.0 - 2.0.0 - 17 - UTF-8 - UTF-8 - quarkus-bom - io.quarkus.platform - 3.12.3 - true - 3.2.5 - - - - - - ${quarkus.platform.group-id} - ${quarkus.platform.artifact-id} - ${quarkus.platform.version} - pom - import - - - - - - - xyz.block.ftl - ftl-java-runtime - 1.0-SNAPSHOT - - - io.quarkus - quarkus-kotlin - - - io.quarkus - quarkus-jackson - - - io.quarkus - quarkus-rest-jackson - - - io.quarkus - quarkus-junit5 - test - - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - - - io.rest-assured - kotlin-extensions - test - - - - - - - ${quarkus.platform.group-id} - quarkus-maven-plugin - ${quarkus.platform.version} - true - - - - build - generate-code - generate-code-tests - native-image-agent - - - - - - maven-compiler-plugin - ${compiler-plugin.version} - - - -parameters - - - - - maven-surefire-plugin - ${surefire-plugin.version} - - - org.jboss.logmanager.LogManager - ${maven.home} - - - - - maven-failsafe-plugin - ${surefire-plugin.version} - - - - integration-test - verify - - - - - - ${project.build.directory}/${project.build.finalName}-runner - org.jboss.logmanager.LogManager - ${maven.home} - - - - - + + xyz.block.ftl + ftl-build-parent-java + 1.0-SNAPSHOT + diff --git a/backend/controller/leases/testdata/java/leases/pom.xml b/backend/controller/leases/testdata/java/leases/pom.xml index 3432ab218a..4a713b4c38 100644 --- a/backend/controller/leases/testdata/java/leases/pom.xml +++ b/backend/controller/leases/testdata/java/leases/pom.xml @@ -5,137 +5,10 @@ leases 1.0-SNAPSHOT - - 1.0-SNAPSHOT - 3.13.0 - 2.0.0 - 17 - UTF-8 - UTF-8 - quarkus-bom - io.quarkus.platform - 3.12.3 - true - 3.2.5 - + + xyz.block.ftl + ftl-build-parent-java + 1.0-SNAPSHOT + - - - - ${quarkus.platform.group-id} - ${quarkus.platform.artifact-id} - ${quarkus.platform.version} - pom - import - - - - - - - xyz.block.ftl - ftl-java-runtime - 1.0-SNAPSHOT - - - io.quarkus - quarkus-kotlin - - - io.quarkus - quarkus-jackson - - - io.quarkus - quarkus-rest-jackson - - - io.quarkus - quarkus-junit5 - test - - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - - - io.rest-assured - kotlin-extensions - test - - - - - - - ${quarkus.platform.group-id} - quarkus-maven-plugin - ${quarkus.platform.version} - true - - - - build - generate-code - generate-code-tests - native-image-agent - - - - - - maven-compiler-plugin - ${compiler-plugin.version} - - - -parameters - - - - - maven-surefire-plugin - ${surefire-plugin.version} - - - org.jboss.logmanager.LogManager - ${maven.home} - - - - - maven-failsafe-plugin - ${surefire-plugin.version} - - - - integration-test - verify - - - - - - ${project.build.directory}/${project.build.finalName}-runner - org.jboss.logmanager.LogManager - ${maven.home} - - - - - - - - - native - - - native - - - - false - true - - - diff --git a/backend/controller/pubsub/testdata/java/publisher/pom.xml b/backend/controller/pubsub/testdata/java/publisher/pom.xml index ec33ab1730..dc37969645 100644 --- a/backend/controller/pubsub/testdata/java/publisher/pom.xml +++ b/backend/controller/pubsub/testdata/java/publisher/pom.xml @@ -5,137 +5,10 @@ publisher 1.0-SNAPSHOT - - 1.0-SNAPSHOT - 3.13.0 - 2.0.0 - 17 - UTF-8 - UTF-8 - quarkus-bom - io.quarkus.platform - 3.12.3 - true - 3.2.5 - + + xyz.block.ftl + ftl-build-parent-java + 1.0-SNAPSHOT + - - - - ${quarkus.platform.group-id} - ${quarkus.platform.artifact-id} - ${quarkus.platform.version} - pom - import - - - - - - - xyz.block.ftl - ftl-java-runtime - 1.0-SNAPSHOT - - - io.quarkus - quarkus-kotlin - - - io.quarkus - quarkus-jackson - - - io.quarkus - quarkus-rest-jackson - - - io.quarkus - quarkus-junit5 - test - - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - - - io.rest-assured - kotlin-extensions - test - - - - - - - ${quarkus.platform.group-id} - quarkus-maven-plugin - ${quarkus.platform.version} - true - - - - build - generate-code - generate-code-tests - native-image-agent - - - - - - maven-compiler-plugin - ${compiler-plugin.version} - - - -parameters - - - - - maven-surefire-plugin - ${surefire-plugin.version} - - - org.jboss.logmanager.LogManager - ${maven.home} - - - - - maven-failsafe-plugin - ${surefire-plugin.version} - - - - integration-test - verify - - - - - - ${project.build.directory}/${project.build.finalName}-runner - org.jboss.logmanager.LogManager - ${maven.home} - - - - - - - - - native - - - native - - - - false - true - - - diff --git a/backend/controller/pubsub/testdata/java/subscriber/pom.xml b/backend/controller/pubsub/testdata/java/subscriber/pom.xml index cd32d7c0c2..1f1adda429 100644 --- a/backend/controller/pubsub/testdata/java/subscriber/pom.xml +++ b/backend/controller/pubsub/testdata/java/subscriber/pom.xml @@ -5,137 +5,10 @@ subscriber 1.0-SNAPSHOT - - 1.0-SNAPSHOT - 3.13.0 - 2.0.0 - 17 - UTF-8 - UTF-8 - quarkus-bom - io.quarkus.platform - 3.12.3 - true - 3.2.5 - + + xyz.block.ftl + ftl-build-parent-java + 1.0-SNAPSHOT + - - - - ${quarkus.platform.group-id} - ${quarkus.platform.artifact-id} - ${quarkus.platform.version} - pom - import - - - - - - - xyz.block.ftl - ftl-java-runtime - 1.0-SNAPSHOT - - - io.quarkus - quarkus-kotlin - - - io.quarkus - quarkus-jackson - - - io.quarkus - quarkus-rest-jackson - - - io.quarkus - quarkus-junit5 - test - - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - - - io.rest-assured - kotlin-extensions - test - - - - - - - ${quarkus.platform.group-id} - quarkus-maven-plugin - ${quarkus.platform.version} - true - - - - build - generate-code - generate-code-tests - native-image-agent - - - - - - maven-compiler-plugin - ${compiler-plugin.version} - - - -parameters - - - - - maven-surefire-plugin - ${surefire-plugin.version} - - - org.jboss.logmanager.LogManager - ${maven.home} - - - - - maven-failsafe-plugin - ${surefire-plugin.version} - - - - integration-test - verify - - - - - - ${project.build.directory}/${project.build.finalName}-runner - org.jboss.logmanager.LogManager - ${maven.home} - - - - - - - - - native - - - native - - - - false - true - - - diff --git a/buildengine/build_java.go b/buildengine/build_java.go index b136ed5ac0..4b4994b4ac 100644 --- a/buildengine/build_java.go +++ b/buildengine/build_java.go @@ -15,7 +15,9 @@ import ( func buildJavaModule(ctx context.Context, module Module) error { logger := log.FromContext(ctx) if err := SetPOMProperties(ctx, module.Config.Dir); err != nil { - return fmt.Errorf("unable to update ftl.version in %s: %w", module.Config.Dir, err) + // This is not a critical error, things will probably work fine + // TBH updating the pom is maybe not the best idea anyway + logger.Warnf("unable to update ftl.version in %s: %s", module.Config.Dir, err.Error()) } logger.Infof("Using build command '%s'", module.Config.Build) err := exec.Command(ctx, log.Debug, module.Config.Dir, "bash", "-c", module.Config.Build).RunBuffered(ctx) @@ -44,6 +46,37 @@ func SetPOMProperties(ctx context.Context, baseDir string) error { return fmt.Errorf("unable to read %s: %w", pomFile, err) } root := tree.Root() + + parent := root.SelectElement("parent") + versionSet := false + if parent != nil { + // You can't use properties in the parent + // If they are using our parent then we want to update the version + group := parent.SelectElement("groupId") + artifact := parent.SelectElement("artifactId") + if group.Text() == "xyz.block.ftl" && (artifact.Text() == "ftl-build-parent-java" || artifact.Text() == "ftl-build-parent-kotlin") { + version := parent.SelectElement("version") + if version != nil { + version.SetText(ftlVersion) + versionSet = true + } + } + } + + err := updatePomProperties(root, pomFile, ftlVersion) + if err != nil && !versionSet { + // This is only a failure if we also did not update the parent + return err + } + + err = tree.WriteToFile(pomFile) + if err != nil { + return fmt.Errorf("unable to write %s: %w", pomFile, err) + } + return nil +} + +func updatePomProperties(root *etree.Element, pomFile string, ftlVersion string) error { properties := root.SelectElement("properties") if properties == nil { return fmt.Errorf("unable to find in %s", pomFile) @@ -53,10 +86,5 @@ func SetPOMProperties(ctx context.Context, baseDir string) error { return fmt.Errorf("unable to find / in %s", pomFile) } version.SetText(ftlVersion) - - err := tree.WriteToFile(pomFile) - if err != nil { - return fmt.Errorf("unable to write %s: %w", pomFile, err) - } return nil } diff --git a/examples/kotlin/echo/pom.xml b/examples/kotlin/echo/pom.xml index c22eb5f864..7c79558f37 100644 --- a/examples/kotlin/echo/pom.xml +++ b/examples/kotlin/echo/pom.xml @@ -5,178 +5,10 @@ echo 1.0-SNAPSHOT - - 1.0-SNAPSHOT - 3.13.0 - 2.0.0 - 17 - UTF-8 - UTF-8 - quarkus-bom - io.quarkus.platform - 3.12.3 - true - 3.2.5 - + + xyz.block.ftl + ftl-build-parent-kotlin + 1.0-SNAPSHOT + - - - - ${quarkus.platform.group-id} - ${quarkus.platform.artifact-id} - ${quarkus.platform.version} - pom - import - - - - - - - xyz.block.ftl - ftl-java-runtime - 1.0-SNAPSHOT - - - io.quarkus - quarkus-kotlin - - - io.quarkus - quarkus-jackson - - - io.quarkus - quarkus-rest-jackson - - - io.quarkus - quarkus-junit5 - test - - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - - - io.rest-assured - kotlin-extensions - test - - - - - src/main/kotlin - src/test/kotlin - - - ${quarkus.platform.group-id} - quarkus-maven-plugin - ${quarkus.platform.version} - true - - - - build - generate-code - generate-code-tests - native-image-agent - - - - - - maven-compiler-plugin - ${compiler-plugin.version} - - - -parameters - - - - - maven-surefire-plugin - ${surefire-plugin.version} - - - org.jboss.logmanager.LogManager - ${maven.home} - - - - - maven-failsafe-plugin - ${surefire-plugin.version} - - - - integration-test - verify - - - - - - ${project.build.directory}/${project.build.finalName}-runner - org.jboss.logmanager.LogManager - ${maven.home} - - - - - org.jetbrains.kotlin - kotlin-maven-plugin - ${kotlin.version} - - - compile - - compile - - - - test-compile - - test-compile - - - - - - org.jetbrains.kotlin - kotlin-maven-allopen - ${kotlin.version} - - - - true - 17 - - all-open - - - - - - - - - - - - - - - native - - - native - - - - false - true - - - diff --git a/examples/kotlin/echo/src/main/ftl-module-schema/time.pb b/examples/kotlin/echo/src/main/ftl-module-schema/time.pb index 05389c8baa..210dd6c843 100644 Binary files a/examples/kotlin/echo/src/main/ftl-module-schema/time.pb and b/examples/kotlin/echo/src/main/ftl-module-schema/time.pb differ diff --git a/examples/kotlin/time/pom.xml b/examples/kotlin/time/pom.xml index 90987014b6..3d89a3e9a2 100644 --- a/examples/kotlin/time/pom.xml +++ b/examples/kotlin/time/pom.xml @@ -5,178 +5,10 @@ time 1.0-SNAPSHOT - - 1.0-SNAPSHOT - 3.13.0 - 2.0.0 - 17 - UTF-8 - UTF-8 - quarkus-bom - io.quarkus.platform - 3.12.3 - true - 3.2.5 - + + xyz.block.ftl + ftl-build-parent-kotlin + 1.0-SNAPSHOT + - - - - ${quarkus.platform.group-id} - ${quarkus.platform.artifact-id} - ${quarkus.platform.version} - pom - import - - - - - - - xyz.block.ftl - ftl-java-runtime - 1.0-SNAPSHOT - - - io.quarkus - quarkus-kotlin - - - io.quarkus - quarkus-jackson - - - io.quarkus - quarkus-rest-jackson - - - io.quarkus - quarkus-junit5 - test - - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - - - io.rest-assured - kotlin-extensions - test - - - - - src/main/kotlin - src/test/kotlin - - - ${quarkus.platform.group-id} - quarkus-maven-plugin - ${quarkus.platform.version} - true - - - - build - generate-code - generate-code-tests - native-image-agent - - - - - - maven-compiler-plugin - ${compiler-plugin.version} - - - -parameters - - - - - maven-surefire-plugin - ${surefire-plugin.version} - - - org.jboss.logmanager.LogManager - ${maven.home} - - - - - maven-failsafe-plugin - ${surefire-plugin.version} - - - - integration-test - verify - - - - - - ${project.build.directory}/${project.build.finalName}-runner - org.jboss.logmanager.LogManager - ${maven.home} - - - - - org.jetbrains.kotlin - kotlin-maven-plugin - ${kotlin.version} - - - compile - - compile - - - - test-compile - - test-compile - - - - - - org.jetbrains.kotlin - kotlin-maven-allopen - ${kotlin.version} - - - - true - 17 - - all-open - - - - - - - - - - - - - - - native - - - native - - - - false - true - - - diff --git a/jvm-runtime/ftl-runtime/common/bom/pom.xml b/jvm-runtime/ftl-runtime/common/bom/pom.xml new file mode 100644 index 0000000000..d94fc84b72 --- /dev/null +++ b/jvm-runtime/ftl-runtime/common/bom/pom.xml @@ -0,0 +1,102 @@ + + + 4.0.0 + + + xyz.block.ftl + ftl-jvm-runtime-parent + 1.0-SNAPSHOT + + ftl-jvm-bom + Ftl JVM BOM + + + + + xyz.block.ftl + ftl-jvm-parent + ${project.version} + pom + import + + + xyz.block.ftl + ftl-jvm-runtime + ${project.version} + + + xyz.block.ftl + ftl-java-runtime + ${project.version} + + + xyz.block.ftl + ftl-kotlin-runtime + ${project.version} + + + + + + + + + ${quarkus.platform.group-id} + quarkus-maven-plugin + ${quarkus.platform.version} + true + + + + build + generate-code + generate-code-tests + native-image-agent + + + + + + maven-compiler-plugin + ${compiler-plugin.version} + + + -parameters + + + + + maven-surefire-plugin + ${surefire-plugin.version} + + + org.jboss.logmanager.LogManager + ${maven.home} + + + + + maven-failsafe-plugin + ${surefire-plugin.version} + + + + integration-test + verify + + + + + + ${project.build.directory}/${project.build.finalName}-runner + org.jboss.logmanager.LogManager + ${maven.home} + + + + + + + + diff --git a/jvm-runtime/ftl-runtime/common/build-parent/pom.xml b/jvm-runtime/ftl-runtime/common/build-parent/pom.xml new file mode 100644 index 0000000000..8d4a1e5659 --- /dev/null +++ b/jvm-runtime/ftl-runtime/common/build-parent/pom.xml @@ -0,0 +1,124 @@ + + + 4.0.0 + + xyz.block.ftl + ftl-jvm-runtime-parent + 1.0-SNAPSHOT + + ftl-build-parent + pom + Ftl JVM Build Parent POM + This pom.xml can be used as a parent pom to inherit all required configuration to build a FTL app. + + 1.0-SNAPSHOT + 3.13.0 + 2.0.0 + 17 + UTF-8 + UTF-8 + quarkus-bom + io.quarkus.platform + 3.12.3 + true + 3.2.5 + + + + + + xyz.block.ftl + ftl-jvm-bom + ${project.version} + pom + import + + + + + + + xyz.block.ftl + ftl-jvm-runtime + + + io.quarkus + quarkus-junit5 + test + + + + + + + ${quarkus.platform.group-id} + quarkus-maven-plugin + ${quarkus.platform.version} + true + + + + build + generate-code + generate-code-tests + native-image-agent + + + + + + maven-compiler-plugin + ${compiler-plugin.version} + + + -parameters + + + + + maven-surefire-plugin + ${surefire-plugin.version} + + + org.jboss.logmanager.LogManager + ${maven.home} + + + + + maven-failsafe-plugin + ${surefire-plugin.version} + + + + integration-test + verify + + + + + + ${project.build.directory}/${project.build.finalName}-runner + org.jboss.logmanager.LogManager + ${maven.home} + + + + + + + + + native + + + native + + + + false + true + + + + diff --git a/jvm-runtime/ftl-runtime/common/deployment/pom.xml b/jvm-runtime/ftl-runtime/common/deployment/pom.xml index 10b648e0c9..5cf9f54ca1 100644 --- a/jvm-runtime/ftl-runtime/common/deployment/pom.xml +++ b/jvm-runtime/ftl-runtime/common/deployment/pom.xml @@ -4,7 +4,7 @@ xyz.block.ftl - ftl-jvm-runtime-common-parent + ftl-jvm-runtime-parent 1.0-SNAPSHOT ftl-jvm-runtime-deployment diff --git a/jvm-runtime/ftl-runtime/common/pom.xml b/jvm-runtime/ftl-runtime/common/pom.xml index 599fee4617..3aa2e02a32 100644 --- a/jvm-runtime/ftl-runtime/common/pom.xml +++ b/jvm-runtime/ftl-runtime/common/pom.xml @@ -3,18 +3,20 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> - ftl-jvm-runtime-parent + ftl-jvm-parent xyz.block.ftl 1.0-SNAPSHOT ../pom.xml 4.0.0 - ftl-jvm-runtime-common-parent - FTL Java Runtime - Common Parent + ftl-jvm-runtime-parent + FTL Java Runtime - Parent pom deployment runtime + bom + build-parent diff --git a/jvm-runtime/ftl-runtime/common/runtime/pom.xml b/jvm-runtime/ftl-runtime/common/runtime/pom.xml index 5067ccff95..3ac8b03549 100644 --- a/jvm-runtime/ftl-runtime/common/runtime/pom.xml +++ b/jvm-runtime/ftl-runtime/common/runtime/pom.xml @@ -5,7 +5,7 @@ xyz.block.ftl - ftl-jvm-runtime-common-parent + ftl-jvm-runtime-parent 1.0-SNAPSHOT ftl-jvm-runtime diff --git a/jvm-runtime/ftl-runtime/java/build-parent/pom.xml b/jvm-runtime/ftl-runtime/java/build-parent/pom.xml new file mode 100644 index 0000000000..b0cce8b80d --- /dev/null +++ b/jvm-runtime/ftl-runtime/java/build-parent/pom.xml @@ -0,0 +1,22 @@ + + + 4.0.0 + + xyz.block.ftl + ftl-build-parent + 1.0-SNAPSHOT + ../../common/build-parent + + ftl-build-parent-java + pom + Ftl Kotlin Build Parent POM + This pom.xml can be used as a parent pom to inherit all required configuration to build a FTL Java app. + + + + xyz.block.ftl + ftl-java-runtime + + + + diff --git a/jvm-runtime/ftl-runtime/java/pom.xml b/jvm-runtime/ftl-runtime/java/pom.xml index b15084802d..e03d255a32 100644 --- a/jvm-runtime/ftl-runtime/java/pom.xml +++ b/jvm-runtime/ftl-runtime/java/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> - ftl-jvm-runtime-parent + ftl-jvm-parent xyz.block.ftl 1.0-SNAPSHOT ../pom.xml @@ -17,5 +17,6 @@ deployment runtime integration-tests + build-parent diff --git a/jvm-runtime/ftl-runtime/kotlin/build-parent/pom.xml b/jvm-runtime/ftl-runtime/kotlin/build-parent/pom.xml new file mode 100644 index 0000000000..f8a6929d9a --- /dev/null +++ b/jvm-runtime/ftl-runtime/kotlin/build-parent/pom.xml @@ -0,0 +1,68 @@ + + + 4.0.0 + + xyz.block.ftl + ftl-build-parent + 1.0-SNAPSHOT + ../../common/build-parent + + ftl-build-parent-kotlin + pom + Ftl Kotlin Build Parent POM + This pom.xml can be used as a parent pom to inherit all required configuration to build a FTL Kotlin app. + + + + xyz.block.ftl + ftl-kotlin-runtime + + + + + src/main/kotlin + src/test/kotlin + + + org.jetbrains.kotlin + kotlin-maven-plugin + ${kotlin.version} + + + compile + + compile + + + + test-compile + + test-compile + + + + + + org.jetbrains.kotlin + kotlin-maven-allopen + ${kotlin.version} + + + + true + ${maven.compiler.release} + + all-open + + + + + + + + + + + + + diff --git a/jvm-runtime/ftl-runtime/kotlin/pom.xml b/jvm-runtime/ftl-runtime/kotlin/pom.xml index 6037b101de..57123f40d8 100644 --- a/jvm-runtime/ftl-runtime/kotlin/pom.xml +++ b/jvm-runtime/ftl-runtime/kotlin/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> - ftl-jvm-runtime-parent + ftl-jvm-parent xyz.block.ftl 1.0-SNAPSHOT ../pom.xml @@ -16,5 +16,6 @@ deployment runtime + build-parent diff --git a/jvm-runtime/ftl-runtime/pom.xml b/jvm-runtime/ftl-runtime/pom.xml index 2344b20309..52b82ca84a 100644 --- a/jvm-runtime/ftl-runtime/pom.xml +++ b/jvm-runtime/ftl-runtime/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 xyz.block.ftl - ftl-jvm-runtime-parent + ftl-jvm-parent 1.0-SNAPSHOT pom Ftl Java Runtime - Parent diff --git a/jvm-runtime/ftl-runtime/test-framework/pom.xml b/jvm-runtime/ftl-runtime/test-framework/pom.xml index 95f4eff8be..5a9f7becdf 100644 --- a/jvm-runtime/ftl-runtime/test-framework/pom.xml +++ b/jvm-runtime/ftl-runtime/test-framework/pom.xml @@ -4,7 +4,7 @@ xyz.block.ftl - ftl-jvm-runtime-parent + ftl-jvm-parent 1.0-SNAPSHOT ftl-jvm-test-framework diff --git a/jvm-runtime/testdata/java/javamodule/pom.xml b/jvm-runtime/testdata/java/javamodule/pom.xml index 3b5b2263b8..a8e23d687a 100644 --- a/jvm-runtime/testdata/java/javamodule/pom.xml +++ b/jvm-runtime/testdata/java/javamodule/pom.xml @@ -5,137 +5,10 @@ javamodule 1.0-SNAPSHOT - - 1.0-SNAPSHOT - 3.13.0 - 2.0.0 - 17 - UTF-8 - UTF-8 - quarkus-bom - io.quarkus.platform - 3.12.3 - true - 3.2.5 - + + xyz.block.ftl + ftl-build-parent-java + 1.0-SNAPSHOT + - - - - ${quarkus.platform.group-id} - ${quarkus.platform.artifact-id} - ${quarkus.platform.version} - pom - import - - - - - - - xyz.block.ftl - ftl-java-runtime - 1.0-SNAPSHOT - - - io.quarkus - quarkus-kotlin - - - io.quarkus - quarkus-jackson - - - io.quarkus - quarkus-rest-jackson - - - io.quarkus - quarkus-junit5 - test - - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - - - io.rest-assured - kotlin-extensions - test - - - - - - - ${quarkus.platform.group-id} - quarkus-maven-plugin - ${quarkus.platform.version} - true - - - - build - generate-code - generate-code-tests - native-image-agent - - - - - - maven-compiler-plugin - ${compiler-plugin.version} - - - -parameters - - - - - maven-surefire-plugin - ${surefire-plugin.version} - - - org.jboss.logmanager.LogManager - ${maven.home} - - - - - maven-failsafe-plugin - ${surefire-plugin.version} - - - - integration-test - verify - - - - - - ${project.build.directory}/${project.build.finalName}-runner - org.jboss.logmanager.LogManager - ${maven.home} - - - - - - - - - native - - - native - - - - false - true - - - diff --git a/jvm-runtime/testdata/java/javamodule/src/main/java/xyz/block/ftl/java/test/TestInvokeGo.java b/jvm-runtime/testdata/java/javamodule/src/main/java/xyz/block/ftl/java/test/TestInvokeGo.java index 2a6e3ad884..00529e4768 100644 --- a/jvm-runtime/testdata/java/javamodule/src/main/java/xyz/block/ftl/java/test/TestInvokeGo.java +++ b/jvm-runtime/testdata/java/javamodule/src/main/java/xyz/block/ftl/java/test/TestInvokeGo.java @@ -1,5 +1,11 @@ package xyz.block.ftl.java.test; +import java.time.ZonedDateTime; +import java.util.List; +import java.util.Map; + +import org.jetbrains.annotations.NotNull; + import ftl.gomodule.BoolVerbClient; import ftl.gomodule.BytesVerbClient; import ftl.gomodule.EmptyVerbClient; @@ -26,14 +32,9 @@ import ftl.gomodule.TestObjectOptionalFieldsVerbClient; import ftl.gomodule.TestObjectVerbClient; import ftl.gomodule.TimeVerbClient; -import org.jetbrains.annotations.NotNull; import xyz.block.ftl.Export; import xyz.block.ftl.Verb; -import java.time.ZonedDateTime; -import java.util.List; -import java.util.Map; - public class TestInvokeGo { @Export @@ -116,13 +117,13 @@ public boolean boolVerb(boolean val, BoolVerbClient client) { @Export @Verb - public @NotNull TestObjectOptionalFields testObjectOptionalFieldsVerb(@NotNull TestObjectOptionalFields val, TestObjectOptionalFieldsVerbClient client) { + public @NotNull TestObjectOptionalFields testObjectOptionalFieldsVerb(@NotNull TestObjectOptionalFields val, + TestObjectOptionalFieldsVerbClient client) { return client.call(val); } // now the same again but with option return / input types - @Export @Verb public Long optionalIntVerb(Long val, OptionalIntVerbClient client) { @@ -179,9 +180,9 @@ public TestObject optionalTestObjectVerb(TestObject val, OptionalTestObjectVerbC @Export @Verb - public TestObjectOptionalFields optionalTestObjectOptionalFieldsVerb(TestObjectOptionalFields val, OptionalTestObjectOptionalFieldsVerbClient client) { + public TestObjectOptionalFields optionalTestObjectOptionalFieldsVerb(TestObjectOptionalFields val, + OptionalTestObjectOptionalFieldsVerbClient client) { return client.call(val); } - }