Skip to content

Commit

Permalink
Remove heroku/procfile from heroku/java and heroku/scala
Browse files Browse the repository at this point in the history
Previously the `heroku/procfile` buildpack was included within the
`heroku/java` and `heroku/scala` composite buildpacks.

Whilst this is convenient (it saves having to add the Procfile CNB manually),
this approach has a number of issues:
- If an app uses multiple languages (eg `heroku/nodejs` and `heroku/java`),
  the Procfile CNB will end up being run multiple times, and potentially
  with different versions of the Procfile buildpack.
- It means multiple places need updating after Procfile CNB releases,
  and means the builder image can end up containing several
  different versions of the Procfile buildpack.

After this change, the `heroku/procfile` CNB is no longer included in the
`heroku/java` and `heroku/scala` composite buildpacks, and instead
will be included in the Heroku builder image order grouping (added
in the PR that releases this change into the builder).

This matches the approach already used by the Go, Python, PHP and
Ruby buildpacks.

Any app that sets a custom buildpack order in their `project.toml` (rather
than relying on the default buildpack order in the Heroku builder image),
or uses a non-Heroku builder (that does not similarly choose to add the
Procfile to the builder) will need to explicitly add the `heroku/procfile`
buildpack to the end of the buildpacks list in their `project.toml`.
  • Loading branch information
edmorley committed Oct 24, 2023
1 parent dc4352d commit 24482e7
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 21 deletions.
4 changes: 4 additions & 0 deletions meta-buildpacks/java/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Removed

- Removed `heroku/procfile`, since it's being added directly to the Heroku builder images instead. If you override the Heroku builder images' default buildpack detection order (or use this buildpack with a non-Heroku builder image), you will need to append `heroku/procfile` to your buildpacks list. ([#608](https://github.com/heroku/buildpacks-jvm/pull/608))

## [3.2.2] - 2023-10-24

### Changed
Expand Down
10 changes: 0 additions & 10 deletions meta-buildpacks/java/buildpack.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,6 @@ version = "3.2.2"
id = "heroku/maven"
version = "3.2.2"

[[order.group]]
id = "heroku/procfile"
version = "2.0.1"
optional = true

[[order]]

[[order.group]]
Expand All @@ -36,10 +31,5 @@ version = "3.2.2"
id = "heroku/gradle"
version = "3.2.2"

[[order.group]]
id = "heroku/procfile"
version = "2.0.1"
optional = true

[metadata.release]
image = { repository = "docker.io/heroku/buildpack-java" }
3 changes: 0 additions & 3 deletions meta-buildpacks/java/package.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,3 @@ uri = "libcnb:heroku/maven"

[[dependencies]]
uri = "libcnb:heroku/gradle"

[[dependencies]]
uri = "docker://docker.io/heroku/procfile-cnb@sha256:ea7219d4bb50196b4f292c9aae397b17255c59a243d7408535d2a03a5cd2b040"
4 changes: 4 additions & 0 deletions meta-buildpacks/scala/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Removed

- Removed `heroku/procfile`, since it's being added directly to the Heroku builder images instead. If you override the Heroku builder images' default buildpack detection order (or use this buildpack with a non-Heroku builder image), you will need to append `heroku/procfile` to your buildpacks list. ([#608](https://github.com/heroku/buildpacks-jvm/pull/608))

## [3.2.2] - 2023-10-24

### Changed
Expand Down
5 changes: 0 additions & 5 deletions meta-buildpacks/scala/buildpack.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,5 @@ version = "3.2.2"
id = "heroku/sbt"
version = "3.2.2"

[[order.group]]
id = "heroku/procfile"
version = "2.0.1"
optional = true

[metadata.release]
image = { repository = "docker.io/heroku/buildpack-scala" }
3 changes: 0 additions & 3 deletions meta-buildpacks/scala/package.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,3 @@ uri = "libcnb:heroku/jvm"

[[dependencies]]
uri = "libcnb:heroku/sbt"

[[dependencies]]
uri = "docker://docker.io/heroku/procfile-cnb@sha256:ea7219d4bb50196b4f292c9aae397b17255c59a243d7408535d2a03a5cd2b040"

0 comments on commit 24482e7

Please sign in to comment.