dmdz
Ellery Newcomer
ellery-newcomer at utulsa.edu
Thu Mar 11 17:17:47 PST 2010
On 03/11/2010 12:29 PM, Andrei Alexandrescu wrote:
>> For the more specific case
>>
>> dmdz [global flags] foo.zip [local flags]
>>
>> it expects all the relevant content in foo.zip to be located inside
>> directory foo, and doesn't extract anything else unless you explicitly
>> tell it to.
>
> I don't understand this. Does the program foo.zip have to contain an
> actual directory called "foo"? That's a bit restrictive. My initial plan
> revolved around expanding foo.zip somewhere in a unique subdir of the
> temp directory and considering that a full-blown project resides inside
> that subdir.
It is. I suppose the name isn't so important, but I really hate zip
files whose contents aren't contained inside a single directory. Also,
there would be a bit of a dichotomy if
dmdz foo.zip
resulted in a directory 'foo' wherever, but
unzip foo.zip
resulted in what would be the contents of 'foo' above.
Another thing: do you envision this just being a
build-this-completed-project, or do you see this as an actual
development tool? Because I've been approaching it more from the latter
perspective. Zip file is a roadmap: look, all the files you need for to
compile are here, here, here, and here. So use them. Compile.
But if the zip file is a complete project, then you would expect to see
source code, test code, test data, licenses, documentation, etc, which
would likely require filtering anyways and possibly multiple compiles
for different pieces. And you'd expect the result of the compile to end
up somewhere in the directory you just created.
Alright, I think I'm seeing less and less value in foo.zip/foo as a req.
>
>> Also, there can be a file 'cmd' (name?) inside foo.zip which contains
>> additional flags for the compile, with local flags overriding global
>> flags overriding flags found in cmd. At least for dmdz flags.
>
> How about dmd.conf?
Sounds good.
>
>> dmd flags get filtered out and forwarded to dmd.
>>
>> The current strategy for compiling just involves giving every compilable
>> thing extracted to dmd. There's also an option to compile each source
>> file separately (which I put in after hitting an odd Out of Memory
>> Error).
>>
>> Comments?
>
> That sounds about right. One thing I want is to stay reasonably KISS
> (e.g. like rdmd is), i.e. not invent a lot of arcana. rdmd has many
> heuristics and limitations but has the virtue that it gets a specific
> job done without requiring its user to learn most anything. I hope dmdz
> turns out similarly simple.
>
>> Also, are there any plans for std.zip, e.g. with regard to ranges,
>> input/output streams, etc? The current api seems a smidge spartan.
>
> I've hoped to rewrite std.zip forever, but found no time to do so.
Well, heck. Maybe I'll see what I can do with it. Do you want it to
conform to any interface in particular?
Also: test whether a file [path?] is contained within a specific
directory [path?]. does such functionality exist somewhere in phobos?
>
>
> Andrei
More information about the Digitalmars-d
mailing list