Hi Guillaume.
Does
this answer your question regarding what's included and not? If not let me know.
Buildpack infrastructure is shared, and it differes greatly between JVM and non-jvm buildpacks.
The non-JVM buidlpack' infrastructure is prone to flux, so much that there are large API changes in the space of a single commit. Nonetheless, it's open and accessible. We currently have:
- Machete - a testing framework to integration test a buildpack and it's functionality.
- The Machete firewall test - that demonstrates simple use of Machete and of an ancilliary script for establishing an on-premises emulation in Bosh-Lite.
- Compile Extensions - A simple extension for caching dependencies
- Buildpack Packager - A simple extension to provide bin/package - a way to roll up dependencies in a pre-cached buildpack.
Let me quickly point out whats about to change.
Machete - We hope to make Machete test from within the Droplet environment. Currently an integration test through Bosh-Lite makes for very slow tests. We're not fans. We will make machete run tests in a VM with the same environment as the DEA, starting up warden containers which share the root filesystem with the buildpacks and fixture apps. This entirely mitigates the cost of copying buildpacks and apps throughout the entire cf system during a test.
The firewall test and script will be replaced with scripting to manage security groups instead.
The Compile Extensions will be modified to use a curl stand in app (written and tested in ruby) and path injection to hide the real 'curl'. This will allow us to use a mature application language like ruby to improve reporting and logging.
The Buildpack Packager is going back to Ruby. We need to manage metadata for dependencies and Bash is not really a suitable language.
Theres more on the horizon. Keep an eye on our tracker:
Buildpacks (start with epics).