Wiki
Clone wikiheroku-buildpack-d / Home
D buildpack for Heroku
This buildpack provides basic support for launching a Heroku application written in D.
It uses the DMD compiler, the dub package manager from the Vibe.d project to manage project dependencies, plus a few extra hooks.
Configuring a D project to run on Heroku
# New apps $ heroku apps:create -s cedar --buildpack https://bitbucket.org/mikehouston/heroku-buildpack-d.git # Existing apps $ heroku config:set BUILDPACK_URL=https://bitbucket.org/mikehouston/heroku-buildpack-d.git # Push a D project to Heroku $ git push heroku master Counting objects: 5, done. Delta compression using up to 8 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 316 bytes, done. Total 3 (delta 1), reused 0 (delta 0) -----> Fetching custom git buildpack... done -----> D (dub package manager) app detected -----> Setting PATH: /tmp/build_2vmfluepultgk/toolchain/dmd2/linux/bin64:/tmp/build_2vmfluepultgk/toolchain/dub-0.9.13-linux-x86_64/bin:/tmp/buildpack_2vmfluepultgk/bin::/app/vendor/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin -----> Initializing toolchain ... -----> Building app Running dub-prebuild… ... Running dub build… Checking dependencies in '/tmp/build_2vmfluepultgk' Building configuration "application", build type release Running dmd (compile)... Compiling diet template 'index.dt' (compat)... Linking... Build was successful -----> Discovering process types Procfile declares types -> web -----> Compiled slug size: 4.4MB -----> Launching... done, v10 http://abc-xyz.herokuapp.com deployed to Heroku heTo git@heroku.com:abc-xyz.git 1ab1dc3..ab72237 master -> master
dub-prebuild hook
The buildpack will optionally call a script in the root of the build directory called dub-prebuild
. This script is called with two arguments, $BUILD_DIR
and $CACHE_DIR
, which are used by the buildpack.
You can use this hook to set up any private dependencies, compile additional libraries, etc. There's an example of what you might use the hook for on the page about Running a Vibe.d application.
Updated