The DUB package manager

Peter Sommerfeld noreply at rubrica.at
Sat Feb 16 14:19:36 PST 2013


Am 16.02.2013, 22:21 Uhr, schrieb Sönke Ludwig:
> I actually think it is indeed _good_ to have a first class build system
> for exactly the reason that H. S. Teoh gave. If other build systems
> really are on the same level as the standard one, it poses the risk of
> fragmentation among different packages and users would possibly have to
> install a number of different build tools to build all dependencies.

++1

Another issue: I understand why you are using json but it is
not the best suited format IMHO. D put some restriction on
module names, thus the format can be simplified. Compare:

{
   "name": "myproject",

   "description": "A little web service of mine.",

   "authors": ["Peter Parker"],

   "homepage": "http://myproject.com",

   "license": "GPL v2",

   "dependencies": {
		"vibe-d": ">=0.7.11"
    }
}


  name: myproject;

  description: A little web service of mine.;

  authors: [Peter Parker, Fritz Walter];

  homepage: "http://myproject.com";

  license": GPL v2;

  dependencies: [
     vibe: >= 0.7.11  # a comment;
  ];

Using ';' as end-char and omit all these double quotes
makes it much cleaner and less error-prone  for the user
as well as automatic generation. Double quotes are needed
only for strings with none alphanumeric characters.

Adding '#' or '//' for comments would also be a good idea.

I also think that something like json objects, which are
key-value pairs anyway, are dispensable. Hence everything
can be key-value pairs.

Exporting to other formats will probably needed anyway.

Peter


More information about the Digitalmars-d mailing list