Sorry if this message was sent twice. I did not realize I needed to be a subscriber to post a message to the list. So let’s see if this gets through now that I am.
How do the NAnt developers feel about adding an “options” property to CompilerBase.cs? It would work just like the options property in ClTask.cs. The reason for this is two fold: 1.) It allows access to command line options that are currently not support by NAnt, and gives future support to new ones without changes to NAnt. 2.) It allows scripts/code/tasks to auto-generate parameters in NAnt properties and pass them to the compiler. Also…, I did try to using “arg” properties that are part of any external task; but they have a few problems. 1.) They do not get included in the compiler response file that NAnt builds. We have notice that csc.exe does weird things when you have some options in a response file with others that are not (particularly with /reference). 2.) They do not allow sophisticated auto-generation of parameters because each parameters needs to be a separate xml element. Sometimes the number of parameters needs is dynamic or not known ahead of time. Being able to pass a single property for custom options is so convenient. 3.) “arg” does not work with multi-part parameters in an easy way and by this I mean parameters like “–file somefile”. It would need to use two separate “arg” elements because by default, arguments with spaces are quoted and treated as a single argument. The code changes to CompilerBase.cs are simple and would look something like this: public abstract class CompilerBase : ExternalProgramBase { … string _options = null; … /// <summary>Optional parameters to pass to compiler.</summary> [TaskAttribute("options")] public string Options { get { return _options; } set { _options = value; }} … protected override void ExecuteTask() { … if (_options != null) { writer.WriteLine(“{0}”, _options); } … } } The options parameters should be written right after “addmodule” parameters are written (this is a change that should also be done for the CLTask.cs as well) so that you can override NAnt parameters if you need to. For example, currently in CLTask.cs parameters “/Fd” and “/Fo” are set to the sample output directory. In are builds we need them to be different. So naturally, we thought we could use the “options” property to override this behavior but since “options” are always written first, they can never override parameters that NAnt uses… Anyway, this change would simplify our NAnt scripts significantly (we actually uses a special version of NAnt with this change that we created). So what does everyone think? James C. Papp [EMAIL PROTECTED] ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers