-
Notifications
You must be signed in to change notification settings - Fork 14
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
Distribute binaries #161
Distribute binaries #161
Conversation
Add BP_MAVEN_COMMAND and RunBuild toggle in the build plan to control whether to allow distribution-only.
Provide install functionality that can be re-used by Build.
If no maven project is found, allow subsequent buildpacks to request that the maven buildpack makes either `mvn` or `mvnd` available.
8b69603
to
ec074d8
Compare
If `mvn` or `mvnd` are installed for use by subsequent buildpacks, then set MAVEN_OPTS to any configured maven settings. This ensures that subsequent buildpacks use the same `--settings` and `-Dsettings.security`.
I'm not sure I understand the need for the metadata entries. Can you expand on the high level design and your requirements?
If it helps we can try to graph out the buildplan entries and provide some example flows. This is probably the most complicated part of the Java buildpack buildplan, because it covers both source and pre-compiled asset builds. We have to be very careful making changes with this logic. |
At a high-level I want a buildpack to provide I introduced a Taking the README.md as a description of the logic, then I'm extending the logic as follows: The buildpack will do the following:
I can see that the resolution of Hopefully I've provided more clarity around the intention of providing a distribution of |
Sorry for the delay on this. It is on my radar, I'm just trying to make some time to dig into it more. Thanks |
I have been looking at this and working on some code changes for a few different scenarios. I'd rather avoid having the command and runbuild metadata if we can help it. I think we can meet your requirements and not require that, but I'm still in the progress of testing build plans. This is taking a little longer as I think it's necessitating some code clean up as well. The logic about picking which maven to use needs to be abstracted out. Lastly, it is a little ambitious but Id like to add in support for the opposite case as well, ie just build with no install of Maven. |
Closing as #185 is a cleaner approach. |
Support distribution of binaries in maven buildpack
closes #159
Summary
If no
pom.xml
is available the buildpack now provides "maven`Adds a
Command
build plan metadata entry to request that a specific maven binary is distributed. ARunBuild
build plan metadata entry allows subsequent buildpacks to omit project build stages. The changes allow the maven buildpack to be used in a "distribute only" mode.Use Cases
Under discussion in #159
Checklist