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