all.d file generator

Clay Smith clayasaurus at gmail.com
Tue Jun 26 08:23:39 PDT 2007


Bill Baxter wrote:
> Clay Smith wrote:
>> Hi,
>>
>> I just wanted to post about a little side project of mine that I was 
>> able to successfully use in my own project. I wrote a little program 
>> that, given a project source path, will generate appropriate all.d 
>> files. To my knowledge, no other code like this exists.
>>
>> http://svn.dsource.org/projects/arclib/trunk/codingtools/alldgenerator/alldgenerator.d 
>>
>>
>> You can browse my source to see what the generated all.d files look 
>> like: http://www.dsource.org/projects/arclib/browser/trunk/arc
>>
>> The code is kind of ugly, but I wrote it for utility. I've tested it 
>> on derelict/ , arc/ , phobos std/ , and tango / (just this night). 
>> Unfortunately when I tested it on tango, I learned it has a critical 
>> bug in that if there are two subdirectories with the same name, one of 
>> those directories will import non-existant files from the other 
>> directory thinking that they are in its current directory. I'll get 
>> around to fixing this bug eventually, as I only learned of it tonight.
>>
>> The reason for this utility is that I wanted all.d files for my 
>> project, but do not have the time or desire to maintain them as the 
>> project changes and grows. So, I came up with a solution to 
>> automatically generate all.d files for me and save me hours from 
>> working on a mundane task.
>>
>> My hope is that this will inspire others into the virtue of all.d file 
>> generation, namely DSSS and build, or that someone out there may find 
>> it useful.
> 
> Do you allow for changing the name?  I'm not so fond of 'all' since 
> often 'all' ends up being more like the 'standard exposed api' and not 
> really literally 'all'.  In Python I've seen people use 'api' to 
> represent this top level import that just imports sub-packages.  That 
> makes more sense to me than calling it 'all'.
> 
> --bb

Quick fix: global replace "all.d" with "api.d"

Slow fix: wait for me to update it with that feature on the command line



More information about the Digitalmars-d-announce mailing list