April 16, 2007
Today, after your posting i tried again to understand what is dsss. And wow, it's cool. :)

But... please make more docu.

Some thoughts
* more Examples
* How platform independent is a dsss.conf (slash handling?)
* How can a package be combined from two source folders?
* Are there internal tools for platform independent cp/mv/find/..?
* Examples for extending the functionality with d progs using the dsss api.
* a tango version, that net installs only tango progs
* how to handle package deps and versions?
* is it possible to build file rules for non D files?

Is the focus of dsss really to be also a competitor to general build tools like gnu-make or rake?
April 17, 2007
I'm using Rebuild as I needed a Bud replacement as the latter is borked on amd64. I've failed to compile dsss last time I tried and not really knowing what I could actually use it for, I haven't spent any time getting it to work.
April 17, 2007
- not a user

I thought using a makefile was excessive until I started writing programs over 8,000 lines of code.
April 17, 2007
Jari-Matti Mäkelä wrote:
...
> I think being able to install Tango with DSSS would increase its
> popularity. I've probably set up my system wrong since 'dsss net install
> dmd' breaks my manually installed Tango.

Actually, it's not at all surprising that that would break it, since `dsss net install dmd` installs the entirety of the DMD distribution, including Phobos.

Sort of a problem ... I should probably add a check for that.

 - Gregor Richards
April 17, 2007
Wowsa! I wasn't expecting such exuberant reponse!

The primary complaint of everyone is lack of documentation. DSSS' documentation is admittedly sparse, but far from non-existent. I realize now that the documentation is not in the installation binaries, which was a bit of a mistake on my part, so for reference: What documentation I've written is at http://www.dsource.org/projects/dsss/browser/trunk/docs . I will try to get that linked in more visibly. Since most of the complaints about documentation were that it was completely non-existent, I can't really expand on the documentation there is very much. If you tell me specific weak points, overly-sparse areas or just plain confusing wording, I can improve upon it.

I will further reply in individual subthreads.

 - Gregor Richards
April 17, 2007
Frank Benoit (keinfarbton) wrote:
> Today, after your posting i tried again to understand what is dsss. And
> wow, it's cool. :)
> 
> But... please make more docu.
> 
> Some thoughts
> * more Examples

Noted. Admittedly, the documentation is lacking of anything that I'd call an "example."

> * How platform independent is a dsss.conf (slash handling?)

I believe this is covered in README.software_engineers. dsss.conf includes the capability to use version statements.

> * How can a package be combined from two source folders?

Also in README.software_engineers, 'type = subdir'

> * Are there internal tools for platform independent cp/mv/find/..?

(Also in README.software_engineers) Just 'install', nothing equiv. of find. I'm not sure how that would help for compilation, but Idonno ...

> * Examples for extending the functionality with d progs using the dsss api.

Noted. Definitely lacking here.

> * a tango version, that net installs only tango progs

Well, this is on the docket ... it's a bit more difficult than I anticipated.

> * how to handle package deps and versions?

I suppose this isn't documented very well. For reference here, the central repository keeps track of what packages are assigned to what tools, so all you need to do is import.

> * is it possible to build file rules for non D files?

Also in README.software_engineers (sort of). This is accomplished by {pre,post}{build,install} commands calling make or equivalent.

> 
> Is the focus of dsss really to be also a competitor to general build
> tools like gnu-make or rake?

No, DSSS is D-specific.

 - Gregor Richards
April 17, 2007
Tomas Lindquist Olsen wrote:
> I'm using Rebuild as I needed a Bud replacement as the latter is borked on
> amd64. I've failed to compile dsss last time I tried and not really knowing
> what I could actually use it for, I haven't spent any time getting it to
> work.

The DSSS fix for x86_64 was fairly recent ... if you have problems, please post bug reports :)

 - Gregor Richards
April 17, 2007
Carlos Santander wrote:

>> I'm missing a --dry-run flag, that would print out everything it
>> would have done *if* you had executed it. Often used with install ?
> 
>  From the usage instructions:
> 
> -n             just list the commands to be run, don't run them

Yes, that flag - but it only seems to be for "rebuild" - not DSSS ?
i.e. dsss still executes commands, and then passes -n on to rebuild

I'll flag it as an enhancement Ticket...

--anders
April 17, 2007
>> * How can a package be combined from two source folders?
> 
> Also in README.software_engineers, 'type = subdir'
> 

If I have a directory "gen" which contains generated source, and a package "src" with manually written sources. Both contain the package a.b, how can I use dsss to build the lib for "a.b" ?

April 17, 2007
Gregor Richards wrote:
> Jari-Matti Mäkelä wrote:
> ...
>> I think being able to install Tango with DSSS would increase its popularity. I've probably set up my system wrong since 'dsss net install dmd' breaks my manually installed Tango.
> 
> Actually, it's not at all surprising that that would break it, since `dsss net install dmd` installs the entirety of the DMD distribution, including Phobos.
> 
> Sort of a problem ... I should probably add a check for that.

You previously said you will not add support for Tango (dsss net install tango) because it breaks phobos. Wouldn't it be easier (for us users) to have both. So that you can update them via 'dsss net install' and then change to the correct library with something like 'dsss profile set phobos/tango/tango-svn'. Or maybe 'dsss net install dmd' should only update the binaries and 'dsss net install phobos' the rest of the distribution. Then, a profile system for dmd/gdc would be cool too.

> 
>  - Gregor Richards