Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/paketo-buildpacks/sbt
A Cloud Native Buildpack that builds SBT-based applications from source
https://github.com/paketo-buildpacks/sbt
build-system cnb jvm-applications sbt
Last synced: 3 days ago
JSON representation
A Cloud Native Buildpack that builds SBT-based applications from source
- Host: GitHub
- URL: https://github.com/paketo-buildpacks/sbt
- Owner: paketo-buildpacks
- License: apache-2.0
- Created: 2020-04-17T21:52:35.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-30T15:55:07.000Z (12 days ago)
- Last Synced: 2025-01-01T17:09:36.752Z (10 days ago)
- Topics: build-system, cnb, jvm-applications, sbt
- Language: Go
- Size: 682 KB
- Stars: 9
- Watchers: 6
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-cnb - Scala (SBT)
README
# `gcr.io/paketo-buildpacks/sbt`
The Paketo Buildpack for SBT is a Cloud Native Buildpack that builds SBT-based applications from source.
## Behavior
This buildpack will participate all the following conditions are met
* `/build.sbt` exists
The buildpack will do the following:
* Requests that a JDK be installed
* Links the `~/.sbt` to a layer for caching
* If `/sbt` exists
* Runs `/sbt universal:packageBin` to build the application
* If `/sbt` does not exist
* Contributes SBT to a layer with all commands on `$PATH`
* Runs `/bin/sbt package` to build the application
* Removes the source code in ``, following include/exclude rules
* If `$BP_SBT_BUILT_ARTIFACT` matched a single file
* Restores `$BP_SBT_BUILT_ARTIFACT` from the layer, expands the single file to ``
* If `$BP_SBT_BUILT_ARTIFACT` matched a directory or multiple files
* Restores the files matched by `$BP_SBT_BUILT_ARTIFACT` to ``## Configuration
| Environment Variable | Description |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `$BP_SBT_BUILD_ARGUMENTS` | Configure the arguments to pass to build system. Defaults to `universal:packageBin`. |
| `$BP_SBT_BUILT_MODULE` | Configure the module to find application artifact in. Defaults to the root module (empty). |
| `$BP_SBT_BUILT_ARTIFACT` | Configure the built application artifact explicitly. Supersedes `$BP_SBT_BUILT_MODULE`. Defaults to `target/universal/*.zip`. Can match a single file, multiple files or a directory. Can be one or more space separated patterns. |
| `$BP_SBT_REPOSITORIES_FILE` | Specifies a custom location to SBT's `repositories` file. |
| `$BP_INCLUDE_FILES` | Colon separated list of glob patterns to match source files. Any matched file will be retained in the final image. Defaults to `` (i.e. nothing). |
| `$BP_EXCLUDE_FILES` | Colon separated list of glob patterns to match source files. Any matched file will be specifically removed from the final image. If include patterns are also specified, then they are applied first and exclude patterns can be used to further reduce the fileset. |## Bindings
The buildpack optionally accepts the following bindings:
### Type: `dependency-mapping`
| Key | Value | Description |
| --------------------- | ------- | ------------------------------------------------------------------------------------------------- |
| `` | `` | If needed, the buildpack will fetch the dependency with digest `` from `` |## License
This buildpack is released under version 2.0 of the [Apache License][a].
[a]: http://www.apache.org/licenses/LICENSE-2.0