----- Original Message -----
From: "Ian MacLean" <[EMAIL PROTECTED]>
To: "Gert Driesen" <[EMAIL PROTECTED]>
Cc: "Giuseppe Greco" <[EMAIL PROTECTED]>;
<[EMAIL PROTECTED]>
Sent: Friday, July 02, 2004 8:30 AM
Subject: Re: [nant-dev] ILASM Task


> Gert Driesen wrote:
>
> >>Giuseppe Greco wrote:
> >>
> >>
> >>>Ach... I knew, in fact I've used writer.Write everywhere,
> >>>but not in the WriteOptions method because I've copied
> >>>the 3-lines 'foreach' statement from CompilerBase...
> >>>
> >>>By the way, attached to this email you'll find the
> >>>definitive source file.
> >>>
> >>>
> >>>
> >>thanks. I'll look at adding this to the code base shortly.
> >>
> >>
> >
> >Will you be adding it to NAnt or NAntContrib ?  Guess we should discuss
what
> >procedure to follow when adding new tasks, or do decide on a task-by-task
> >basis ?
> >
> >
> >
> Whatever. Obviously it belongs in NAnt.DotNet.Tasks. Its a fairly
> straightforward command line app wrapper so theres not likely to be any
> issues putting it straight into core. I'm not convinced that we have to
> put everything in contrib first if it has an obvious fit in core - ie
> its a piece of previously missing functionality - I would put any other
> .net command line tools in this category. Others may have different
> opinions though.

No, I also don't think we should first add tasks to NAntContrib as a rule,
but then I think this is something that at least needs to be discussed on a
task-by-task basis.

Take, for example, this task : If you'd add the task as is to NAnt, and we'd
release a new version right now, I'm sure we'd have to make some (breaking)
changes to it afterwards...

Now, A few remarks on the task itself :

- if you want to allow the task to be used on Mono, you need to add a task
section to the NAnt configuration file.
- the Mono ilasm supports only a very limited commandline interface :

Mono ILasm compiler
ilasm [options] source-files
   --about            About the Mono ILasm compiler
   --version          Print the version number of the Mono ILasm compiler
   /output:file_name  Specifies output file.
   /exe               Compile to executable.
   /dll               Compile to library.
Options can be of the form -option or /option

    We can cope with this in two ways : have the task check whether we're on
Mono, and disregard some options if we are.  Or we could add some
FrameworkConfigurable properties that indicate if a given option is
supported by ildasm of a given framework.  This might be the cleanest
solution.

- I'd remove the quiet option, and always pass this option to ildasm, unless
Verbose is true. Perhaps we could do the same with the debug option, but
we'd need to have a way to set the logging level to Debug on a task level.
I'll need to look into this a little further.
- The following properties should be backed by an int : Alignment,  Base,
Flags, Subsystem

Gert



-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to