GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-java

Running a function with Gradle & Kotlin (build.gradle.kts)

Abierto
#35 3 comentarios 34 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Java
Estrellas
154
Forks
63
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Thanks for putting all this together! I was trying to get the local invoker working on my local machine, which is setup using kotlin (`1.3.72`) and gradle (`6.4.1`) via the `build.gradle.kts` file.

The Gradle example in the documentation uses a format that doesn't seem compatible with the `build.gradle.kts` file, so I'm hoping sharing that particular configuration helps people set up their project.

# `build.gradle.kts`
```
val invoker by configurations.creating

dependencies {
implementation("com.google.cloud.functions:functions-framework-api:1.0.1")
invoker("com.google.cloud.functions.invoker:java-function-invoker:1.0.0-alpha-2-rc5")
}

task("runFunction") {
main = "com.google.cloud.functions.invoker.runner.Invoker"
classpath(invoker)
inputs.files(configurations.runtimeClasspath, sourceSets["main"].output)
args(
"--target", project.findProperty("runFunction.target") ?: "",
"--port", project.findProperty("runFunction.port") ?: 8080
)
doFirst {
args("--classpath", files(configurations.runtimeClasspath, sourceSets["main"].output).asPath)
}
}

```

Apart from the particular formatting for the `.kts` version, I did have to add one thing:
- I had to add the elvis operator `?: ""` for ``--target`, otherwise you cannot build the project due to `Illegal null value provided in this collection: [--target, null, --port, 8080]`

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.