[nant-dev] 0.85 release
Hi all, I was pretty long away from nant but I notice that 0.85 is not released yet! Is there any shedule? Anything I could help with to speed up release? Martin --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] Typed properties
Untyped properties certainly have many drawbacks. When we (you - mainly :) introduced expressions I give some advices/experience from mine scripting engine. For typed properties I have simmilar feeling as you - many drawbacks. Then I introduce types - just string,number and datetime. BUT up to now it is not used much. From users point of view use of convert:: functions and store everything as string is enough! So - introduce of types could be nice thing but do not give it much priority. I think there is much much more important things. btw: what about to intergrate system of properties with "types" (mainly filesets atm) ? E.g. to define named fileset to write something like property name="a" type="fileset value include name="**"/ /value /property Martin From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jaroslaw KowalskiSent: Tuesday, July 20, 2004 12:45 PMTo: [EMAIL PROTECTED]; [EMAIL PROTECTED]Subject: [nant-dev] Typed properties Hi guys! I'd like to propose the introduction of typed properties to NAnt. Currently properties are stored as strings which has many drawbacks, esp. when used within expressions. For example: property name="a" value="false" / if test="${a=false}" ... /if this test fails because: 1. "a" is stored as a string 2. equality operator promotes "false" literal to string which becomes "False" (note the initial cap - this is what Convert.ToString() does) the compares both sides as strings. 3. 'false' != 'False' My idea is to: 1. Disallow ALL implicit conversions for operators - to avoid such confusions 2. Add support for typed properties - to let properties store values of types other than strings. It would involve type checking on assignment and type-safe retrieval. The proposed syntax would be: property name="a" type="bool" value="false" / property name="b" type="int" value="${1+1234}" / When "type" is omitted - "string" is assumed by default for compatibility. The following would fail because of incompatible types: property name="a" type="bool" value="3" / property name="a" type="int" value="false" / property name="a" type="float" value="zzz" / Assuming we disallow all implicit conversions: property name="a" type="bool" value="true" / property name="b" type="bool" value="false" / property name="c" type="int" value="123" / property name="d" type="int" value="321" / property name="e" type="string" value="456" / echo message="${a + b}" / -- causes an error,today it outputs 'TrueFalse' echo message="${'aaa' + b}" / --- causes an error, today it outputs aaaFalse echo message="${'aaa' + convert::to-string(b)}" / --- outputs aaaFalse echo message="${c + d}" / -- outputs 444, today it outputs 123321 echo message="${c + e}" / -- fails, currently it outputs 123456 echo message="${convert::to-string(c) + e}" / -- outputs 123456 echo message="${c + convert::to-int(e)}" / -- outputs 579 Implicit conversion would still be applied when passing arguments to functions: Assuming int fun(int k) { return k; } echo message="${fun(e) + 1}}" / -- outputs 457 There are probably more consequences of this idea, if you see any danger - let me know. I'm awaiting your comments. If this idea passes, I'll prepare the appropriatepatch. Initial feasibility study shows that it's possible to do it without breaking compatibility. Jarek
RE: [nant-dev] NAnt Namespaces
First, the proprietary method, not using any special xml features... the way Ant decided not to go. To demonstrate using the above example: loadtasks assembly=ImageFoo.dll namespace=ifoo / loadtasks assembly=NAntFileMagic.dll namespace=magic / ifoo:compress-image ... / Pros: * Concise * Single definition of namespace * No confusing uris, with no purpose other than as a name Cons: * Not valid xml (undeclared namespace?). Xml validation errors can be removed by declaring the namespace (xmlns:ifoo=http://tempuri.org/ifoo;) somewhere in the build file, but it's annoying to have to. -1 for this solution (or -maximum mine votes if I could give more (less?) than -1 :-) xml validity is _must_ at any case (we will be unable to parse it anyway!) Second, use namespaces more as they were intended (As I interpret the intention for xml namespaces). Using the same example: ifoo:compress-image xmlns:ifoo=assembly:ImageFoo.dll ... /[1] Pros: * Single definition of namespace * The namespace uri is meaningful cons: * The namespace has side-effects, being loading of tasks, functions etc. Hmm. Dont like this much too... btw: what is BAD about Ant's solution? That second repetition of namespace uri? I dont think that namespaces will be wide spread in all .build files, so I dont see anything more verbose bad here. Martin --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] trycatch task ?... discussion of task communication
How about this stuff? I think that XML-based communication between tasks and the trycatch task have different purposes. Specifically, trycatch is a flow control device. Flow control can certainly be reproduced with increased task verbosity, but using a flow control device to describe flow conveys much more intent, which makes build files (IMHO) easier to read... or rather, easier to interpret correctly. Hmm. I think inter-task communication could be used for flow control as well. But no problem with trycatch task :) Currently there is resultproperty of exec task as only way to get result from any task (except of onfailure but it is not very useful on large build scripts). I think this should be enhanced to be able to read stdoutput/stderr for execed program and even more - number of compiled projects from solution etc. I hope something like this will get in 1.0 timeframe Martin --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] task verbosity
Hi Gert, do you somehow implement that message level stuff I proposed some time ago? I mean those: exec program=c:\program files\subversion\bin\svn.exe commandline=revert -R ${build.dir} verbosity=Error/ exec program=c:\program files\subversion\bin\svn.exe commandline=update ${build.dir} verbosity=Info/ Not much important for me now, but I think it could be interesting to others. btw: is there (was there) any problem with exec and StdErr? One guy on ccnet list complains that StdErr output of exec'd program is not marked with 'Error' level in the XmlLogger. I have it on mine nant but I could fix it and forget to send it as a patch... Martin --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Re: task verbosity
- Original Message - From: Martin Aliger [EMAIL PROTECTED] To: 'Gert Driesen' [EMAIL PROTECTED]; '! nant' [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 12:26 PM Subject: task verbosity Hi Gert, do you somehow implement that message level stuff I proposed some time ago? I mean those: exec program=c:\program files\subversion\bin\svn.exe commandline=revert -R ${build.dir} verbosity=Error/ exec program=c:\program files\subversion\bin\svn.exe commandline=update ${build.dir} verbosity=Info/ No, that hasn't been implemented yet. I'm also ensure about how it should work in the first place. So we'll need to discuss this a lot further before thinking about implementating it ... btw: is there (was there) any problem with exec and StdErr? One guy on ccnet list complains that StdErr output of exec'd program is not marked with 'Error' level in the XmlLogger. I have it on mine nant but I could fix it and forget to send it as a patch... I think I fixed this a while ago. Gert --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] RE: task verbosity
No, that hasn't been implemented yet. I'm also ensure about how it should work in the first place. So we'll need to discuss this a lot further before thinking about implementating it ... Sure. As I said it's not at top of mine priority list anymore :) btw: is there (was there) any problem with exec and StdErr? One guy on ccnet list complains that StdErr output of exec'd program is not marked with 'Error' level in the XmlLogger. I have it on mine nant but I could fix it and forget to send it as a patch... I think I fixed this a while ago. As I think. This is perhaps buggy at 0.84 distributable. Some people do not want to use nightly builds at production. Martin --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] 0.85 release
- add set of assemblyname functions (that take an AssemblyName as argument), eg. assemblyname::get-culture(AssemblyName) - add set of assembly functions, eg. assembly::loadfile(string) or assembly::get-name(Assembly) (which would return an AssemblyName instance) - change the functions that return a version string to return a System.Version instance - change the version functions to take a System.Version argument, instead of a string Hmm. I could look into that (should have some spare time today and maybe tommorow morning). AssemblyName and Assembly types you refer to CLR types in the System.* namespace? Those types could be used in the expression somehow? Martin --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] 0.85 release
- Original Message - From: Martin Aliger [EMAIL PROTECTED] To: 'Gert Driesen' [EMAIL PROTECTED]; '! nant' [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 12:59 PM Subject: RE: [nant-dev] 0.85 release - add set of assemblyname functions (that take an AssemblyName as argument), eg. assemblyname::get-culture(AssemblyName) - add set of assembly functions, eg. assembly::loadfile(string) or assembly::get-name(Assembly) (which would return an AssemblyName instance) - change the functions that return a version string to return a System.Version instance - change the version functions to take a System.Version argument, instead of a string Hmm. I could look into that (should have some spare time today and maybe tommorow morning). AssemblyName and Assembly types you refer to CLR types in the System.* namespace? Those types could be used in the expression somehow? All types can be used in expressions, but until we have support for typed properties, these types cannot be stored in properties. Meaning, you can only obtain these types as return value of a given function, and use them as arguments to other functions. Gert --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] 0.85
Hi, here are changes to assembly:: and version:: functions. It was pretty straightforward so there shoudnt be many bugs. Are there any backward-compatibility issues? I do not find any test-cases to those functions so I test it in the independent .build script (attached). Those functions are not changed (but are somehow connected with versions): file::get-file-version still returns string (not System.Version) file::get-product-version the same nant::get-version returns string (not System.Version) nant::get-clr-version the same pkg-config:: functions return string not System.Version should some of them be changed? BTW: at latest nightly I found those problems: - Core.csproj is missing Types/Token.cs - alot of obsolete functions called in the ExpressionEvaluatorTest- alot of obsolete warning during core compilation (this is propably ok since we have to use obsolete internal function for obsolete attributes/tasks) Martin // NAnt - A .NET build tool // Copyright (C) 2001-2004 Gerry Shaw // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // Gert Driesen ([EMAIL PROTECTED]) using System; using NAnt.Core; using NAnt.Core.Attributes; namespace NAnt.Core.Functions { [FunctionSet(version, Version)] public class VersionFunctions : FunctionSetBase { #region Public Instance Constructors public VersionFunctions(Project project, PropertyDictionary properties) : base(project, properties) { } #endregion Public Instance Constructors #region Public Static Methods /// summary /// Gets the value of the major component of a given version string. /// /summary /// param name=versionA string containing the major, minor, build, and revision numbers, where each number is delimited with a period character ('.')./param /// returns /// The major version number. /// /returns [Function(get-major)] public static int GetMajor(System.Version version) { return version.Major; } /// summary /// Gets the value of the minor component of a given version string. /// /summary /// param name=versionA string containing the major, minor, build, and revision numbers, where each number is delimited with a period character ('.')./param /// returns /// The minor version number. /// /returns [Function(get-minor)] public static int GetMinor(System.Version version) { return version.Minor; } /// summary /// Gets the value of the build component of a given version string. /// /summary /// param name=versionA string containing the major, minor, build, and revision numbers, where each number is delimited with a period character ('.')./param /// returns /// The build number, or -1 if the build number is undefined. /// /returns [Function(get-build)] public static int GetBuild(System.Version version) { return version.Build; } /// summary /// Gets the value of the revision component of a given version string. /// /summary /// param name=versionA string containing the major, minor, build, and revision numbers, where each number is delimited with a period character ('.')./param /// returns /// The revision number, or -1 if the revision number is undefined. /// /returns [Function(get-revision)] public static int GetRevision(System.Version version) { return version.Revision; } /// summary /// Converts the specified see cref=System.Version / to its equivalent string /// representation. /// /summary /// param name=valueA see cref=System.Version / to convert./param /// returns /// The string representation of the values of the major, minor, build, and revision components. /// /returns [Function(to-string)] public static string ToString(System.Version value) { return value.ToString(); } #endregion Public Static Methods } } // NAnt - A
[nant-dev] Unexpected attributes
Hi all, Is there any command line option or something to supress errors like: "Unexpected attribute "verbosity" on element delete." ? I'd much appreciate it. Martin
Re: [nant-dev] Unexpected attributes
Martin, There's no way to suppress these errors. As you said it yourself : these are errors, right ;-) Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: '! nant' [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 2:48 PM Subject: [nant-dev] Unexpected attributes Hi all, Is there any command line option or something to supress errors like: Unexpected attribute verbosity on element delete. ? I'd much appreciate it. Martin --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] XmlNamespace.cs
NAnt.Core.Types.XmlNamespace is missing [ElementName("namespace")]. If .build script is missing some of required attributes,vague error like this is thrown: 'uri' is a required attribute of ... /. instead of: 'uri' is a required attribute of namespace ... /. Martin
[nant-dev] solution and compiler arguments
Hello, I just tried to migrate to newest nightly of NAnt and found (again) thatI have to specify some custom options to csc.exe when compiling mine projects: solution configuration="Release" outputdir="${output.dir}" includevsfolders="false"projectsinclude name="*.csproj"//projectscompilerargsarg value="/codepage:1250"/arg value="/nowarn:0612"/arg value="/nowarn:0618"/arg value="/nowarn:1591"/arg value="/warnaserror"//compilerargs /solution I remeber there was serious complains against this patch of mine. Maily because arguments are compiler and language specific. What about to restructure it somehow to be acceptable by community? E.g. compilerargs csc arg value="/codepage:1250"/ /csc /vbc arg value="/whatever:option"/ /vbc /compilerargs Martin
Re: [nant-dev] solution and compiler arguments
Martin, I still think that if you need more flexiblity, you should use the individual compiler tasks. Why do you need to specifiy additional args in the NAnt solution task that you don't need when building using VS.NET ? Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: '! nant' [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 5:07 PM Subject: [nant-dev] solution and compiler arguments Hello, I just tried to migrate to newest nightly of NAnt and found (again) that I have to specify some custom options to csc.exe when compiling mine projects: solution configuration=Release outputdir=${output.dir} includevsfolders=false projects include name=*.csproj/ /projects compilerargs arg value=/codepage:1250/ arg value=/nowarn:0612/ arg value=/nowarn:0618/ arg value=/nowarn:1591/ arg value=/warnaserror/ /compilerargs /solution I remeber there was serious complains against this patch of mine. Maily because arguments are compiler and language specific. What about to restructure it somehow to be acceptable by community? E.g. compilerargs csc arg value=/codepage:1250/ /csc /vbc arg value=/whatever:option/ /vbc /compilerargs Martin --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] I was wrong loadtasks
When I got the loadtasks to work, I had a 5/28 version of NAnt with a 9/28 version of NAntContrib. This screws me because I can't use Filterchain. I cannot get loadtasks to work with the two 9/28 versions together. I've got 9/28 src install of NAnt in D:\NAnt and 9/28 NAntContrib in D:\NAntContrib. Here's a small repro: Build.build project name=RealTime default=build loadtasks assembly=D:\NAntContrib\bin\NAnt.Contrib.Tasks.dll / task name=build echo message=I die before getting here/ /task /project Please tell me someone can reproduce this or knows how to fix it! Thanks, Eric __ Do you Yahoo!? Yahoo! Mail Address AutoComplete - You start. We finish. http://promotions.yahoo.com/new_mail --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] solution and compiler arguments
Why do you need to specifiy additional args in the NAnt solution task that you don't need when building using VS.NET ? I have to specify /codepage parameter because our build server is English Win2003 Server but most of desktops have Czech localization. Bad thing is that .csproj and .cs files are at 'Windows 1250' encoding what is default in the czech windows (so it compile at desktops) but it is not default code page on English windows (produce compile errors)... I know - I could reencode all .cs and .csprojs into utf-8 and those difficulties disappears. Unfortunatelly this is not acceptable solution in our environment. Moreover I cannot force all developers to reconfigure theirs Visual Studios. Next I want to specify some arg value=/nowarn:0618/ becouse I want some warnings (like missing XML comment) not to fail build. Again - it is HARD to force all developers (several tens) to configure all theirs .csprojs correctly. What I want to do is to _force_ build process to use some common environment. For this I could modify .csproj so I _should_ be able to do it even with no support from NAnt. But I dont see any way in case of /codepage. I still think that if you need more flexiblity, you should use the individual compiler tasks. Maybe I could. But it is realy hard when you have several hundereds of .csprojs. Of course - I could write mine own .csproj parser and create .build script from it then nant this script. But I do not see much sanity in such resolution... solution is very handy shortcut for this task and just a little bit is missing... Martin Aliger -Original Message- From: Gert Driesen [mailto:[EMAIL PROTECTED] Sent: Thursday, September 30, 2004 5:16 PM To: Martin Aliger; '! nant' Subject: Re: [nant-dev] solution and compiler arguments Martin, I still think that if you need more flexiblity, you should use the individual compiler tasks. Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: '! nant' [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 5:07 PM Subject: [nant-dev] solution and compiler arguments Hello, I just tried to migrate to newest nightly of NAnt and found (again) that I have to specify some custom options to csc.exe when compiling mine projects: solution configuration=Release outputdir=${output.dir} includevsfolders=false projects include name=*.csproj/ /projects compilerargs arg value=/codepage:1250/ arg value=/nowarn:0612/ arg value=/nowarn:0618/ arg value=/nowarn:1591/ arg value=/warnaserror/ /compilerargs /solution I remeber there was serious complains against this patch of mine. Maily because arguments are compiler and language specific. What about to restructure it somehow to be acceptable by community? E.g. compilerargs csc arg value=/codepage:1250/ /csc /vbc arg value=/whatever:option/ /vbc /compilerargs Martin --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] I was wrong loadtasks
Eric, I have no problem at using loadtasks with the 9/28 build of NAnt and NAntContrib. Are you using the src distribution of NAnt ? You should be using the binary distribution, unless you've actually built the source distribution ... Gert - Original Message - From: Eric Fetzer [EMAIL PROTECTED] To: NAnt Developers [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 5:55 PM Subject: [nant-dev] I was wrong loadtasks When I got the loadtasks to work, I had a 5/28 version of NAnt with a 9/28 version of NAntContrib. This screws me because I can't use Filterchain. I cannot get loadtasks to work with the two 9/28 versions together. I've got 9/28 src install of NAnt in D:\NAnt and 9/28 NAntContrib in D:\NAntContrib. Here's a small repro: Build.build project name=RealTime default=build loadtasks assembly=D:\NAntContrib\bin\NAnt.Contrib.Tasks.dll / task name=build echo message=I die before getting here/ /task /project Please tell me someone can reproduce this or knows how to fix it! Thanks, Eric __ Do you Yahoo!? Yahoo! Mail Address AutoComplete - You start. We finish. http://promotions.yahoo.com/new_mail --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] I was wrong loadtasks
I just reproduced your error in a different scenario. I rebuilt nant using the src distribution. When I tried to use the rebuilt binaries I used the ones in bin instead of the ones I built. I got the error just as you. If I use the binaries I build in 'build\net-1.1.win32\nant-0.85-debug\bin' then everything works correctly. Gert, you mentioned that we should not use the binaries in the bin directory of the src distribution. Could you explain why we get this error? I'm sure it's something trivial I haven't thought of... I'm just curious. --Edwin -Original Message- From: Eric Fetzer [mailto:[EMAIL PROTECTED] Sent: Thursday, September 30, 2004 10:10 AM To: Castro, Edwin Gabriel (Firing Systems Engr.) Subject: RE: [nant-dev] I was wrong loadtasks [loadtasks] Scanning assembly NAnt.Contrib.Tasks for extensions. BUILD FAILED D:\Build\Build.build(21,4): Failure scanning D:\NAntContrib\bin\NAnt.Contrib.Tasks.dll for extensions. One or more of the types in the assembly unable to load. --- Castro, Edwin Gabriel (Firing Systems Engr.) [EMAIL PROTECTED] wrote: Hi Eric, I'm using both 9/28 versions and I can use loadtasks/ without any problems. The only difference between you and me is that I use loadtasks/ within a target/. I tried a buildfile like the one you provided and it also worked for me. What error are you getting? --Edwin -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Eric Fetzer Sent: Thursday, September 30, 2004 8:56 AM To: NAnt Developers Subject: [nant-dev] I was wrong loadtasks When I got the loadtasks to work, I had a 5/28 version of NAnt with a 9/28 version of NAntContrib. This screws me because I can't use Filterchain. I cannot get loadtasks to work with the two 9/28 versions together. I've got 9/28 src install of NAnt in D:\NAnt and 9/28 NAntContrib in D:\NAntContrib. Here's a small repro: Build.build project name=RealTime default=build loadtasks assembly=D:\NAntContrib\bin\NAnt.Contrib.Tasks.dll / task name=build echo message=I die before getting here/ /task /project Please tell me someone can reproduce this or knows how to fix it! Thanks, Eric __ Do you Yahoo!? Yahoo! Mail Address AutoComplete - You start. We finish. http://promotions.yahoo.com/new_mail --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers ___ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] I was wrong loadtasks
src vs. bin was the solution. Thanks Gert! --- Gert Driesen [EMAIL PROTECTED] wrote: Eric, I have no problem at using loadtasks with the 9/28 build of NAnt and NAntContrib. Are you using the src distribution of NAnt ? You should be using the binary distribution, unless you've actually built the source distribution ... Gert - Original Message - From: Eric Fetzer [EMAIL PROTECTED] To: NAnt Developers [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 5:55 PM Subject: [nant-dev] I was wrong loadtasks When I got the loadtasks to work, I had a 5/28 version of NAnt with a 9/28 version of NAntContrib. This screws me because I can't use Filterchain. I cannot get loadtasks to work with the two 9/28 versions together. I've got 9/28 src install of NAnt in D:\NAnt and 9/28 NAntContrib in D:\NAntContrib. Here's a small repro: Build.build project name=RealTime default=build loadtasks assembly=D:\NAntContrib\bin\NAnt.Contrib.Tasks.dll / task name=build echo message=I die before getting here/ /task /project Please tell me someone can reproduce this or knows how to fix it! Thanks, Eric __ Do you Yahoo!? Yahoo! Mail Address AutoComplete - You start. We finish. http://promotions.yahoo.com/new_mail --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers ___ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] I was wrong loadtasks
- Original Message - From: Castro, Edwin Gabriel (Firing Systems Engr.) [EMAIL PROTECTED] To: Eric Fetzer [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 8:25 PM Subject: RE: [nant-dev] I was wrong loadtasks I just reproduced your error in a different scenario. I rebuilt nant using the src distribution. When I tried to use the rebuilt binaries I used the ones in bin instead of the ones I built. I got the error just as you. If I use the binaries I build in 'build\net-1.1.win32\nant-0.85-debug\bin' then everything works correctly. Gert, you mentioned that we should not use the binaries in the bin directory of the src distribution. Could you explain why we get this error? I'm sure it's something trivial I haven't thought of... I'm just curious. The binaries that are included in the source distribution are only intended to be used to build a full version of NAnt. The reason why you can't use these bootstrap binaries to load the NAnt.Contrib.Tasks assembly is because the NAnt.Contrib.Tasks references the NAnt.SourceControlTasks assembly, and that assembly is not available in the NAnt source distribution (as its not necessary to build the full version of NAnt). I hope that clears up this issue, Gert --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] RE: [Nant-users] NantContrib [loadtasks]
Here are my findings after studying the source code in NAntSchemaTask.cs and TypeFactory.cs and writing some code to support named assemblies: * The current semantics of nantschema/ is to generate a XSD for all loaded assemblies or for a single class in one of those loaded assemblies. Requiring that a named assembly be loaded doesn't seem unreasonable. * NAntSchemaTask looks for types to process in TypeFactory. It is possible to reuse the functionality in TypeFactory to process a named assembly but the result is equivalent to a loadtasks/. * If one could create an instance of TypeFactory, then one could use an AppDomain to load a named assembly, use the instance of TypeFactory to scan for NAnt extensions, and use NAntSchemaTask with very little modification to generate a schema. The second AppDomain could then be unloaded and the TypeFactory instance garbage collected, providing schema generation without the loadtasks/ side effect. Allowing instances of TypeFactory might be a big refactoring job which might not be worth the effort. * NAntSchemaTask uses NAntSchemaGenerator to generate the XSD file. NAntSchemaGenerator automatically adds a top project element and a target element. To use any task in a named assembly would require, at the very least, a project/ element. Example: project name=example default=build xmlns=http://tempuri.org/nant-donotuse.xsd; xmlns:custom=http://tempuri.org/custom-donotuse.xsd; target name=build echo message=normal task / /target custom:project custom:mytask / /custom:project /project In the example above, I could place the custom:project/ element anywhere I can place a regular task. I can't access custom:mytask/ until I have a custom:project/ somewhere... I was hoping that I could simply use custom:mytask/ anywhere I could use a regular task. Given the above points, I'm not sure whether having the ability to create a schema for named assemblies would be useful to anyone. If the functionality I'm looking for can be implemented, then perhaps it could be useful. At that point I could present the possible refactoring required to allow TypeFactory instances (I think it can be done without changing the current interface!) and the implementation for named assemblies. I'm thinking the implementation for named assemblies should be its own task if the TypeFactory instance refactoring is used because the semantics would be different depending on how nantschema/ was used. I'm really looking forward to hearing comments from the developers list so that I can determine how much effort (if any) I should put into this. --Edwin -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Castro, Edwin Gabriel (Firing Systems Engr.) Sent: Wednesday, September 29, 2004 5:16 PM To: Scott Hernandez; [EMAIL PROTECTED] Subject: [nant-dev] RE: [Nant-users] NantContrib [loadtasks] Bringing this over to the developers list: I see what you mean about appdomain issues. I'll look into the code as I expect the implementation might be somewhat easy. I'll also try to write some good tests! Would it be feasible to create a second appdomain, load the assembly into that appdomain, generate the schema, and finally unload the appdomain? Actually, this could be a cool way for loadtasks/ to work since that would allow users to unloadtasks/ later... Assuming that's something people would want to do... I don't know... My appdomain knowledge is almost non-existent (I know appdomains exist and I sort of know what they're about, but that's pretty much it). If there are some reasons as to why using a second appdomain would be bad please let me know. Thanks! --Edwin -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Hernandez Sent: Wednesday, September 29, 2004 2:47 PM To: [EMAIL PROTECTED] Cc: Castro, Edwin Gabriel (Firing Systems Engr.) Subject: Re: [Nant-users] NantContrib [loadtasks] No idea when this would get worked on, but the implementation should be pretty simple. Most of the code is written to support creating a schema of arbitrary Type objects. But be careful as loading types means loading assemblies, and loading the assembly in the appdomain may cause the task, types and functions to be loaded... (which I believe it will). This would have the side effect of basically doing a loadtasks/ on the assemblies you want to create a schema for. Another approach may be to require that the assemblies you want to create a schema for are already loaded, and just filter the rest of the loaded assemblies out. Either way, documenting the behavior is probably all that is needed. :) If you want to discuss any more of the internal code I would suggest moving this thread over to the dev list. If you put together a patch you can post it to the nant-dev list for review. If you include an updated unit test you are even
[nant-dev] filterchain copy issue
I'm using filterchain to copy and replace a string in a NSIS install script. The problem is that filterchain seems to be putting special characters into the resultant file causing the resultant file to not be compilable. The error that the NSIS compiler gives with the resultant file (the copy from file compiles fine) is: -snip- Processing script file: D:\Build\InstallVersion2.nsi Invalid command: BGGradient Error in script D:\Build\Version2.nsi on line 1 -- aborting creation process -end snip- The line it is choking on is just: ;BGGradient The ; is the comment symbol. I've tried removing all of the comments, but that doesn't help anything. It finds a problem with every single line in the script. Any help? Thanks, Eric ___ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] I was wrong loadtasks
Gert Driesen wrote: - Original Message - From: Castro, Edwin Gabriel (Firing Systems Engr.) [EMAIL PROTECTED] Gert, you mentioned that we should not use the binaries in the bin directory of the src distribution. Could you explain why we get this error? I'm sure it's something trivial I haven't thought of... I'm just curious. The binaries that are included in the source distribution are only intended to be used to build a full version of NAnt. Is it worth renaming the bin folder to something like bootstrap? I guess that's not very standard. Perhaps a message in the header when running the bootstrap NAnt, to clearly indicate that you're not using the correct NAnt? Just a thought, -T --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers