GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-java

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

未关闭
#35 3 条评论 34 个 reaction 已指派 0 人 在 GitHub 查看
enhancement
主要语言
Java
星标
154
派生
63
PR 合并指标
30 天内没有已合并 PR

描述

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]`

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。