DUB 0.9.21

Paulo Pinto pjmlp at progtools.org
Sat Feb 22 03:08:57 PST 2014


Am 22.02.2014 10:44, schrieb Sönke Ludwig:
> A new final release is ready. This one took a bit longer and has more
> changes than usual:
>
>   - Finally properly obeys the difference between target types
>     "library", "staticLibrary", "dynamicLibrary" and "sourceLibrary".
>     By default, each "library" type dependency is now build as a static
>     library. The building it combined with the parent package (as in
>     previous versions) can be achieved using the --combined switch.
>
>   - The preferred package description file name is now "dub.json"
>     instead of the historically grown "package.json" to avoid
>     ambiguities (NPM, for example, also uses "package.json").
>
>   - A new "dub test" command can now be used to run the unit tests of
>     any package. DUB will automatically replace the main() of the
>     package with a custom one (if any, see also "mainSourceFile" [1]).
>
>   - The "~>" "pessimistic" version operator as known from RubyGems [2] is
>     now supported and recommended as the default operator to use.
>
>   - Path based sub packages are now supported and recommended over the
>     use of multiple sub packages per directory due to the potential
>     pitfalls of overlapping import paths [3].
>
>   - Revamped command line help - you can now run "dub <command> -h" to
>     get more detailed, command specific help
>
>   - All changes:
>
> https://github.com/rejectedsoftware/dub/blob/master/CHANGELOG.md#v0921---2014-02-22
>
>
> Download at http://code.dlang.org/download
>
>
> Planned for the next release (which will be a much smaller one) is a
> major overhaul of how branch based (as opposed to tagged version based)
> dependencies are handled. Please see the corresponding thread and share
> your thoughts if you think anything should be improved [4].
>
> The second feature planned is first class support for Dustmite -
> creating a reduced test case for an error in a multi-package project
> will then usually be as simple as invoking "dub dustmite" with a regular
> expression matched against the compiler/linker/program output. DUB will
> take care of copying together all sources and issuing the proper
> Dustmite command, calling itself in a special low overhead mode to speed
> up the process. This has already been used to great effect for reporting
> regressions during the DMD 2.065 beta phase, which would otherwise not
> have been possible due to a serious lack of time on my part (running
> Dustmite across multiple DUB packages otherwise requires some
> non-trivial preparation of of the source directory structure).
>
>
> [1]: http://code.dlang.org/package-format#build-settings
> [2]: http://robots.thoughtbot.com/rubys-pessimistic-operator
> [3]: http://code.dlang.org/package-format#sub-packages
> [4]:
> http://forum.rejectedsoftware.com/groups/rejectedsoftware.dub/thread/1020/
>
> PS: The package registry now almost reached 200 available packages (191
> as of this writing)

Great job, integrating it into my hobby projects.


More information about the Digitalmars-d-announce mailing list