# builder **Repository Path**: mirrors_dsyer/builder ## Basic Information - **Project Name**: builder - **Description**: Home of the buildpack builder for riff - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-04-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README = riff Builder This repository hosts the files necessary to create the buildpack builder used when riff builds functions from source with the `riff function create ` command. == Relation to the https://github.com/projectriff?utf8=✓&q=function-buildpack[projectriff/*-function-buildpack] Repositories In the v3 buildpack ecosystem, a distinction needs to be made between a _buildpack_ and a _builder_. The latter is what is actually involved when running `riff function create` with the buildpack approach. A _builder_ is the composition of several _buildpacks_ using groups. It takes the form of a docker image. In the case of riff, its official location is https://hub.docker.com/r/projectriff/builder/[projectriff/builder]. The purpose of this repository is to allow the creation of that builder. The former, a _buildpack_, is a more fine grained unit of logic that can be composed and collaborate with other buildpacks. The https://github.com/projectriff/java-function-buildpack[projectriff/java-function-buildpack] repository hosts one of them, responsible for applying the riff-specific logic on top of the more general _java_ building logic. As more languages become supported by riff, other riff function buildpacks will be added to collaborate with other buildpacks (_e.g._ `python`), while this repository's `builder.toml` file will enhance its group(s) to reference _e.g._ the generic `python` buildpack. == Building === Prerequisites To build the `projectriff/builder` builder you'll need * Go 1.12+ * a running local docker daemon * the https://github.com/buildpack/pack[`pack`] command line tool, https://github.com/buildpack/pack/releases[version] `>= 0.2.0`. === Creating the Builder Then, building the builder is as simple as [source,bash] ---- # clone to a directory that is not under GOPATH git clone https://github.com/projectriff/builder cd builder make ---- === Using the Builder Locally Lastly, to use the builder created above, just refer to the `pack build` reference: [source, bash] ---- cd where-your-function-is pack build --builder projectriff/builder --no-pull -p . your-org/my-function ---- You should get something similar to [source,bash] ---- 2018/10/17 12:11:51 Selected run image 'packs/run' from stack 'io.buildpacks.stacks.bionic' *** DETECTING: 2018/10/17 10:11:53 Group: Cloud Foundry OpenJDK Buildpack: pass | Cloud Foundry Build System Buildpack: pass | riff Buildpack: pass *** ANALYZING: Reading information from previous image for possible re-use *** BUILDING: -----> Cloud Foundry OpenJDK Buildpack 1.0.0-BUILD-SNAPSHOT -----> OpenJDK JDK 1.8.181: Reusing cached dependency -----> OpenJDK JRE 1.8.181: Contributing to launch Downloading from https://java-buildpack.cloudfoundry.org/openjdk/bionic/x86_64/openjdk-1.8.0_181.tar.gz [...] ---> Running in 68e4eef095c7 ---> f36967212b6c ---> f36967212b6c Successfully built f36967212b6c Successfully tagged your-org/my-function ----