feat: adopt selective dependency packaging (profiles)#1228
Open
feat: adopt selective dependency packaging (profiles)#1228
Conversation
Add packaging_profiles to manifest.yml and wire --profile/--exclude/--include flags through scripts/package.sh to buildpack-packager. Depends on libbuildpack PR cloudfoundry/libbuildpack#212 which introduces PackageWithOptions, resolveExclusions, and the three new CLI flags in buildpack-packager. Changes: - manifest.yml: add packaging_profiles section with 'minimal' (28 deps) and 'standard' (32 deps) profiles - scripts/package.sh: parse and forward --profile, --exclude, --include to buildpack-packager; update usage() - README.md: document selective offline packaging, updated --help output and package examples - docs/DEVELOPING.md: document profile/exclude options in packaging section - docs/buildpack-modes.md: add Selective Offline Packaging subsection
Contributor
Author
|
once pr cloudfoundry/libbuildpack#212 is merged. this merge is nesccary before the merge of this pr |
kiril-keranov
approved these changes
Apr 2, 2026
Contributor
kiril-keranov
left a comment
There was a problem hiding this comment.
Looks great! Would be very useful
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Wires the new selective dependency packaging feature into the java-buildpack, adopting the
--profile,--exclude, and--includeflags introduced in the libbuildpack packager.Depends on: cloudfoundry/libbuildpack#212
Changes
manifest.yml— addspackaging_profilessection with two profiles:minimal: JDKs, CF utilities, Tomcat, and common frameworks only (47 → 28 deps)standard: core + open-source APM, OTel, and JDBC drivers (47 → 32 deps)scripts/package.sh— parses and forwards--profile,--exclude,--includetobuildpack-packager; updatesusage()README.md— documents selective offline packaging, updated--helpoutput, and expanded package examplesdocs/DEVELOPING.md— documents profile/exclude options in the packaging sectiondocs/buildpack-modes.md— adds "Selective Offline Packaging" subsection under Offline ModeUsage examples
Notes
./scripts/package.sh --cachedproduces identical output to before.--profile,--exclude, and--includeare only valid with--cached(enforced by buildpack-packager).--includerequires--profileto be set (enforced by buildpack-packager).