Hey guys,
as an exercise we've recently created a very simple custom buildpack. After reading the official documentation [1] and having a look at how the ruby buildpack works [2], I tried to understand how to add support for creating an offline buildpack.
The existing resources [3,4], however, point to the java buildpack, which seems to take a different approach than the ruby buildpack: It does not implement /bin/package as proposed in the official documentation [1] and does not use the buildpack-packager [5] like the ruby buildpack, but rather offers a custom rake task.
So, I'm a bit confused here:
* Is there a recommended way how to create a custom offline buildpack?
* If it is the way described in the official documentation (implement bin/package, use the buildpack-packager), then who is supposed to call bin/package? Is this also done by the framework just like the other scripts in bin, such as bin/[detect|compile|release]?
* If bin/package is not called by the framework somehow, is it the CF admin's task to create the offline .zip from a repository containing a buildpack and uploading it with create-buildpack?
* How do you test (offline and online) buildpacks? The ruby buildpack seems to use Machete [6] - is there some more documentation available? Are there other good alternatives?
And maybe a stupid question: Why does cf push -b allow to specify a URL to a git repo containing a buildpack, but cf create-buildpack does not?
Thanks for your help on this!
Warm regards
Marco Voelz