Release DUB 1.0.0

Sönke Ludwig via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Jun 20 08:52:46 PDT 2016


I'm pleased to announce the release of the first stable version of the 
DUB package manager. Stable in this case means that the API, the command 
line interface and the package recipe format will only receive fully 
backwards compatible changes and additions for a while.

This release also adds support for single-file packages, which can be 
used for conveniently writing small scripts and applications. It 
supports a shebang line, so that directly executing the script on Posix 
systems also works (using "chmod +x"):

     #!/usr/bin/env dub
     /+ dub.sdl:
         name "colortest"
         dependency "color" version="~>0.0.3"
     +/

     void main()
     {
         import std.stdio : writefln;
         import std.experimental.color.conv;
         import std.experimental.color.hsx;
         import std.experimental.color.rgb;

         auto yellow = RGB!("rgb", float)(1.0, 1.0, 0.0);
         writefln("Yellow in HSV: %s", yellow.convertColor!(HSV!()));
     }

Instead of a separate file, the contents of the package recipe file go 
into a specially formatted comment within the source code itself. The 
comment must be the first token in the D file (apart from the optional 
shebang line) and must be of the form /+ dub.(json/sdl): ... +/ where 
"..." is a place holder for the actual recipe contents.

The main (high-level) priority for the upcoming versions will be adding 
C family language build support (starting with C/C++ and ObjC). There is 
a draft for how such support might look like, for anyone interested in 
discussing this in prior: https://github.com/dlang/dub/wiki/DEP5

BTW, we now have almost 800 public packages in the registry, covering 
more and more application areas. The growth is not exponential, but very 
steady.

Full change log:
https://github.com/D-Programming-Language/dub/blob/master/CHANGELOG.md

Download:
http://code.dlang.org/download


More information about the Digitalmars-d-announce mailing list