From 0d76edc4b4d1f083dbe59abf568a205c876f6bff Mon Sep 17 00:00:00 2001 From: Wes Date: Fri, 17 Nov 2023 14:28:20 -0800 Subject: [PATCH] fix: integration tests and use new `ftl deploy` (#613) --- examples/echo-kotlin/.gitignore | 5 - examples/echo-kotlin/pom.xml | 199 ----------------- examples/kotlin/bin/.ftl@latest.pkg | 1 + examples/kotlin/bin/.maven-3.8.6.pkg | 1 + examples/kotlin/bin/.openjdk-17.0.8_7.pkg | 1 + examples/kotlin/bin/README.hermit.md | 7 + examples/kotlin/bin/activate-hermit | 21 ++ examples/kotlin/bin/ftl | 1 + examples/kotlin/bin/ftl-controller | 1 + examples/kotlin/bin/ftl-initdb | 1 + examples/kotlin/bin/ftl-runner | 1 + examples/kotlin/bin/hermit | 43 ++++ examples/kotlin/bin/hermit.hcl | 0 examples/kotlin/bin/jar | 1 + examples/kotlin/bin/jarsigner | 1 + examples/kotlin/bin/java | 1 + examples/kotlin/bin/javac | 1 + examples/kotlin/bin/javadoc | 1 + examples/kotlin/bin/javap | 1 + examples/kotlin/bin/jcmd | 1 + examples/kotlin/bin/jconsole | 1 + examples/kotlin/bin/jdb | 1 + examples/kotlin/bin/jdeprscan | 1 + examples/kotlin/bin/jdeps | 1 + examples/kotlin/bin/jfr | 1 + examples/kotlin/bin/jhsdb | 1 + examples/kotlin/bin/jimage | 1 + examples/kotlin/bin/jinfo | 1 + examples/kotlin/bin/jlink | 1 + examples/kotlin/bin/jmap | 1 + examples/kotlin/bin/jmod | 1 + examples/kotlin/bin/jpackage | 1 + examples/kotlin/bin/jps | 1 + examples/kotlin/bin/jrunscript | 1 + examples/kotlin/bin/jshell | 1 + examples/kotlin/bin/jstack | 1 + examples/kotlin/bin/jstat | 1 + examples/kotlin/bin/jstatd | 1 + examples/kotlin/bin/keytool | 1 + examples/kotlin/bin/mvn | 1 + examples/kotlin/bin/rmiregistry | 1 + examples/kotlin/bin/serialver | 1 + examples/kotlin/ftl-module-echo/ftl.toml | 2 + examples/kotlin/ftl-module-echo/pom.xml | 46 ++++ .../src/main/kotlin/ftl/echo/Echo.kt | 0 examples/kotlin/pom.xml | 200 ++++++++++++++++++ scripts/integration-tests | 9 +- 47 files changed, 358 insertions(+), 210 deletions(-) delete mode 100644 examples/echo-kotlin/.gitignore delete mode 100644 examples/echo-kotlin/pom.xml create mode 120000 examples/kotlin/bin/.ftl@latest.pkg create mode 120000 examples/kotlin/bin/.maven-3.8.6.pkg create mode 120000 examples/kotlin/bin/.openjdk-17.0.8_7.pkg create mode 100644 examples/kotlin/bin/README.hermit.md create mode 100755 examples/kotlin/bin/activate-hermit create mode 120000 examples/kotlin/bin/ftl create mode 120000 examples/kotlin/bin/ftl-controller create mode 120000 examples/kotlin/bin/ftl-initdb create mode 120000 examples/kotlin/bin/ftl-runner create mode 100755 examples/kotlin/bin/hermit create mode 100644 examples/kotlin/bin/hermit.hcl create mode 120000 examples/kotlin/bin/jar create mode 120000 examples/kotlin/bin/jarsigner create mode 120000 examples/kotlin/bin/java create mode 120000 examples/kotlin/bin/javac create mode 120000 examples/kotlin/bin/javadoc create mode 120000 examples/kotlin/bin/javap create mode 120000 examples/kotlin/bin/jcmd create mode 120000 examples/kotlin/bin/jconsole create mode 120000 examples/kotlin/bin/jdb create mode 120000 examples/kotlin/bin/jdeprscan create mode 120000 examples/kotlin/bin/jdeps create mode 120000 examples/kotlin/bin/jfr create mode 120000 examples/kotlin/bin/jhsdb create mode 120000 examples/kotlin/bin/jimage create mode 120000 examples/kotlin/bin/jinfo create mode 120000 examples/kotlin/bin/jlink create mode 120000 examples/kotlin/bin/jmap create mode 120000 examples/kotlin/bin/jmod create mode 120000 examples/kotlin/bin/jpackage create mode 120000 examples/kotlin/bin/jps create mode 120000 examples/kotlin/bin/jrunscript create mode 120000 examples/kotlin/bin/jshell create mode 120000 examples/kotlin/bin/jstack create mode 120000 examples/kotlin/bin/jstat create mode 120000 examples/kotlin/bin/jstatd create mode 120000 examples/kotlin/bin/keytool create mode 120000 examples/kotlin/bin/mvn create mode 120000 examples/kotlin/bin/rmiregistry create mode 120000 examples/kotlin/bin/serialver create mode 100644 examples/kotlin/ftl-module-echo/ftl.toml create mode 100644 examples/kotlin/ftl-module-echo/pom.xml rename examples/{echo-kotlin => kotlin/ftl-module-echo}/src/main/kotlin/ftl/echo/Echo.kt (100%) create mode 100644 examples/kotlin/pom.xml diff --git a/examples/echo-kotlin/.gitignore b/examples/echo-kotlin/.gitignore deleted file mode 100644 index 1b6985c00..000000000 --- a/examples/echo-kotlin/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Ignore Gradle project-specific cache directory -.gradle - -# Ignore Gradle build output directory -build diff --git a/examples/echo-kotlin/pom.xml b/examples/echo-kotlin/pom.xml deleted file mode 100644 index 78d8c5f40..000000000 --- a/examples/echo-kotlin/pom.xml +++ /dev/null @@ -1,199 +0,0 @@ - - - 4.0.0 - xyz.block - echo-kotlin - 1.0-SNAPSHOT - - - 1.0-SNAPSHOT - 11 - 1.9.0 - true - ${java.version} - ${java.version} - - - - - org.jetbrains.kotlin - kotlin-stdlib - ${kotlin.version} - - - ${project.groupId} - ftl-runtime - ${ftl.version} - - - ${project.groupId} - ftl-generator - ${ftl.version} - - - - - - - kotlin-maven-plugin - org.jetbrains.kotlin - ${kotlin.version} - - - compile - - compile - - - - ${project.basedir}/src/main/kotlin - - - - - test-compile - - test-compile - - - - ${project.basedir}/src/test/kotlin - - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - 3.2.0 - - - initialize - - copy - - - - - xyz.block - ftl-generator - ${ftl.version} - jar-with-dependencies - ftl-generator.jar - - - xyz.block - ftl-runtime - ${ftl.version} - ftl-runtime.jar - - - - - - copy-dependencies - compile - - copy-dependencies - - - ${project.build.directory}/dependency - runtime - - - - build-classpath - compile - - build-classpath - - - ${project.build.directory}/classpath.txt - generated.classpath - ${project.build.directory}/dependency - - - - - - - org.codehaus.mojo - exec-maven-plugin - 3.0.0 - - - initialize - - exec - - - java - - -jar - target/dependency/ftl-generator.jar - --endpoint=http://127.0.0.1:8892 - --dest=${project.build.directory} - --module=echo - --module-client-suffix=ModuleClient - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 3.2.0 - - - generate-sources - - add-source - - - - ${project.build.directory}/generated-sources/ftl - - - - - - - com.github.ozsie - detekt-maven-plugin - 1.23.3 - - true - ${generated.classpath} - ${java.version} - ${project.build.directory}/detekt.yml - - - ${project.build.directory}/dependency/ftl-runtime-${ftl.version}.jar - - - ${project.basedir} - - - - compile - - check-with-type-resolution - - - - - - xyz.block - ftl-runtime - ${ftl.version} - - - - - - \ No newline at end of file diff --git a/examples/kotlin/bin/.ftl@latest.pkg b/examples/kotlin/bin/.ftl@latest.pkg new file mode 120000 index 000000000..383f4511d --- /dev/null +++ b/examples/kotlin/bin/.ftl@latest.pkg @@ -0,0 +1 @@ +hermit \ No newline at end of file diff --git a/examples/kotlin/bin/.maven-3.8.6.pkg b/examples/kotlin/bin/.maven-3.8.6.pkg new file mode 120000 index 000000000..383f4511d --- /dev/null +++ b/examples/kotlin/bin/.maven-3.8.6.pkg @@ -0,0 +1 @@ +hermit \ No newline at end of file diff --git a/examples/kotlin/bin/.openjdk-17.0.8_7.pkg b/examples/kotlin/bin/.openjdk-17.0.8_7.pkg new file mode 120000 index 000000000..383f4511d --- /dev/null +++ b/examples/kotlin/bin/.openjdk-17.0.8_7.pkg @@ -0,0 +1 @@ +hermit \ No newline at end of file diff --git a/examples/kotlin/bin/README.hermit.md b/examples/kotlin/bin/README.hermit.md new file mode 100644 index 000000000..e889550ba --- /dev/null +++ b/examples/kotlin/bin/README.hermit.md @@ -0,0 +1,7 @@ +# Hermit environment + +This is a [Hermit](https://github.com/cashapp/hermit) bin directory. + +The symlinks in this directory are managed by Hermit and will automatically +download and install Hermit itself as well as packages. These packages are +local to this environment. diff --git a/examples/kotlin/bin/activate-hermit b/examples/kotlin/bin/activate-hermit new file mode 100755 index 000000000..fe28214d3 --- /dev/null +++ b/examples/kotlin/bin/activate-hermit @@ -0,0 +1,21 @@ +#!/bin/bash +# This file must be used with "source bin/activate-hermit" from bash or zsh. +# You cannot run it directly +# +# THIS FILE IS GENERATED; DO NOT MODIFY + +if [ "${BASH_SOURCE-}" = "$0" ]; then + echo "You must source this script: \$ source $0" >&2 + exit 33 +fi + +BIN_DIR="$(dirname "${BASH_SOURCE[0]:-${(%):-%x}}")" +if "${BIN_DIR}/hermit" noop > /dev/null; then + eval "$("${BIN_DIR}/hermit" activate "${BIN_DIR}/..")" + + if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ]; then + hash -r 2>/dev/null + fi + + echo "Hermit environment $("${HERMIT_ENV}"/bin/hermit env HERMIT_ENV) activated" +fi diff --git a/examples/kotlin/bin/ftl b/examples/kotlin/bin/ftl new file mode 120000 index 000000000..47611de9b --- /dev/null +++ b/examples/kotlin/bin/ftl @@ -0,0 +1 @@ +.ftl@latest.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/ftl-controller b/examples/kotlin/bin/ftl-controller new file mode 120000 index 000000000..47611de9b --- /dev/null +++ b/examples/kotlin/bin/ftl-controller @@ -0,0 +1 @@ +.ftl@latest.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/ftl-initdb b/examples/kotlin/bin/ftl-initdb new file mode 120000 index 000000000..47611de9b --- /dev/null +++ b/examples/kotlin/bin/ftl-initdb @@ -0,0 +1 @@ +.ftl@latest.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/ftl-runner b/examples/kotlin/bin/ftl-runner new file mode 120000 index 000000000..47611de9b --- /dev/null +++ b/examples/kotlin/bin/ftl-runner @@ -0,0 +1 @@ +.ftl@latest.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/hermit b/examples/kotlin/bin/hermit new file mode 100755 index 000000000..7fef76924 --- /dev/null +++ b/examples/kotlin/bin/hermit @@ -0,0 +1,43 @@ +#!/bin/bash +# +# THIS FILE IS GENERATED; DO NOT MODIFY + +set -eo pipefail + +export HERMIT_USER_HOME=~ + +if [ -z "${HERMIT_STATE_DIR}" ]; then + case "$(uname -s)" in + Darwin) + export HERMIT_STATE_DIR="${HERMIT_USER_HOME}/Library/Caches/hermit" + ;; + Linux) + export HERMIT_STATE_DIR="${XDG_CACHE_HOME:-${HERMIT_USER_HOME}/.cache}/hermit" + ;; + esac +fi + +export HERMIT_DIST_URL="${HERMIT_DIST_URL:-https://github.com/cashapp/hermit/releases/download/stable}" +HERMIT_CHANNEL="$(basename "${HERMIT_DIST_URL}")" +export HERMIT_CHANNEL +export HERMIT_EXE=${HERMIT_EXE:-${HERMIT_STATE_DIR}/pkg/hermit@${HERMIT_CHANNEL}/hermit} + +if [ ! -x "${HERMIT_EXE}" ]; then + echo "Bootstrapping ${HERMIT_EXE} from ${HERMIT_DIST_URL}" 1>&2 + INSTALL_SCRIPT="$(mktemp)" + # This value must match that of the install script + INSTALL_SCRIPT_SHA256="180e997dd837f839a3072a5e2f558619b6d12555cd5452d3ab19d87720704e38" + if [ "${INSTALL_SCRIPT_SHA256}" = "BYPASS" ]; then + curl -fsSL "${HERMIT_DIST_URL}/install.sh" -o "${INSTALL_SCRIPT}" + else + # Install script is versioned by its sha256sum value + curl -fsSL "${HERMIT_DIST_URL}/install-${INSTALL_SCRIPT_SHA256}.sh" -o "${INSTALL_SCRIPT}" + # Verify install script's sha256sum + openssl dgst -sha256 "${INSTALL_SCRIPT}" | \ + awk -v EXPECTED="$INSTALL_SCRIPT_SHA256" \ + '$2!=EXPECTED {print "Install script sha256 " $2 " does not match " EXPECTED; exit 1}' + fi + /bin/bash "${INSTALL_SCRIPT}" 1>&2 +fi + +exec "${HERMIT_EXE}" --level=fatal exec "$0" -- "$@" diff --git a/examples/kotlin/bin/hermit.hcl b/examples/kotlin/bin/hermit.hcl new file mode 100644 index 000000000..e69de29bb diff --git a/examples/kotlin/bin/jar b/examples/kotlin/bin/jar new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jar @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jarsigner b/examples/kotlin/bin/jarsigner new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jarsigner @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/java b/examples/kotlin/bin/java new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/java @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/javac b/examples/kotlin/bin/javac new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/javac @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/javadoc b/examples/kotlin/bin/javadoc new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/javadoc @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/javap b/examples/kotlin/bin/javap new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/javap @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jcmd b/examples/kotlin/bin/jcmd new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jcmd @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jconsole b/examples/kotlin/bin/jconsole new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jconsole @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jdb b/examples/kotlin/bin/jdb new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jdb @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jdeprscan b/examples/kotlin/bin/jdeprscan new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jdeprscan @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jdeps b/examples/kotlin/bin/jdeps new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jdeps @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jfr b/examples/kotlin/bin/jfr new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jfr @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jhsdb b/examples/kotlin/bin/jhsdb new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jhsdb @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jimage b/examples/kotlin/bin/jimage new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jimage @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jinfo b/examples/kotlin/bin/jinfo new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jinfo @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jlink b/examples/kotlin/bin/jlink new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jlink @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jmap b/examples/kotlin/bin/jmap new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jmap @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jmod b/examples/kotlin/bin/jmod new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jmod @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jpackage b/examples/kotlin/bin/jpackage new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jpackage @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jps b/examples/kotlin/bin/jps new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jps @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jrunscript b/examples/kotlin/bin/jrunscript new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jrunscript @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jshell b/examples/kotlin/bin/jshell new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jshell @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jstack b/examples/kotlin/bin/jstack new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jstack @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jstat b/examples/kotlin/bin/jstat new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jstat @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/jstatd b/examples/kotlin/bin/jstatd new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/jstatd @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/keytool b/examples/kotlin/bin/keytool new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/keytool @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/mvn b/examples/kotlin/bin/mvn new file mode 120000 index 000000000..e51d3a75c --- /dev/null +++ b/examples/kotlin/bin/mvn @@ -0,0 +1 @@ +.maven-3.8.6.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/rmiregistry b/examples/kotlin/bin/rmiregistry new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/rmiregistry @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/bin/serialver b/examples/kotlin/bin/serialver new file mode 120000 index 000000000..7d19c5ad1 --- /dev/null +++ b/examples/kotlin/bin/serialver @@ -0,0 +1 @@ +.openjdk-17.0.8_7.pkg \ No newline at end of file diff --git a/examples/kotlin/ftl-module-echo/ftl.toml b/examples/kotlin/ftl-module-echo/ftl.toml new file mode 100644 index 000000000..700b9d883 --- /dev/null +++ b/examples/kotlin/ftl-module-echo/ftl.toml @@ -0,0 +1,2 @@ +module = "echo" +language = "kotlin" diff --git a/examples/kotlin/ftl-module-echo/pom.xml b/examples/kotlin/ftl-module-echo/pom.xml new file mode 100644 index 000000000..dbcaf401c --- /dev/null +++ b/examples/kotlin/ftl-module-echo/pom.xml @@ -0,0 +1,46 @@ + + + 4.0.0 + ftl + ftl-module-echo + 1.0-SNAPSHOT + + ftl + ftl + 1.0-SNAPSHOT + + + + echo + + + + + + kotlin-maven-plugin + org.jetbrains.kotlin + + + org.apache.maven.plugins + maven-dependency-plugin + + + + org.codehaus.mojo + exec-maven-plugin + + + + org.codehaus.mojo + build-helper-maven-plugin + + + + com.github.ozsie + detekt-maven-plugin + + + + \ No newline at end of file diff --git a/examples/echo-kotlin/src/main/kotlin/ftl/echo/Echo.kt b/examples/kotlin/ftl-module-echo/src/main/kotlin/ftl/echo/Echo.kt similarity index 100% rename from examples/echo-kotlin/src/main/kotlin/ftl/echo/Echo.kt rename to examples/kotlin/ftl-module-echo/src/main/kotlin/ftl/echo/Echo.kt diff --git a/examples/kotlin/pom.xml b/examples/kotlin/pom.xml new file mode 100644 index 000000000..4f642cbb4 --- /dev/null +++ b/examples/kotlin/pom.xml @@ -0,0 +1,200 @@ + + + 4.0.0 + + ftl + ftl + 1.0-SNAPSHOT + + pom + + + ftl-module-echo + + + + 1.0-SNAPSHOT + 11 + 1.9.0 + true + ${java.version} + ${java.version} + + + + + org.jetbrains.kotlin + kotlin-stdlib + ${kotlin.version} + + + xyz.block + ftl-runtime + ${ftl.version} + + + + + + + + kotlin-maven-plugin + org.jetbrains.kotlin + ${kotlin.version} + + + compile + + compile + + + + ${project.basedir}/src/main/kotlin + + + + + test-compile + + test-compile + + + + ${project.basedir}/src/test/kotlin + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.2.0 + + + + initialize + + copy + + + + + xyz.block + ftl-generator + ${ftl.version} + jar-with-dependencies + ftl-generator.jar + + + + + + + copy-dependencies + compile + + copy-dependencies + + + ${project.build.directory}/dependency + runtime + + + + + build-classpath + compile + + build-classpath + + + ${project.build.directory}/classpath.txt + generated.classpath + ${project.build.directory}/dependency + + + + + + + org.codehaus.mojo + exec-maven-plugin + 3.0.0 + + + initialize + + exec + + + java + + -jar + target/dependency/ftl-generator.jar + --endpoint=http://127.0.0.1:8892 + --dest=${project.build.directory} + --module=${ftlModuleName} + --module-client-suffix=ModuleClient + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.2.0 + + + generate-sources + + add-source + + + + ${project.build.directory}/generated-sources/ftl + + + + + + + com.github.ozsie + detekt-maven-plugin + 1.23.3 + + true + ${generated.classpath} + ${java.version} + ${project.build.directory}/detekt.yml + + + ${project.build.directory}/dependency/ftl-runtime-${ftl.version}.jar + + + ${project.basedir} + + + + compile + + check-with-type-resolution + + + + + + xyz.block + ftl-runtime + ${ftl.version} + + + + + + + \ No newline at end of file diff --git a/scripts/integration-tests b/scripts/integration-tests index 1727b0230..25bf87cd4 100755 --- a/scripts/integration-tests +++ b/scripts/integration-tests @@ -45,9 +45,7 @@ start_cluster() { deploy_echo_kotlin() ( info "Deploying echo-kotlin" - cd examples/echo-kotlin - mvn compile - ftl deploy target + ftl deploy examples/kotlin/ftl-module-echo ) deploy_fresh_kotlin() ( @@ -57,9 +55,8 @@ deploy_fresh_kotlin() ( ftl init kotlin "${IT_MODULES}" echo2 ftl init kotlin "${IT_MODULES}" echo3 cd "${IT_MODULES}" - mvn compile - ftl deploy ftl-module-echo2/target - ftl deploy ftl-module-echo3/target + ftl deploy ftl-module-echo2 + ftl deploy ftl-module-echo3 ) deploy_time_go() (