builders/gcp/base/google.min.22.builder.toml (355 lines of code) (raw):
description = "Ubuntu 18 base image with buildpacks for .NET, Go, Java, Node.js, and Python"
[[buildpacks]]
id = "google.config.entrypoint"
uri = "entrypoint.tgz"
[[buildpacks]]
id = "google.dart.compile"
uri = "dart/compile.tgz"
[[buildpacks]]
id = "google.dart.pub"
uri = "dart/pub.tgz"
[[buildpacks]]
id = "google.dart.sdk"
uri = "dart/sdk.tgz"
[[buildpacks]]
id = "google.dotnet.runtime"
uri = "dotnet/runtime.tgz"
[[buildpacks]]
id = "google.dotnet.sdk"
uri = "dotnet/sdk.tgz"
[[buildpacks]]
id = "google.dotnet.publish"
uri = "dotnet/publish.tgz"
[[buildpacks]]
id = "google.dotnet.functions-framework"
uri = "dotnet/functions_framework.tgz"
[[buildpacks]]
id = "google.go.clear-source"
uri = "go/clear_source.tgz"
[[buildpacks]]
id = "google.go.runtime"
uri = "go/runtime.tgz"
[[buildpacks]]
id = "google.go.gomod"
uri = "go/gomod.tgz"
[[buildpacks]]
id = "google.go.build"
uri = "go/build.tgz"
[[buildpacks]]
id = "google.go.gopath"
uri = "go/gopath.tgz"
[[buildpacks]]
id = "google.go.functions-framework"
uri = "go/functions_framework.tgz"
[[buildpacks]]
id = "google.java.entrypoint"
uri = "java/entrypoint.tgz"
[[buildpacks]]
id = "google.java.exploded-jar"
uri = "java/exploded_jar.tgz"
[[buildpacks]]
id = "google.java.functions-framework"
uri = "java/functions_framework.tgz"
[[buildpacks]]
id = "google.java.gradle"
uri = "java/gradle.tgz"
[[buildpacks]]
id = "google.java.maven"
uri = "java/maven.tgz"
[[buildpacks]]
id = "google.java.graalvm"
uri = "java/graalvm.tgz"
[[buildpacks]]
id = "google.java.native-image"
uri = "java/native_image.tgz"
[[buildpacks]]
id = "google.java.runtime"
uri = "java/runtime.tgz"
[[buildpacks]]
id = "google.java.clear-source"
uri = "java/clear_source.tgz"
[[buildpacks]]
id = "google.nodejs.runtime"
uri = "nodejs/runtime.tgz"
[[buildpacks]]
id = "google.nodejs.npm"
uri = "nodejs/npm.tgz"
[[buildpacks]]
id = "google.nodejs.yarn"
uri = "nodejs/yarn.tgz"
[[buildpacks]]
id = "google.nodejs.pnpm"
uri = "nodejs/pnpm.tgz"
[[buildpacks]]
id = "google.nodejs.functions-framework"
uri = "nodejs/functions_framework.tgz"
[[buildpacks]]
id = "google.utils.label-image"
uri = "label_image.tgz"
########
# .NET #
########
[[order]]
[[order.group]]
id = "google.dotnet.functions-framework"
optional = true
[[order.group]]
id = "google.dotnet.sdk"
[[order.group]]
id = "google.dotnet.publish"
[[order.group]]
id = "google.dotnet.runtime"
[[order.group]]
id = "google.config.entrypoint"
optional = true
[[order.group]]
id = "google.utils.label-image"
# Prebuilt .NET applications.
[[order]]
[[order.group]]
id = "google.dotnet.runtime"
[[order.group]]
id = "google.config.entrypoint"
[[order.group]]
id = "google.utils.label-image"
########
# Dart #
########
[[order]]
[[order.group]]
id = "google.dart.sdk"
[[order.group]]
id = "google.dart.pub"
optional = true
[[order.group]]
id = "google.dart.compile"
######
# Go #
######
[[order]]
[[order.group]]
id = "google.go.runtime"
[[order.group]]
id = "google.go.functions-framework"
[[order.group]]
id = "google.go.build"
[[order.group]]
id = "google.config.entrypoint"
optional = true
[[order.group]]
id = "google.go.clear-source"
optional = true
[[order.group]]
id = "google.utils.label-image"
[[order]]
[[order.group]]
id = "google.go.runtime"
[[order.group]]
id = "google.go.gomod"
[[order.group]]
id = "google.go.build"
[[order.group]]
id = "google.config.entrypoint"
optional = true
[[order.group]]
id = "google.go.clear-source"
optional = true
[[order.group]]
id = "google.utils.label-image"
[[order]]
[[order.group]]
id = "google.go.runtime"
[[order.group]]
id = "google.go.gopath"
optional = true
[[order.group]]
id = "google.go.build"
[[order.group]]
id = "google.config.entrypoint"
optional = true
[[order.group]]
id = "google.go.clear-source"
optional = true
[[order.group]]
id = "google.utils.label-image"
########
# Java #
########
[[order]]
[[order.group]]
id = "google.java.graalvm"
[[order.group]]
id = "google.java.maven"
[[order.group]]
id = "google.java.functions-framework"
optional = true
[[order.group]]
id = "google.java.native-image"
[[order.group]]
id = "google.config.entrypoint"
optional = true
[[order.group]]
id = "google.java.clear-source"
optional = true
[[order.group]]
id = "google.utils.label-image"
# Functions have separate groups because entrypoint not supported.
[[order]]
[[order.group]]
id = "google.java.runtime"
[[order.group]]
id = "google.java.maven"
[[order.group]]
id = "google.java.functions-framework"
[[order.group]]
id = "google.java.clear-source"
optional = true
[[order.group]]
id = "google.utils.label-image"
[[order]]
[[order.group]]
id = "google.java.runtime"
[[order.group]]
id = "google.java.gradle"
optional = true
[[order.group]]
id = "google.java.functions-framework"
[[order.group]]
id = "google.java.clear-source"
optional = true
[[order.group]]
id = "google.utils.label-image"
# Exploded Jars
[[order]]
[[order.group]]
id = "google.java.runtime"
[[order.group]]
id = "google.java.exploded-jar"
[[order.group]]
id = "google.utils.label-image"
# Maven applications.
[[order]]
[[order.group]]
id = "google.java.runtime"
[[order.group]]
id = "google.java.maven"
[[order.group]]
id = "google.config.entrypoint"
[[order.group]]
id = "google.java.clear-source"
optional = true
[[order.group]]
id = "google.utils.label-image"
[[order]]
[[order.group]]
id = "google.java.runtime"
[[order.group]]
id = "google.java.maven"
[[order.group]]
id = "google.java.entrypoint"
[[order.group]]
id = "google.java.clear-source"
optional = true
[[order.group]]
id = "google.utils.label-image"
# Gradle & Jar-based applications.
[[order]]
[[order.group]]
id = "google.java.runtime"
[[order.group]]
id = "google.java.gradle"
optional = true
[[order.group]]
id = "google.config.entrypoint"
[[order.group]]
id = "google.java.clear-source"
optional = true
[[order.group]]
id = "google.utils.label-image"
[[order]]
[[order.group]]
id = "google.java.runtime"
[[order.group]]
id = "google.java.gradle"
optional = true
[[order.group]]
id = "google.java.entrypoint"
[[order.group]]
id = "google.java.clear-source"
optional = true
[[order.group]]
id = "google.utils.label-image"
###########
# Node.js #
###########
# Note: We detect Node.js last because client-side .js files exist in many
# web projects and detecting Node.js last will decrease the chance of
# detection confusion.
[[order]]
[[order.group]]
id = "google.nodejs.runtime"
[[order.group]]
id = "google.nodejs.yarn"
[[order.group]]
id = "google.nodejs.functions-framework"
optional = true
[[order.group]]
id = "google.config.entrypoint"
optional = true
[[order.group]]
id = "google.utils.label-image"
[[order]]
[[order.group]]
id = "google.nodejs.runtime"
[[order.group]]
id = "google.nodejs.pnpm"
[[order.group]]
id = "google.nodejs.functions-framework"
optional = true
[[order.group]]
id = "google.config.entrypoint"
optional = true
[[order.group]]
id = "google.utils.label-image"
[[order]]
[[order.group]]
id = "google.nodejs.runtime"
[[order.group]]
id = "google.nodejs.npm"
[[order.group]]
id = "google.nodejs.functions-framework"
optional = true
[[order.group]]
id = "google.config.entrypoint"
optional = true
[[order.group]]
id = "google.utils.label-image"
# Separate groups for Node.js projects without dependencies.
# Making both yarn and npm optional in the previous groups leads
# the yarn group to opt in every time.
# Node.js functions without a package.json.
[[order]]
[[order.group]]
id = "google.nodejs.runtime"
[[order.group]]
id = "google.nodejs.functions-framework"
[[order.group]]
id = "google.config.entrypoint"
optional = true
[[order.group]]
id = "google.utils.label-image"
# Node.js applications without a package.json.
# Entrypoint is required because it cannot be read from package.json.
[[order]]
[[order.group]]
id = "google.nodejs.runtime"
[[order.group]]
id = "google.config.entrypoint"
[[order.group]]
id = "google.utils.label-image"
[stack]
id = "google.gae.22"
build-image = "gcr.io/gae-runtimes/buildpacks/stacks/google-gae-22/build"
run-image = "gcr.io/gae-runtimes/buildpacks/stacks/google-min-22/run"
[lifecycle]
version = "0.20.5"