Prototype buildsystem "Drake"

Jacob Carlborg doob at me.com
Fri Jul 15 06:27:32 PDT 2011


On 2011-07-15 05:31, Nick Sabalausky wrote:
> "Ulrik Mikaelsson"<ulrik.mikaelsson at gmail.com>  wrote in message
>> * The build-tool itself will need bootstrapping. A user that wants to
>> test some D-project, will first have to aquire (build) and install
>> some D-compiler with custom tools. Then install druntime with another
>> custom build-system. Then Phobos. Then drake. And THEN, the
>> application/library he/she was interested in. Shortening this path is
>> IMHO REALLY important to see more D adoption. From my personal
>> experience, convincing developers and testers to fight through this
>> path is HARD.
>
> It's not as complicated as you suggest. Suppose someone wants to try
> building FooApp:
>
> Step 1: D compilers already come prebuilt, with Phobos and Druntime already
> set up. So just install DMD. Done. Or users can install DVM and then install
> DMD with "dvm install {version}&&  dvm use -d (version)".
>
> Step 2: Install drake. Or, FooApp could even just include Drake. Or, FooApp
> could be installed with a package manager that sees FooApp depends on Drake
> and so auto-installs Drake first.
>
> Step 3: Run "drake all". That invokes a trivial one-line shell/batch script
> that will automatically compile drake and the buildscript (if they're not
> already built), and then run the buildscript.
>
> Or, when we get a good package manager, we could just offer pre-built
> versions of the package manager and then:
>
> Step 1: Install the package manager (which might even install DMD
> automatically, possibly via DVM).
>
> Step 2: Run "d-package-manager install FooApp". The package manager
> determines FooApp depends on DMD and Drake (and maybe DVM), and
> automatically installs all of that, then installs FooApp and invokes
> FooApp's post-install script which is "drake all", and thus builds FooApp.
>
> Step 3: Enjoy a nice latte, because you're done.

When a standard build tool and package manager become available I will 
let DVM install it.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list