On 2011-07-15 05:31, Nick Sabalausky wrote:
"Ulrik Mikaelsson"<[email protected]>  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

Reply via email to