GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-java

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

オープン
#35 コメント 3 件 リアクション 34 件 担当者 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 を短くまとめたダイジェスト。