Skip to content

If composer.lock available, build full list of extensions for a PHP project pie install #222

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
asgrim opened this issue Apr 17, 2025 · 0 comments
Assignees
Labels
enhancement New feature or request maintainer investigating This ticket is being investigated by maintainers. Please check with us before contributing PRs etc!

Comments

@asgrim
Copy link
Collaborator

asgrim commented Apr 17, 2025

The initial implementation of pie install (when cwd is a PHP project) is to examine the root package and compile a list of extensions required. A more complete implementation should actually use composer.lock to compile the list of extensions required through transitive dependencies as well.

Example:

 - root package
   - requires: ext-foo
   - requires: a/b
     - requires: ext-baz

At the moment, ext-baz would NOT be picked for install (since we only look at the root package links).

Also note this comment from Stof:

It would be great to support identifying all extensions required by a project when a composer.lock file is present.

the heroku PHP buildpack has such logic looking at the lock file: https://github.com/heroku/heroku-buildpack-php/blob/6af5a55aab8a8f9417b8c8a14b0a6f91bf005aa0/bin/util/platform.php#L124

NOTE: this is work in progress already

@asgrim asgrim added enhancement New feature or request maintainer investigating This ticket is being investigated by maintainers. Please check with us before contributing PRs etc! labels Apr 17, 2025
@asgrim asgrim self-assigned this Apr 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request maintainer investigating This ticket is being investigated by maintainers. Please check with us before contributing PRs etc!
Projects
None yet
Development

No branches or pull requests

1 participant