Сборка и управление зависимостями функции на Kotlin
Сервис Cloud Functions поддерживает два способа управления зависимостями функции на Kotlin — автоматическую установку через Gradle из исходного кода и ручное добавление зависимостей в архив с проектом. При этом настроить зависимости одновременно двумя способами нельзя.
Установка зависимостей имеет ограничения по ресурсам и времени исполнения. Подробнее об этом читайте в разделе Квоты и лимиты в Cloud Functions. Ознакомиться с журналом установки зависимостей можно по ссылке, которая отображается в списке операций.
Gradle
Gradle
Для поставки зависимостей настройте их в файле build.gradle
или build.gradle.kts
. Никаких дополнительных действий, в том числе компиляции проекта, не требуется.
Если вы хотите использовать SDK для своих функций на Kotlin, настройте зависимости Gradle для SDK.
Примеры файлов для поставки зависимостей
Файл build.gradle.kts
:
plugins {
kotlin("jvm") version "2.0.0"
}
repositories {
mavenCentral()
}
dependencies {
implementation("io.insert-koin:koin-core:3.5.6")
}
Файл src/main/kotlin/somepackage/Handler.kt
(точка входа — somepackage.Handler
):
package somepackage
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
import org.koin.core.context.startKoin
import org.koin.dsl.module
class Repository {
val greeting = "Hello, world!"
}
val koinModule = module {
single { Repository() }
}
fun handle(request: String): String {
startKoin {
modules(koinModule)
}
val component = object : KoinComponent {
val repository: Repository by inject()
}
return component.repository.greeting
}
Ручная поставка зависимостей
Чтобы настроить зависимости вручную, положите JAR-архивы нужных библиотек в корень архива с проектом. Пример:
build.zip
+--org
+----package
+------Handler.kt
+--dependency.jar