Re: [nant-dev] Fileset scanning speed-ups in CVS
Good work. That is one that needed to be optimized :) Do you have profiler stats/results on other most called, or time most spent in, functions? It would be good to list them so anyone out there could step up to challenge themselves with optimizing those functions. Just an idea... - Original Message - From: Matthew Mastracci [EMAIL PROTECTED] I just checked in a change to fileset scanning that eliminates a large chunk of time (checked via profiling) during many of the common NAnt operations. One of the biggest losers on the profiling run was Regex.Match(), called many, many times during a build. The new code replaces a good proportion of these with CompareInfo.Compare() calls, reducing the overhead dramatically. Instead of converting all fileset includes to regexes, the new code will only convert those that actually contain wildcards. --- 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
Re: [nant-dev] fileset deprecations
+1 on co-existence, of include+includes, for a release or two, but totally removal by 1.0. As for the strict enforcement of only declared elements and properties for tasks/types, I had done some work on that a long time ago. Take a look at the Element.AttributeConfigurator.InitilizeElement() code at the end of the method. You will see a section that say #region Check Tracking Collections for Attribute and Element use that emits the warnings. You could change those to fail with a switch. But I would suggest that you go through and run a lot of tests before you do this. There are still some tasks/types that correctly do their own element/ process that this method may flag as errors. As I remember. I went through a cleanup a lot of them a year ago, but much has changed since then. For now, you can run with warnings logged and see what is caught. From: Clayton Harbour [EMAIL PROTECTED] Hi, the naming is clearer I suppose but there is a certain amount of inertia - there are a lot of build files out there wil the current naming. I know, that why I'm asking ... we'll see how others respond ... we could ofcourse have both of them coexist, and then deprecate includes/excludes later ... I would prefer it if the two co-existed for a release (or two even), with the includes / element deprecated (and warnings during the build process). It gives people fair enough warning before their build files stop working. Also, there was also talk about adding a strict switch to the commandline awhile back which. This might be a good notification feature when this goes away. Has anyone done any work on this? I could probably take a stab at it if someone gave me a high level on the project load process. --- This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months! http://ads.osdn.com/?ad_id=2562alloc_id=6184op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Re: [nant-dev][Nant-users] deprecation of built-in properties
Yep, I would agree that functions are a more powerful way to express these properties. We have talked about this for a while. But I would like to depreciate these over a few builds before actually remove them completely. This will cause some serious problems with peoples' build files (and projects that ship build files). We should offer an easy suggestion to run with them until the user can remove them from the build file. Maybe they can just include a buildfile that creates these properties, that is included at the top of their build file. We could even ship such a depreciated-properties.xml buildfile with the dist so people can easily find the transition statements to get to those old properties. I know this just lengthens the time we effectively support these properties, but it seems like a much better solution for the end user. What do you think? Plus, there is something to documenting the old properties, and their values. - Original Message - From: Gert Driesen [EMAIL PROTECTED] Hi, I'd like to propose deprecating the following built-in properties in favor of their corresponding functions : nant.filename nant.version nant.location nant.project.name nant.project.buildfile nant.project.default nant.platform nant.platform.win32 nant.platform.unix nant.settings.currentframework.description nant.settings.currentframework.frameworkdirectory nant.settings.currentframework.sdkdirectory nant.settings.currentframework.frameworkassemblydirectory nant.settings.currentframework.runtimeengine nant.tasks.* so that would mean we'd end up having the following not-deprecated built-in properties : nant.project.basedir nant.onsuccess nant.onfailure nant.settings.currentframework (although it would be good to at least get rid of the last one too) Ofcourse, we'll need to provide decent warning messages to users, and direct them to the function(s) corresponding to a given property. What do you think ? --- This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months! http://ads.osdn.com/?ad_id=2562alloc_id=6184op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Fileset include required WAS: problem with ASIS attribute on source file list in CSC task
Yeah, now the only problems is to implement it. :) (remember, it needs to efficient too) We are accepting patches on this one! Will someone step up to the plate? I've moved this into the dev list. - Original Message - From: Hearn, Bruce [EMAIL PROTECTED] Scott, I think you nailed it. The addition of a failonmissing attribute would be quite helpful. If you try to build using the VS.NET IDE, the build will fail if a file is missing. In an automated build process I want to be able to implement the same behavior. This allows the build to be more consistent between the IDE and NANT. I've seen from practice that when there are subtle differences between 2 build environments, many hours can be lost in tracking down an issue. Thanks, Bruce -Original Message- From: Scott Hernandez [mailto:[EMAIL PROTECTED] Sent: Saturday, May 01, 2004 11:15 AM To: Gert Driesen Cc: Hearn, Bruce; [EMAIL PROTECTED] Subject: Re: [Nant-users] RE: problem with ASIS attribute on source file list in CSC task It would definitely be a nice feature to say that a certain includes/ is required and should throw an error if no match on the filesystem is found. But no, this should not be the default behavior. The problem in the past has been with wildcard expressions and the fileset implementation not easily allowing for a check that a wildcard statement results in filesystem hit. Adding the 'failonempty' attribute to the fileset/ seems like a stop-gap measure to ensure this kind of checking. I think this is where Bruce is coming from. Bruce? Here is an example: copy fileset includes name=bin/myprogram.exe failonmissing=true/ includes name=bin/resources/**/* / /fileset copy - Original Message - From: Gert Driesen [EMAIL PROTECTED] - Original Message - From: Hearn, Bruce [EMAIL PROTECTED] Hi Gert, a) if a non-existent file is included in the source list, it compiles anyway without error or warning. The sources to compile are specific using a fileset, which actually uses pattern matching and scanning to determine the matching files. A file that doesn't exist will therefor not be part of the resulting matches. I don't think we will be changing this. Ian, Scott : what do you think ? Should we throw a build error when the includes name does not contain a wildcard pattern, and does not exist ? --- This SF.Net email is sponsored by Sleepycat Software Learn developer strategies Cisco, Motorola, Ericsson Lucent use to deliver higher performing products faster, at low TCO. http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Windows setup contribution
Yes, for a release we should not dist the pdb files. What is the NAnt SDK? Would that include the parts of the source tree that aren't needed at runtime unless you are building nant? I would assume this would include anything needed to build tasks, functions, or extensions. An example would be the NAnt-NDoc documenters, right? - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] To: Nicklas Norling [EMAIL PROTECTED]; Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Tuesday, March 23, 2004 9:29 AM Subject: Re: [nant-dev] Windows setup contribution Very nice installer! I have some ideas for 1.0 release and I wonder if they can all be implemented with this tool: 1. Binaries should go to Program Files\NAnt\bin and should include *.exe, *.dll but no *.xml (at least not by default) 2. I wonder if we could get rid of the *.pdb since they occupy about 50% of all space used. 3. We should include the documentation. I think that doc/help/**/* is enough. The docs should be either plain *.html or *.chm compressed files (which I personally prefer). PDF would be nice as an option, too because it's easy to print as a reference. 4. We should also include the SDK docs as an option. 5. We should register ourselves in the registry in some versioning-aware manner so that various tools (like NAntMenu or editor integrations) can locate NAnt executables or config file. 6. I think that the final executable of the installer should be below 1 MB in size. Having a huge build tool scares many people. If needed, we could make some parts not usually needed (like the SDK docs, PDB symbols, source code) available as separate downloads. 7. Should we register Nant SDK components in AssemblyFolders so that they are easily referenceable in VS.NET ? Unfortunately this would clash with log4net.dll, NUnit.Framework.dll and other components that also register themselves this way. 8. We should somehow detect alternative CLIs (Mono, Rotor, .NETCF, DotGNU) and modify NAnt.config file accordingly to make NAnt find them. Should they be installed in some non-standard place, we'd allow the user to browse for the appropriate paths. 9. Should we include some GUI (shell integration, VS.NET integration) in the 1.0 release? Offtopic: 1. We should do something about the linux installation really soon. I've heard voices that NAnt is very complicated to install on Linux because you cannot do ./configure --prefix=... make make install. Maybe a simple configure script that would setup the mono paths in the config file would do? Awaiting your comments. Jarek - Original Message - From: Nicklas Norling [EMAIL PROTECTED] To: Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Tuesday, March 23, 2004 4:10 PM Subject: [nant-dev] Windows setup contribution Hi all. I always package up NAnt in a setup for my developers so I thought I could as well contribute the iss script file I use in case there are more out there that would like it. It uses InnoSetup 4.2.0 http://www.jrsoftware.org/isdl.php which is a totaly free and awsome setup tool. The iss file is designed to be in the root or the release togther with the NAnt.sln file. From there is will zipp up .\bin\*. During install it installs this in a directory, optionally adds a program group and leaves standard uninstall entry in add/remove programs. It does not currently alter the PATH variable, but I hope to find some free prog that will do that. The installer file will be called NAntInstaller.exe and will be placed at the root of the release. I added licence file reference and copyrights as best I could. Hope I got it right. /Nicke --- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] cvs.exe - bad naming
Why do we need the managed executable (?) and the managed dll? If this is a win32 only binary, I would rather not see it in our dist. - Original Message - From: Clayton Harbour [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED]; Simon Steele [EMAIL PROTECTED]; Nantdev [EMAIL PROTECTED] Sent: Monday, March 22, 2004 7:11 PM Subject: RE: [nant-dev] cvs.exe - bad naming Hi Gert and Simon, I would prefer to just change the name of the sharpcvslib binary and leave it in the NAnt repository as it means the basic cvs commands work out of the box in a situation where there isn't a cvs binary installed (i.e. on a build server). It also makes it easier for me to keep track of versions (I deploy the .dll and .exe in one go), and the client does not take up a lot of space. --- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Remove support for WebDAV from solution task ?
+1 on WebDAV tasks. This is something that will be more and more useful in the future. It sounds like a lot of new server projects are providing webdav file access. In fact, I believe one of the deployment options for Subversion is via webdav. This would really simplify the requirements to do a get, update, or commit. :) Maybe with a set of WebDAV tasks it would be possible to do better testing and integration into the solution/project tasks at a later time, if it is pulled now. - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] Perhaps we could have a webdav-copy task instead that would be similar to copy but accept WebDAV sources/targets. +1 for the idea of removing WebDAV from the solution task. --- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Addition documentation (+/-)?
Also, the Wiki is a great place for this type of info; it can be updated by users directly. :) http://nant.sf.net/wiki - Original Message - From: Gert Driesen [EMAIL PROTECTED] Perhaps first post it to the list for review, is that ok for you ? - Original Message - From: Mitch Denny [EMAIL PROTECTED] Gert suggested that we start to add references to third party tasks/resources. I've got some doco to commit which is a start. Can I get a green light to commit that (+/-)? --- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356alloc_id=3438op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Experimental branches . . .
+1 As far as I understand it, branching is done from the head (or any tag I guess). As for blogging, go for it. Posting to the dev list is probably also a good idea. Anon CVS access is rather behind, and less reliable. It may make sense to post on your website a zip of the tree/dist when you want people to try it out. - Original Message - From: Mitch Denny [EMAIL PROTECTED] Hi folks, We'll I think we have had the discussion, so I thought it would be an appropraite time to tag and branch for some of the experimental stuff that we have been talking about. I'd like to start experimenting more publically with the taskdef / element first. If possible I'd like the branch done from the head and not the previous tag since there have been a number of fixes since then that specifically affect the ability to do a successful build. Once I had something working and a patch applied I was hoping to do a blog post and get a bit of end-user feedback on the idea. I know a lot of Nant users are into blogs so I thought it would be a good outlet. They would be able to anon cvs download from that branch and try it out. --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Property Scoping
Seems like the flow scope should be called local in C#/programming terms, and local would be private/container-only scoping. Having global be the default is a good call, but only in come case, as you have identified in if//foreach//etc. I'm sure we will be able to say more with a patch; so we can test things out. If the changes are small enough, and defaults don't change existing functionality, I'm happy to put them in the head since we are still a little while from testing/beta'n this version. I'd be inclined to separate the two patches, one for scoped properties (which are core changes) and one for the new task def stuff. - Original Message - From: Mitch Denny [EMAIL PROTECTED] Hi folks, OK, I've got a bit of a prototype working for property scoping which so far appears to be non-breaking to existing scripts. It works like this: property name=x value=y accessibility=Global / Global is actually the default. If I had this: property name=x value=y accessibility=Local / It would mean that the property is accessible to all things in the current scope where a scope is defined by the current target (project for root level tasks) or TaskContainer. So this would cause an error in the expression evaluator: if test=true property name=x value=y accessibility=Local / /if echo message=${x} / Because x is not accessible outside of the scope defined by the if task container. This works with my earlier taskdef work too! Interestingly the following won't work. if test=true property name=x value=y accessibility=Local / if test=true echo message=${x} / /if /if Because local is local to the current task container. I introduced a third accessibility level called Flow which allows this to work. Remember that the default is Global when you are using the property / task, so it won't break anything. The way it works is that I have lots of PropertyDictionary objects attached to a hierarchy of Scope objects. The scope is updated when ever a build/target/task container starts or finishes. I also modified quite a bit of the implementation of PropertyDictionary so that it now stores a Property object as its value although the external interface is unaffected (cross fingers I didn't break anything). Now that I have done this, and if there is enough interest I'd like to propose that we do something like has been done for expression evaluation, take a branch and do some exploritory work on this where this = taskdef / and property scoping. Can I get a +1 or -1? --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] style task
Having support for our own FileInfo+URI object could be useful. This would support either relative file paths, or uris. It would resolve them and provide useful information if there were errors. We already do this in places, and having this code in one place where tasks could use it would be a plus. We have a more than a few tasks that can accept either a filepath or uri, and will probably have more in the future. Leaving validation to the xslt classes is fine, but will still require some type of logic to convert relative file paths. - Original Message - From: Ian MacLean [EMAIL PROTECTED] [snip] However, it should be perfectly possible to also support the System.Uri class as a special property type in NAnt and also construct a URI referring to a full path relative to the project base dir if the value of the attribute is not a value URI. --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] style task
+1 on URI backed properties. Can we also do a FileInfo_Or_URI setter too (I'm not sure how this would work...)? In some cases it is an or option. - Original Message - From: Gert Driesen [EMAIL PROTECTED] Ian, [snip] Let me know if you'd want me to add support for properties backed by a Uri type (regardless of whether you'll use it for the style task)... --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ?
Nested expression support sounds like a must, no? Somehow I thought our expression engine already supported this. - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] [snip] BTW. Gert, what do you think about allowing sub-expression evaluation in strings so that we could write: if test=${not file::up-to-date('${build.dir}/figures/project-structure.xcf', 'figures/project-structure.gif')} /if Jarek --- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Filterchains?
I hope so Nick. personal-aside This is still on the list, but as we are a collection of individual developers, each with our own interests, it sometimes turns out that one of those individuals can re-focus the direction of the group. I think all it would take to get filterchains going is for someone to put together a path for this feature. I'm sure it would get its fair share of excitement. personal-aside/ I just wish that dev could be me right now. But that is a general wish for a lot of things. (short wistful glance to the greenery outside,... and ...back to email!) - Original Message - From: Nick Varacalli [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, January 07, 2004 8:18 PM Subject: [nant-dev] Filterchains? Are filterchains going to be implemented in .85, or is the excitement about functions overwhelming them? Nick http://www.varacalli.com --- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] custom functions with the script task
I'd lean the other way and require that the script be basically a full namespace/class def. (or no function decl. at all). script language=C# namespace test { [FunctionSet(test, Test)] class myFuncs : FunctionSetBase { [Function(test-func)] public string Testfunc( ) { return some result ; }}} /script or script language=C# function=Testfunc return some result ; /script Then all of the script function=*/ scripts could be combined for a project, or you could define many functions and classes all in the same script/. - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] To: Ian MacLean [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, January 07, 2004 7:45 AM Subject: Re: [nant-dev] custom functions with the script task Nice. I also though about it some time ago. Wouldn't it be cleaner to write it like the following? script language=C# definefunctions=true namespace=test [Function(test-func)] public string Testfunc( ) { return some result ; } /script Most parts of the script code are constant, anyway. The parts could be added automatically by the script task. I also think that we shouldn't require the user to provide Function attributes here. We'd just take all public functions and add them to the TypeFactory. [Function] could be used to override the default name here. Jarek - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, January 07, 2004 4:31 PM Subject: [nant-dev] custom functions with the script task I just committed a small change to ScriptTask to allow the definition of custom functions inside a script task instance - see example below: This is quite nice as it means people can easily prototype new functions without having to compile and load a dedicated task/function assembly. Note that the script still requires a ScriptMain even if its empty. script language=C# code![CDATA[ public static void ScriptMain(Project project) { } [FunctionSet(test, Test)] public class TestFunctions : FunctionSetBase { public TestFunctions(Project project, PropertyDictionary propDict) : base(project, propDict) { } [Function(test-func)] public static string Testfunc( ) { return some result ; } } ]]/code /script echo message=${test::test-func()} / --- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] DependsTask Patch (fix)
James, I've made a few changes (please let me know if it still works for you) and committed it to NAntContrib. Would you like cvs write access to NAntContrib repository on sf.net? :) If so, just send me your sf.net userid. Thanks for the work :) - Original Message - From: James C. Papp [EMAIL PROTECTED] To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, January 07, 2004 3:08 PM Subject: Re: [nant-dev] DependsTask Patch (fix) I've finally made it into the office today and was able to test out the quick changes I made. I fixed a missing attribute and missing #endregion directive (this is the version without the dynamic attribute). BTW, thanks for taking the time to looks at this stuff - I really appreciate it. --- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] solution task
1.) If you have the time, go for it! 2.) Improvements are great. 3.) Adding support for this is a good idea. At the solution and project level seems like a nice one to have too. - Original Message - From: Martin Aliger Hi all ! 1/ Do you think, that now is good time to some cleaning and restructuring in solution task as we discussed earlier? I have some spare time and appetite to do that now! 2/ Also I would need (and like to) make some improvements to that task. What I need (and currently use not-commited patch) is need to custom arguments override like there: solution configuration=Release outputdir=${output.dir} includevsfolders=false showcommands=true projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ includes name=${references.dir}/ /assemblyfolders compilerargs arg value=/codepage:1250/ /compilerargs /solution We previously discuss that as it will be nice to do that at solution level or at project level. Do you still like the idea? I could implement that if you agree with that... Regards, Martin --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] DependsTask Patch
I'm inclined to put new tasks like this in NAntContrib. Does anyone have a major complaint about that? We can always move it later. As for your implementation; It seems okay. I'm a little confused about what you've done for the on attribute. It looks like you are not expanding, supporting expressions, for those values unless an additional attribute dynamic is set. What is the value in this? It would seem cleaner to me to just let the on attribute be auto-expanded. - Original Message - From: James C. Papp [EMAIL PROTECTED] DependsTask Patch Here is an implementation of the depends/ task. It allows the use of dynamic dependencies which was possible with earlier versions of NAnt through the call/ task, but with current changes is now longer allowed (deprecation of the force attribute). It is particularly useful for handling dependencies that change based on some input conditions/parameters, or when the dependencies are not known until runtime. Here's a quick example of the possibilities: target name=foo if test=${some-option} depends on=A, B, ${set-at-runtime-target}/ /if /target For more information about this, check out the thread: [nant-dev] Change to call task makes upgrade difficult http://www.mail-archive.com/nant-developers%40lists.sourceforge.net/msg03105.html Personally, I think it should be part of the core because it really is an expansion of the target/ depends attribute (they go hand-in-hand), however; I would be just as happy if everyone decided to stick it in NAntContrib. --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Re: new xml type
This sounds interesting but I'm not sure I follow. Can you explain a little more? The concept of inputs/outputs to tasks (when called from other tasks) and adding context info so tasks know about following task, and preceding tasks, sounds interesting. But I'm not sure how this ties in here. What would the user experience be? What would the syntax be? - Original Message - From: Matthew Mastracci [EMAIL PROTECTED] For tasks (such as the solution task), what about having C# classes in NAnt that map to XML itself? They could appear as XML to xmlpeek/xmlpoke/xmlforeach, but would be backed by C# classes internally. This would make it far simpler to return values from tasks. Martin Aliger wrote: Hi all, I'm trying to develop new xml type. Right now I have some preliminary patch to enable script like this: xml id=x1 book author nameJohn/name surnameSmith/surname /author titleJohn Smith's life/title /book /xml target name=test xmlpeek refid=x1 xpath=book/author/name property=authorname/ echo message=${authorname}/ /target How you like it? I'm looking forward to your comments... What I want to do is something James and Ivan also proposed: add some way to return information from task back to script. I dont think that add resultproperty/outputproperty to exec task and other whateverproperties to other tasks is good way. What I want to do is add one general attribute (e.g. result) to all tasks. Result itself will be xml dom with potentionaly many values. exec task could for example have in it full commandline executed, result code, stdout, stderr and maybe even more things! So it could be written something like this: exec program=${csprojconv.dir}\Gordic.Develop.CsprojConverter.exe commandline=${foldername}\${folder}.csproj ${version} result=res1 / xmlpeek refid=res1 xpath=output/resultcode property=resultcode/ if test=${resultcode2} fail message=serious CsprojConverter error/ /if or even shorter when function for xmlpeek exists! Martin --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Inter-Task XML Communication (WAS: new xml type)
Yep, I reviewed that and it was not up to snuff. It was an example of how you could do it. Not a real world implementation. The Bamboo.Prevalence implementation is much farther along. I'll approach them about splitting that out into its own project. There will be enough there to justify that I think. - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Scott Hernandez [EMAIL PROTECTED] Cc: Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Tuesday, January 06, 2004 8:21 PM Subject: Re: [nant-dev] Inter-Task XML Communication (WAS: new xml type) Using xpathnavigators for this stuff would be nice. There was an msdn article a while back implementing an xpathnavigator interface over a zip file. It would work well for any sort of hierarchical data. +1 on using some sort of hierarchical storage for task inputs and outputs. Ian Scott Hernandez wrote: I'm getting a better picture. There are many places where inter-task communication would be useful. Having the context of what is going on around a task is very interesting. I don't know much about how msbuild works, but I get the idea this is what they are pushing as the mechanism for tying together their tasks, and functionality. The only problem I start to see is that there becomes a situation of inter-dependence and a complication of context. If it gets to the point that a task needs to know what is around it (preceding and such) to get its job done it may get too complicated to write and test. As for the XML related tasks (xmlpoke/peek/foreach, solution, style/xsl, etc) it would make sense to allow them to interact with a single, possibly in-memory, instance of the xml documents (or xpathdoc). I helped write something called domify (domify.sf.net) in java, a long time ago now, that wrapped a java bean (object) in a W3C dom facade. Then you could put it into an existing document, run xpath expressions against it, and such. In the .Net world there is the idea of a xpathobjectnavigator that can do the same with .Net object so they can interact directly with an xmldocument, xpath expression, and such. This might be a great way to expose our nant classes as xml objects, instead of actually serializing the object. There are a few projects underway that do something like this, but I have been thinking I should write a full featured library that does this (creating a xpathobjectnavigator that supports and respects the xml serialization attributes). The bamboo.prevalence team has the most fleshed-out code base at this point, AFAIK. There are some additional comments inline below: *XPathObjectNavigator stuff: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/ht ml/xml03172003.asp http://cvs.sourceforge.net/viewcvs.py/bbooprevalence/Bamboo.Prevalence/src/ Bamboo.Prevalence.XPath/ - Original Message - From: Matthew Mastracci [EMAIL PROTECTED] [snip] What I'm proposing is that the NAnt build script writer user would use the task outputs as if they were XML, but under the hood they would be fully-fledged C# classes. We all agree that the xml object type that Martin is suggesting would be used within any XML task within the build script as raw XML. It would fit snugly into the xmlpeek/xmlpoke/xmlforeach tasks. I'm proposing that we back these xml documents with fully-fledged C# objects in the NAnt backend. I hope that this would lead to long-term, schema/class-enforced XML communication of some sort between tasks. Each task could expect and produce certain kinds of wellformed data. Each xml input or output from an NAnt task would be mapped to an XmlSerializer-ready NAnt class, preferably backed by a true .xsd file somewhere within NAnt. This serialization would be automatic and handled by the NAnt core without task writer intervention (modulo some attribute decoration). +1, for seamless and handled by the core. The XmlSerializer stuff can create xml schema for us, is this what you mean? If each xml object could tag along an associated schema, this would enforce the validity of the object during user manipulation of the XML object, allowing it to be re-imported into the NAnt world at some later date. Are you saying that we would serialize these objects to disk for use by nant during another execution, or just during the current one? What is the application of this? Does this make sense? --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Change to call task makes upgrade difficult
The reason, please correct me in my memory is off, for the deprecation of the force attribute was because of the change to the call/ task to do this by default. The idea was that if you want the behavior of dependencies, you will use that mechanism (via the depends attribute of the target), but if you want a target (and its dependencies) executed, you will use the call/ task. I believe this change was also made to more closely match the Ant behavior of call/. In hindsight, and even a little at the time, it seems like you may want some middle ground too. When you go to execute a target, a chain of all dependant targets is built (and reduced to unique targets). If the target to execute is via the command line, or a depends reference, then they are not forced. If they are executed from the call/ task, then all of the targets are executed. The middle ground is the example you sight below: call target=foo unless=target::has-executed('foo') forcedepends=false/ In this case you want to only execute if the target (foo) hasn't executed yet, and you want to do the same with all dependencies. Now, the example of call target=foo force=false/ is a little ambiguous. Do you mean, don't force foo (meaning only execute if it hasn't yet), or don't force all the dependencies, or both? Would your depends on=/ not force any executions? Not to put Gert on the spot, but I think he may remember all this stuff a little more vividly than I. I think he was the once to deprecate call force=/. Now that I'm thinking about this, maybe the depends stuff should work so that if anything you depend on executes again, your previous executions should be ignored. - Original Message - From: James C. Papp [EMAIL PROTECTED] Though..., I'm not sure how a forcedepends flag would help, since isn't that what call does now? So..., I guess the forcedepends flag would be set to true by default, and if set to false, it will only execute dependent tasks if they have not already been executed. But this would not affect the top-level task being called, then to get the same behavior of the depends/ task you would need to do something like this: call target=foo unless=target::has-executed('foo') forcedepends=false/ This seems like it might be more confusing and little more prone to error then just reintroducing the force flag, then you can simply say: call target=foo force=false/ which would do the same thing as depends on=foo/, though you would not be able to do depends on=A,B,C/ without using multiple call/ tasks, but that's not a big deal. Maybe I should ask why the force flag functionality was removed instead of just being fixed. Does anyone else have an opinion on this? James. --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Single NAnt binary for all platforms
This a great goal. A single binary dist for all runtimes sounds great. +1 I will try to look this over at the start of the week. - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] Hi! As Mono is progressing towards 1.0, I think we should start thinking about a binary distribution of NAnt that would run unmodified on all CLI platforms. I've done some review of the NAnt source code and looks like there are no fundamental problems that would prevent us from achieving this soon. Here are my thoughts: 1. Some code (actually very little) is P/Invoke dependent. This code should be isolated and put in one place. 2. There is one bug in Mono which requires NAnt to use conditional compilation to overcome the bug. Vide _timeout in ExternalProgramBase.cs. There's no reason why this should be done at compile time. 3. Some task assemblies aren't made to work with Mono yet. Win32Tasks and VSNet tasks. What about solution task then? 4. I've tried to run mono win log4net.dll compiled for .NET 1.0 and it works fine. In fact this version should run just fine on all CLI platforms because NAnt doesn't use any platform specific features of log4net. 5. I'm not sure about other binaries in lib directory. Are there any limitations of mono that prevent us from using .NET 1.0 binaries on all platforms? The DLLs are 6 months old, I believe we've seen a huge progress in Mono world since then. To address issues 1 2 I've prepared a patch that attempts to fix the issues. With these fixes in place I was able to rebuild NAnt on Windows, move binaries to Linux (removing VSNetTasks and Win32Tasks) and rebuild NAnt completely on Linux without resorting to makefile. Can you review it and tell me your opinion? Jarek --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Change to call task makes upgrade difficult
The call/ task executes the target and all dependencies (whether they have executed already or not, and only once). Maybe to get the correct behavior we need to add a forcedepends attribute to control the execution of the dependencies. It seems strange to introduce a depends/ task when it is really just a special behavior (non-default) of call/. I'd be more than happy to take a contribution to NAntContrib for the depends / task if you want to contribute. We can move it to NAnt if people want it and it tests out well :) All the code you need is in Project.Execute(targetname, boolForceDep). The more you want to contribute, the better the project will be :) - Original Message - From: James C. Papp [EMAIL PROTECTED] Sent: Thursday, January 01, 2004 2:15 AM Well, reintroducing the force attribute seems like a bad idea since it has already been deprecated (but thanks for asking); its resurrection would probably just cause too much confusion. Your solution: call target=foo unless=target::has-executed('foo')/ (BTW, all the new expression evaluation and function support is awesome. With these new capabilities I can finally remove a bunch of custom C# script-functions in our NAnt build files. Though, the fact that we could do something as shown above is just too cool...) Anyway, back to your solution. This may work, but it all depends on how the call task handles dependencies; here's an example: target name=A depends=B, C/ target name=B depends=D, F/ target name=C depends=D, E/ target name=D/ target name=E / target name=F / Let's say that task A is triggered (via a call task, or something equivalent like the proposed depends tasks). There are five possible ways things can occur (unfortunately): 1. Task A executes regardless if it executed before and dependencies are ignored. = A 2. Task A executes but only if it has not so far; dependencies are ignored. = (A) 3. Task A executes regardless if it executed before and all its dependencies are force to execute as well (even duplicates) = D, F, B, D, E, C, A 4. Task A executes regardless if it executed before as well as all its dependencies but duplicates are prevented from executing more then once. = D, F, B, E, C, A 5. Task A executed only if it has not executed before as well as its dependencies = (D), (F), (B), (D), (E), (C), (A) which is identical to (D), (F), (B), (E), (C), (A) by the virtue that a target is only ever executed once. * Note: Targets in parentheses only get executed if the have not executed already; targets listed without parentheses are always forced to execute. For our builds we need number 5 to work and the proposed depends task would do just that and hopefully with less confusion since its name implies this sort of thing. Now my understanding of the call task is that it would do 3, but it may do 4, not sure as the documentation is a little ambiguous here. So, I don't think your solution would work unless we had a very simple dependency tree which we don't. However, if you like the idea of the proposed depends task I will volunteer to do all the work that is needed (or that you want me to do). We use NAnt so much I feel obliged to contribute; we also have a goal to be able to use an unmodified version. With the latest release we are almost there; changes to the exec task (see top of thread) and an options attribute for the csc task are still needed. --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Re: Will there be a nAnt-0.84rc2 and final before the end of the year?
I am not Gert, but we are branched for the .84 release Please check new features into cvs (HEAD) and fixes for the release into the .84 branch. - Original Message - From: Matthew Mastracci [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED]; Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Friday, December 19, 2003 10:06 AM Subject: [nant-dev] Re: Will there be a nAnt-0.84rc2 and final before the end of the year? Gert - are we branched for 0.84? I have some minor checkins I'm itching to get in for the 0.85. I can also look at some solution cleanups over my vacation time in the next few weeks. --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Adding XML support to foreach or new task
This sounds interesting. Maybe we would want to introduce some xpathselection elements to replace your property example. Properties in this example would probably be a little confusing to the user since it isn't really a regular property (the value is retrieved via xpath, not only via an expression). xmlforeach file= xpath= xmlselect propertyname= xpath=@attribute xmlselect propertyname= xpath=node xmlselect propertyname= xpath=text() xmlselect propertyname= xpath=child/@attribute do ... /do /xmlforeach It would be really cool if we make this work so that you could use the xmlpeek/ task to select from the open file (xmldocument). Then later when if/when we get referencable types (for example an xml file factory or something) we could just a little more efficient. It would be nice to use the implied context here to simplify things. ;) foreach / could also be updated but this probably falls out of the scope of that. This is pretty specialized, and will need to be very specific to xml. - Original Message - From: Matthew Mastracci [EMAIL PROTECTED] To: Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Thursday, December 18, 2003 12:25 PM Subject: [nant-dev] Adding XML support to foreach or new task I'm looking at adding XML iteration support for either the foreach task or perhaps a new, yet-unnamed task. I would like to be able to iterate over a file based on an XPath query, picking up each matching element or attribute in turn. foreach is the easiest place to add it, but it's not really a clean solution. A better way would be to model a new xmlforeach task on the existing xmlpeek/xmlpoke tasks like so: xmlforeach file=foo.xml xpath=/configuration/blahelement property name=someattribute value=@attribute / property name=someinnertext value=text() / do echo${someattribute}, ${someinnertext}/echo /do /xmlforeach How does this sound? --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Will there be a nAnt-0.84rc2 and final before the end of the year?
There will be a new RC in the next day or two (as I hear). The expression stuff will not make this release. But it is now in the cvs HEAD, meaning that it is slated for the next release. It still needs a lot of testing, but we hope to get a expression feature complete version soon after the current release (.84). Personally, I'd like to see a .85 release with expression support near the first of the year! - Original Message - From: Morris, Jason [EMAIL PROTECTED] To: Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Thursday, December 18, 2003 4:04 PM Subject: [nant-dev] Will there be a nAnt-0.84rc2 and final before the end of the year? I haven't seen much bug traffic about rc1, so just curious as to what the release plan/schedule was for .84. Seems to be a lot of excitement for the expression evaluator enhancements...is this delaying the final release of .84? Will it be included in .84rc2? Thanks, Jason PS. As always, thanks to all who contribute and maintain this project --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Will there be a nAnt-0.84rc2 and final before the end of the year?
Yeah, I was imagining somewhere in the first two weeks of the new year. :) Not before it! quote who=Gert Driesen - Original Message - From: Scott Hernandez [EMAIL PROTECTED] Personally, I'd like to see a .85 release with expression support near the first of the year! I'll try to get NAnt 0.84 released by the end of next week, but a 0.85 release by the first of next year is not feasable I think ... /quote --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] new #cvslib binary
See comment below. From: Gert Driesen [EMAIL PROTECTED] From: Clayton Harbour [EMAIL PROTECTED] [snip] [TaskName(cvscheckout)] [TaskName(cvs-checkout, Obsolete=true, ObsoleteMessage=Use cvscheckout instead.)] public class CheckoutTask : AbstractCvsTask { What do you think ? Got any other (and better) proposals ? That is an option but I like the idea of allowing only a single [TaskName] attributes on a class. I don't think we allow (or should) a class to implement more than one task (name). This might appear simple, but it has quite some impact on our attribute-based initialization code and our documentation generation process We could go the route of using a new attribute to mark obsolete tasks. It would work something like this: [TaskName(cvscheckout)] [ObsoleteTask(Use cvscheckout instead.)] public class CheckoutTask : AbstractCvsTask { } We will probably also want to create corresponding [ObsoleteTaskAttribute] and [ObsoleteTaskElement] attributes if we go with this method. --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Naming of documentation files
Those files are named based on an old system that was used to create them (fogcreek something or other). You should name your new files something more reasonable. Those files will get renamed when someone puts in the request for sf.net admins to rename them in cvs. You can edit them manually, but please make sure you keep them xhtml 1.1 valid. XSLT/NAntDocumenter are only used to document Tasks and Types (from source code xml comments). The rest of the docs are created from the xhtml in the doc folder. - Original Message - From: Jaroslaw Kowalski To: [EMAIL PROTECTED] Sent: Tuesday, December 09, 2003 6:07 AM Subject: [nant-dev] Naming of documentation files Hi! Is there any reason why filenames in NAnt help/website are named like this: fog06.htmlfog13.htmlfog40.htmlfog41.htmlfog42.htmlfog79.htmlfog81.html I'd like to add a section on expressions and functions. How should I name the files? Should I use XSLT/NAntDocumenter to generate the documentation or can it be done by hand? Jarek
Re: [nant-dev] Naming of documentation files
Sounds great. Then you are going to add an [attribute] to define each method as a nant expression engine function? Much like we do for [BuildElement], and [TaskAttribute] property defs. of tasks. - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Tuesday, December 09, 2003 11:01 AM Subject: Re: [nant-dev] Naming of documentation files I'll use it. I'm quite familiar with XSLT so this shouldn't be a problem. Do you think that documentation for functions should include anything but a single-line summary + description of all parameters. Jarek - Original Message - From: Gert Driesen [EMAIL PROTECTED] To: Scott Hernandez [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Tuesday, December 09, 2003 7:21 PM Subject: Re: [nant-dev] Naming of documentation files would be great if we could use the NAntDocumenter to generate docs for the functions if possible ... that's the only way to ensure that the docs are always in sync ... Gert - Original Message - From: Scott Hernandez [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, December 09, 2003 6:35 PM Subject: Re: [nant-dev] Naming of documentation files Those files are named based on an old system that was used to create them (fogcreek something or other). You should name your new files something more reasonable. Those files will get renamed when someone puts in the request for sf.net admins to rename them in cvs. You can edit them manually, but please make sure you keep them xhtml 1.1 valid. XSLT/NAntDocumenter are only used to document Tasks and Types (from source code xml comments). The rest of the docs are created from the xhtml in the doc folder. - Original Message - From: Jaroslaw Kowalski To: [EMAIL PROTECTED] Sent: Tuesday, December 09, 2003 6:07 AM Subject: [nant-dev] Naming of documentation files Hi! Is there any reason why filenames in NAnt help/website are named like this: fog06.html fog13.html fog40.html fog41.html fog42.html fog79.html fog81.html I'd like to add a section on expressions and functions. How should I name the files? Should I use XSLT/NAntDocumenter to generate the documentation or can it be done by hand? Jarek --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Depends targets getting executed multiple times in 8.4
I have committed the changes to fix this behavior. I will be committing tests later to confirm my expectations, and so this behavior doesn't change without notice again. In short, things should work like this: --Targetsspecified on the command line, or via the nant task, should execute like the dependencies of targets. That is, they should not force execution of the chain of targets. --The call task should execute the whole chain of targets (including already executed dependencies) Now, I've been told that Ant works the way that I would consider ours to be buggy. All targets specified on the command line are executed, including their dep. tree. This makes each target entry on the command line work like a call name="commandlinetarget". This does allow for something like this, "debug build release build", where you can specify that you want to do a debug and release build (without having to specify this in the build file). Well, It is a little confusing how things should work, but they now work like they used to. - Original Message ----- From: Scott Hernandez To: Buc ; [EMAIL PROTECTED] Sent: Monday, December 08, 2003 11:27 AM Subject: Re: [nant-dev] Depends targets getting executed multiple times in 8.4 Yes, I can confirm this behavior in cvs. This is a bug... :( - Original Message - From: Buc To: [EMAIL PROTECTED] Sent: Monday, December 08, 2003 4:24 AM Subject: [nant-dev] Depends targets getting executed multiple times in 8.4
Re: [nant-dev] SUMMARY: Expression Syntax
My first inclination is towards A for Q1. This would mean that all expressions, and property expansions, are like this ${expr}, correct? XSLT uses braces for inline evaluation in attributes and XPath variables are $ prefixed. In our case it seems like once we start a expression block, denoted by ${, we can assume that everything is either a data type, a variable identifier, or a function. This seems backwards compatible, and fairly easy to identify in the build file and tasks. This means that for Q2 I'd also lean towards this syntax (choice A). As for property names, it seems like a documented standard is a good way to go. I'm pretty happy with whatever standard we come up with; which is probably going to be driven by the expression eval. engine. Now for the larger question, Does everyone want expression support in NAnt? I think there are some real benefits to adding expression support. It will make things much more flexible. But it also means that more complicated and possibly harder to read build files can be built. I don't want to inundate our users with features that could make maintenance harder. - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] One more thing which I forgot: Q1 there's a problem where: B: ${$propertyname} and ${propertyname} C: ${${propertyname}} and ${propertyname} both are legal forms to express a property. Variant A has no such problem. Jarek - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] Hi Scott, As you requested, here's a summary of expression evaluator discussion: Ian, Gert, Martin - can you please correct me if I'm wrong anywhere in the summary. There are 2 questions: QUESTION 1: How should expressions be written? A) echo message=aaa if=${length(propertyname)=3} / B) echo message=aaa if=${length($propertyname)=3} / C) echo message=aaa if=${length(${propertyname})=3} / Variant A - is clean and compatible with current approach to accessing properties. Properties can still be accessed as ${propertyname}. This may have the following problems: - it may be hard to distinguish between property and function names because they only differ by () (Java, C#, C++ also have this problem). - we may no be able to access some properties (like nant.task.cvs-checkout.location) because they contain dashes which cannot be distinguished from minus operator. a-b could either be a MINUS b or a property named a-b. Fortunately there are only 6 such properties in NAnt (so this could be quite easily resolved): nant.tasks.cvs-update nant.tasks.cvs-checkout nant.tasks.delay-sign nant.tasks.cvs-update.location nant.tasks.cvs-checkout.location nant.tasks.delay-sign.location There was a suggestion to disallow such property names and formally define them as: property name = identifier { DOT identifier } * identifier = [a-zA-Z_][a-zA-Z0-9_]* In English: property name is a sequence of identifiers separated by dots identifier starts with a latin letter or an underscore and contains only letters, digits underscores (like in C#, C++, Java, VB, JavaScript...) - we may not be compatible with property names which are numeric. I was told that currently a property can be named 1234. There seems to be an agreement that this should be disallowed asap. I suggest that we disallow properties containing dashes in their names at the same time. - one could always use use propertyvalue('propertyname') function to access weird-names properties Variant B - prefix properties with '$' - similar to PERL - is still quite clean, yet there are some dollars starting to appear - this solves the first problem (the properties can be distinguished because they are prefixed with $) - accessing properties with dashes can still be tricky: $property-name-with-dashes // access property $property-name-with-dashes(1) // $property-name-with MINUS dashes(1) Variant C - enclose properties in ${...} - it's difficult to read, especially when using proportional font, - it's unambiguous - no problem accessing any property Opinions on Q1: Jarek: A Martin: A Ian: A or B Gert: B or C QUESTION 2: Should we always require ${} (or anything else we use for quoting) to be written around expressions, or should we allow unquoted expressions in some places? Variant A (quote all expressions) if test=${length(someproperty)=3} ... /if echo message=test if =${length(someproperty)=3} / echo message=test unless =${length(someproperty)=3} / - it's simple - you ALWAYS use quotes around expressions (both embedded in strings and stand-alone) - you can easily spot the expressions in your build file - this may allow for easy implementation of syntax highlighting (actually I already did this for VIM) Variant B: allow for unquoted expressions in some
Re: [nant-dev] SUMMARY: Expression Syntax
Good point about side-effects. This does paint a clear distinction. But then you get tasks like xmlpoke, with no corresponding xmlpeek; this might make the user search around for the expression/function to use, or even assume that this functionality does not exist. I'm inclined to give this a day or two to stew, commit the changes to the head, if there are no serious issues. We doc, write unit tests, and do a release with expression support in a week or less. Then we can provide this release to the users and get feedback. If people are up in arms about it breaking builds, we can pull it (removed the feature from the head, and put them back in the ee branch). We are still in pre-1.0 releases and changes are acceptable. The sooner we get this issue resolved, the sooner we can get to a 1.0 release. We can also put a switch in our config section, and a command line option, to turn it off, as you have suggested. Does that sound like a plan? ( I guess I'm just restating your plan Jaroslaw, but with a little bit of timing :) - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] By adding expression support we are moving functionality from the tasks (defined by xml) to the expression engine. Now I am starting to think about how to add support for extensions to the expression engine; just like I think about how to add functionality by creating new tasks. This is the slippery slope that I think we need to be careful about. I think that there's a clear distinction: expressions are pure. They don't have side effects. They don't change state - neither the program memory nor property space, filesystem, registry, databases. They only return values based on current state. Tasks actually do things and may change state. Currently we have tasks that do nothing but set some properties so that other tasks could decide upon them. I believe this should be the first (and probably the last) target. But, I agree that this is a slippery matter. Really I just want to make sure we get the feedback, user comments, and support we need for adding this feature. Maybe the next step after we discuss this on the dev list is to get together another summary email for the user list. Then we can make a final decision about if we want to add this new feature to a release. This is probably the most difficult task. I don't know how many people are there on the dev list, but test1 release was downloaded by only 16 persons (distinct IP addresses) and we only got opinions from 4 (not counting myself). I think that in order to get most people to test EE we should: 1. Formally define property names (this will break some builds, but is necessary anyway) 2. Agree on expression syntax (as I understand it - Scott, Ian, Gert, Martin and myself agree on Q1/A). Q2 is open, but we're close to option A. 3. Provide user documentation and unit tests. 4. As soon as we're sure that EE doesn't break builds, we should move it to the main branch in CVS so that more people could test it via daily builds. There should be a command line/config option to turn it off (revert to the old behaviour) in case it causes any trouble. 5. If there's no common demand for expressions or if it breaks too many builds - we'll remove it (it's a single change in one file). Perhaps it could be then moved to a new task, called eval expression=... property=... / What do you think? Jarek --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Delphi 8 .NET
Talk away, but this may also be a good discussion to start in the NAntContrib list. That is most likely where they will be stored, and developed:) I would like to keep NAnt-Dev focused on NAnt-Core idea and dev issues. Not that I don't like to discuss new task ideas, but focusing things into NAntContrib would be better IMO. :) - Original Message - From: Scott Ford [EMAIL PROTECTED] To: Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Wednesday, December 03, 2003 4:07 PM Subject: [nant-dev] Delphi 8 .NET NAnt Developers, With Delphi 8 .NET just over the horizon, I thought that I would propose that we try to get some Delphi tasks under development as soon as it comes out. In the past Borland has released a free for personal use version of Delphi. If they continue to do so then I would enjoy trying to get some solution like tasks together for Delphi projects. If they do not, then I doubt that I will be able to afford a copy (unless I can talk the boss into picking up a copy ;)). Should the planning begin now for how these new tasks will fit in with the rest of the tasks or should we just wait until the final product comes out? -Scott --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] functionality of version task
I like it a lot. This is definitely something I want to be able to do with our (internal) nant builds so we can easily identify our build type and config from the binaries. If you are fine contributing it, I think we can review it and put it under source control. Please post a compressed patch or the a files, and we'll take care of it. Thanks, Scott - Original Message - From: Wenig, Stefan [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Saturday, November 22, 2003 1:41 AM Subject: [nant-dev] functionality of version task hi, since i needed a versioning scheme other than that of the existing version task, i built my own. i like the way it works, so im suggesting this as an extension to the existing version task. the idea is to have a version-config file that contains not only the counter for the incrementing part of the version number, but also the rules that says how the rest of the version number should look. an example of a version config file i use is as follows: ?xml version=1.0 encoding=UTF-8 ? buildversion xmlns=urn:rubicon-it:nant:buildversion major0/major minor9/minor build increment currentValue=13 / /build revision map property=nant.settings.currentframework entry propertyvalue=net-1.0 versionvalue=10 / entry propertyvalue=net-1.1 versionvalue=11 / default fail=true / /map map property=project.config entry propertyvalue=release versionvalue=1 / entry propertyvalue=debug versionvalue=2 / entry propertyvalue=documentation versionvalue=0 / entry propertyvalue= versionvalue=0 / default fail=true / /map/revision /buildversion this would result in version number of 0.9.14.101 for a release buld for .net framework 1.0, or 0.9.13.101 if i supress incrementing. the advantage is that if i look at the metadata of an assembly that uses one of the target assemblies of this build, i can tell immediately which configuration is referenced. this could be extended to include tags for date/time values. or, more generally, it could be extended to include simple property expansion, and nant could provide properties with current date/time values by default. AFAIU, any of these enhancements would provide the current functionality of the version task and more. my implementation of this task provides properties for the whole version number, each part (minor, major etc) and a version number that does not include configuration-specific values (.noconfig property). in the example above, the latter would be 0.9.13.0, so that target directory trees can be built like 0.9.13.0/net-1.0/debug 0.9.13.0/net-1.0/release 0.9.13.0/net-1.1/debug etc. also, the task allows supressoin of version incrementation. usage example: buildversion versionfile=build/buildversion.xml property=buuild.version increment=false / property name=build.basedir value=${solution.basedir}/build/${build.version.noconfig} / i'd like to know if you think this functionality should be part of the nant version functionality, a alternative one in nant contribs, or neither. once more, i don't find the time to struggle with the details of contribution right now, but i'll provide source code on request (just a few lines of code anyway). stefan --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] In case you haven't seen this yet
Title: In case you haven't seen this yet Thanks for the update Alex. I didn't read the originalarticle, but this seems like a prettyshortsynopsis.I'm looking forward to seeing msbuild when it gets closer to release. As the MSBuild PM, do you know if the team has considered any interop scenarios with NAnt tasks or the NAnt framework. Is this something that would be in the scope of the work you would consider? If not, can you comment on the technical challenges in doing in working either way (nant-msbuild; msbuild-nant, task interop)? - Original Message - From: Alex Kipman To: [EMAIL PROTECTED] Sent: Tuesday, November 18, 2003 9:24 PM Subject: [nant-dev] In case you haven't seen this yet Hello everyone, At the risk of reliving a very painful subject, I wanted to point the community to the published "chapter 2" of Brent Rectors book entitled Introducing Longhorn for Developers. The link is here: http://msdn.microsoft.com/Longhorn/understanding/books/rector/default.aspx?pull=/library/en-us/dnintlong/html/longhornch02.asp#longhornch02_topic1 You will note Brent re-wrote the entire section about "Why not Ant/NAnt", and what you see on this link is what you will see printed on the book when it hits your local bookstore. In other words what was printed in the PDC copy of the book will no longer be printed. I hope you find the current text to be more precise and especially less adversarial. Just thought you should know, Alex Kipman ([EMAIL PROTECTED]) Program Manager MSBuild Team This posting is provided "AS IS" with no warranties, and confers no rights.
[nant-dev] New tests committed: Regex and Style
I have committed both these files to the test suite in NAnt.Core. Thanks for the tests Michael. - Original Message - From: Michael Aird [EMAIL PROTECTED] Subject: [nant-dev] Regex Unit Tests: RegexTest.cs --- This SF. Net email is sponsored by: GoToMyPC GoToMyPC is the fast, easy and secure way to access your computer from any Web browser or wireless device. Click here to Try it Free! https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] NAnt Tag and Branch policies
I don't want branching done unless we have to. Unless there is a reason we *need* to branch, then we should not. We should change our release plan on the wiki. http://nant.sourceforge.net/wiki/index.php/ReleaseProcess Please see additional comments inline. - Original Message - From: Clayton Harbour [EMAIL PROTECTED] Hi Scott, I don't mean to rattle anyone's confidence but I am not a cvs expert either. What I am suggesting is a way to manage the release cycle and continue on with core feature development at the same time. I think I understand what you are saying. Lay down a tag and if we need to go back to a point in time then we can branch at that tag, make any code fixes and re-release from that point. What I am thinking of is really quite similar, except I say that there will be code changes so when we tag, also branch. I think this is reasonable because usually releases go through an RC1/RC2 cycle (from memory I think we used this last time, please correct me if I am wrong) which are usually prompted by bug releases. The RC1/ RC2 would of course be tagged on the release branch and all bug fixes would be applied there. Probably at the time we tag this we would merge the bug fixes back into the trunk. I understand what you are suggesting, I don't like that plan. From what I've read, and the stories I've heard from other projects, and people who have used, and understand, cvs much more than I do, it is best not to branch unless there is a very good reason. CVS is not VSS, SVN, or any other source control system. Even though all these system work very similar in concept, there are some very serious differences in application. I realize that developers will then have to be aware of which code base is the development trunk (or head) and which is the branch. It will mean two separate cvs trees locally (if you have bugs to fix, 1 if you do not) but these can be named using the options tab in tortoise so they should be fairly easy to manage. It will also make the task of fixing a bug versus refactoring a section of code explicit and should keep the risk down for letting any additional bugs creep into the release code base from large coding changes. Why should each developer need to maintain a seperate source branch on their local machine? If we use tags we just work from the head until we are ready for the releases. We will still have access to those specified versions of files based on that tag. If at any point we need to branch, we can from the tag. :) All I am saying (and please remember this is just my opinion) is that as soon as we put up that RC1 then that is beginning our release cycle. The code base that generated that zip file should be used during the entire release cycle to make it stable as possible before we sign off on an official release. I realize that nant is still in beta but I think we can still adopt a process that is going to help us once we go beyond that. I understand what you are going for. I think we should keep it simple and just use tags and not branches unless we start getting serious restructuring on code during beta/rc cycles of a release. One of the point of keeping the list updated is that we don't have that happen, we won't see massive changes since devs know to hold that kind of stuff off till after the release. Yes, setting up and keeping a good process will make it easier for people to jump in and keep things going. No question about that. :) --- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] NAnt Tag and Branch policies
Okay, I've just given some thought to how we use cvs to tag and branch our releases. Here is what I think we should talk about adopting as our policy. We should do the following...Lay down rtags (tags on the server) when we do a release (or milestone/beta/rc). This will allow us to get back to that version of source. Then, only when we plan to re-release an old version, should we create a branch from that tag. (We can also create branches for other concurrent dev., but the less branches, the less chance for mistakes) The reason to keep branches to a min is that changes from one branch to not affect another. So if we fix something in 0.8.3 branch, we also need to fix all subsequent branches. Branches also require special changes to the way we as developers work. Summary: TAGS=GOOD; branches =good. Background: http://www.mail-archive.com/[EMAIL PROTECTED]/msg01732.html http://www.psc.edu/~semke/cvs_branches.html http://owen.sj.ca.us/rkowen/howto/cvs.html#tag --- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] Editing .build files w/syntax hilighting in VS.NET
David, You are correct, the nantschema task is under construction, and incomplete. I am working on getting it back into shape to support collections and nested elements. It will get done after I'm finished with the new userdoc stuff (which is really close). I'm more than happy to hear about any additions to the nant.xsd file that you think would help. The first one on my list is to get it defining the types correctly so it is accurate :) Some of the features that I would like to add are kind of restrictive with the expand properties features that we have. It would be nice to allow mappings of .net enums to xsd but that would restrict the use of expanded properties, since the xsd would choke on any invalid values for attributes that of type enum. There are ways around this although it requires a little xml schema magic. :) I'll post an update to all this when the xsd file is good to go again! quote who=David Reed You can also set this by right-clicking on a .build file in a project (add one to a project temporarily if you need to) and choosing Open With... Choose HTML/XML Editor and click Set as Default. File associations are cool, but the really neat trick is to get tag-completion for NAnt scripts in VS.NET! I'm much too lazy to look up syntax every time I need it. (Thank you, Bill, for ruining my short-term and short-term memories.) Copy a NAnt.xsd file that has the task schema in it into the following path (for VS.NET 2003): C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\schemas\xml\ And then automagically any file with the correct schema definition at the top of the file will support tag completion in the VS.NET XML editor. (I prefer to give all my build files .build.xml extensions anyway.) ?xml version=1.0? project name=eRealty.Desktop.ContractManager default=build xmlns=http://nant.sourceforge.net/; [Which reminds me... The standard NAnt schema is incomplete, folks. My tag completion, particularly for nested elements, often fails me and I have to actually read the help file. Very upsetting. Heh.] There are other handy type-definition things that could be done to enhance the NAnt.xsd and provide more and better Intelisense... but I'm kind of swamped at the moment or I'd've already done it. --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] documentation
more documentation = good... holes in docuementation = !good I like good. Anyone want to volunteer? ;) quote who=Martin Aliger Hi all, I notice that our current docs do not say anything about nant.exe.config. I this there should be section about it discussing frameworks settings, possibility to add global properties, and logger. What do you think? [sorry I do not write it right now...] Martin --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] Criteria for next release
That is a negative Jason. We will always distribute source with our binaries. We will also always include help/documentation. We will also not distribute multiple, and redundant, binaries. There is no reason to distribute 1.0 and 1.1 compiled versions of nant. Our goal is to support all .net platforms and frameworks. Right now NAnt has support for the ms .net framework 1.0 and 1.1, as well as limited support for mono (as mono progresses our available features are also growing). Our goal is to provide binaries that meet the minimum framework requirements. In the future I expect our compiled binaries will run on mono out of the dist directly, just like they do on the ms .net frameworks. quote who=Morris, Jason John, Thanks for taking up this task...any further progress on releasing the first beta or release candidate? My vote would be for one distribution package with the binaries for each .NET framework in separate directories. I don't think that we should include the documentation or source in the distribution package. We should instead, direct users to the website for documentation. I would include a readme doc that explains the basics of getting things setup (for the newbie), but again, refer to a task reference on the web. From my perspective, if I want the source, I will just get it from SF CVS. --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] NAnt [FileSetAttribute] soon to be removed.
The [FileSet] attribute used to describe a BuildElement (nested xml element in a task or datatype) is going to be removed soon. It is a relic of the days before the generic BuildElement and provide no extra information at this point. If you are developing tasks please replace any [FileSet(name)] with a [BuildElement(name)]. Here is an example if you want to see how it was done in the NAnt task (once anon cvs gets updated.): http://cvs.sourceforge.net/viewcvs.py/nant/nant/src/NAnt.Core/Tasks/CopyTask.cs?r1=1.29r2=1.30 --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] FYI
Stefan, just to clarify, not that I am involved with Microsoft marketing and distribution for the .Net Framework, but I think the plan is to roll MSBuild (engine and some basic tasks) into the framework distribution (but probably not into the Base Class Libraries that are defined in the public ECMA spec). This would effectively mean that it is part of the .net core, but not a public api. I too would consider general patents on the ideas of a xml build tool, with specific technologies like tasks, xml reading and mapping to those tasks, workflow and such, as a major problem, and somewhat scary. I can't say I'm in any position to fight these possible patens legally, but I too would think that there are plenty of examples of prior art in (N)Ant. - Original Message - From: Stefan Bodewig [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, November 04, 2003 12:52 AM Subject: Re: [nant-dev] FYI Hi, as you are new to this list, Alex, let me introduce myself to you quickly. I'm not a NAnt developer, but rather - a bit like you - a visitor from a very similar product. I'm one of the developers of Apache Ant, the product that inspired NAnt's birth. On Mon, 3 Nov 2003, Alex Kipman [EMAIL PROTECTED] wrote: From: Scott Hernandez [mailto:[EMAIL PROTECTED] Do you know if microsoft has any submitted or ourstanding patends on the technologies included in the MSBuild stuff? This is a tricky question but I'll do my best to answer it openly and honestly :). 1) Microsoft has submitted and has some outstanding patents on technologies included in the MSBuild engine (core platform stuff). Forgive me, but this sounds a little scary to me. In particular as I'm German and don't know too much about US patent law. I understand that you cannot go into details, but I assume that core platform stuff is just that, core .NET stuff. If Microsoft was going to patent things like the dependency checking inside the MSBuild execution engine or how tasks get registered, instantiated, configured from XML and all that, this would certainly affect NAnt and Ant - although I'm sure that whatever NAnt or Ant do would easily be considered prior art here. I want to thank you for being here, Alex. Cheers --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Expansion of properties in target descriptions
The projecthelp uses xsl templates to transform the source document (build file) without doing any includes (or actually running any tasks; like property/). This makes it pretty useless in many cases. At this point I think we need to re-write the projecthelp stuff to load the document, run (the include/ tasks only?) global tasks, and then provide help about the build file. The expansion of properties is done in the objects not the xml doc. The xml doc should not be touched during the xml reading process as tasks and elements are created in the nant project. Look at Element.InitializeElement(...) to see how the xml is loaded and properties are expanded. Adding support for included files and property expansion is something we should really do. I think this is a great idea. You would probably need to do something similar to Project.InitializeProjectDocument by looping through and running the property/ and include/ tasks, and then this is where things get complicated. Since there are tasks like if/ and foreach/ that could change properties and loop through a directory to include multiple build files, it gets complicated what you should run, and should not, to get an accurate summary of what is being included in the buildfile. The good thing about the include task is that it can only be used at the project level. Well, I hope that helps. I'm working off no sleep and a crazy night, so let me know if you need any more info. :) - Original Message - From: William E Caputo [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, October 31, 2003 11:06 AM Subject: [nant-dev] Expansion of properties in target descriptions Hi All, I realize this is not implemented, and I am not even sure if it should be, but I was wondering if someone could point me in the right direction for figuring out if it easily could be done. As near as I can tell, projecthelp is extracted using an xslt that is executed completely independent of the parsing of targets. So, the three things I am trying to determine right now are: 1) Where in the code are the properties expanded into their values for use in tasks? 2) Would doing this before transforming for projecthelp be of any value, or (as I suspect) is it done in the parsed data, and so would have no impact 3) What would need to be done to change projecthelp to work off of the parsed target information (assuming again that this includes the description). If anyone can save me a bit of time by pointing me at the right classes to look at so I can find the answers, that would be much appreciated. Also, if it turns out to be feasible, is this something that the nant team would be interested in having, or is this considered counter to the design goals of the tool in some way? Best, Bill William E. Caputo ThoughtWorks, Inc. http://www.twelve71.com/caputo/ Continuous Integration: Watchin' the hella tech ta' boost da' shiggety shiggety shwa. --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] replace task
Yep. We have discussed supporting the replace task but have opted to wait until we implement filterchain/filterset functionality in the core. This is on the list of things to get in there, but it will probably be a release or two away;it will be in the 1.0 release for sure :) Maybe we should include this task in the NAntContrib project until we implement support in the core tasks? It is immediately useful. - Original Message - From: Wenig, Stefan [EMAIL PROTECTED] [snip] How are the chances that the core team implements Ant-like filter tasks (which have to be supported by the copy task, version control tasks etc, so contributing this is not an option, right?) --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] new docs
Yep, should be fixed in cvs. Thanks. - Original Message - From: Martin Aliger Hi, one other (minor) error in new docs: http://nant.sourceforge.net/nightly/help/tasks/available.html contains line type enum The type of resource which must be present - either , , or . True all enums values are lost somewhere.
Re: [nant-dev] Expression Support
Mitch, If anything, I would think that the xpath expression language would be a good start. I'm not sure if I would want an expression language included with nant though. This could however be an addin, or extension. Adding expressions (as we have discussed before) seems to me to be just one more complicating feature for NAnt. I would like to think we will target simple and stable for the first release. But hey, I'm open to ideas like this. There are plenty of places where a feature like this would be cool, but then again, there are other ways to do this too. I wouldn't want there to be too many ways to peel this onion :) Good ideas Mitch, keep them coming. I think your idea of defining this feature more is important before we want to allow, or even be ready to see, a patch for this. Here is an interesting discussion about this exact topic: http://www.mail-archive.com/[EMAIL PROTECTED]/msg00631.html If I remember correctly Gerry actually did work on implementing this. - Original Message - From: Mitch Denny [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, October 27, 2003 1:23 PM Subject: [nant-dev] Expression Support Hi folks, I'm wondering if anyone has looked into building expression support into NAnt. For example, it would be cool to be able to do this: echo message=Hello World! unless=mood == 'bad' / I've been doing some digging and it looks like the path of least resistance for implementing something like this would be around the ExpandProperties method of the PropertyDictionary - so before the validators kick in, because they would reject an expression like this, so it needs to be evaluated before then. All I need now is a good pattern for expression parsing and evaluation :) --- This SF.net email is sponsored by: The SF.net Donation Program. Do you like what SourceForge.net is doing for the Open Source Community? Make a contribution, and help us add new features and functionality. Click here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] userdoc changes
Yep. The caching issue is actually on my machine though. That is where the new files are. I guess the sf.net cache hasn't been updated by me; since that is a manual process :) The nightly build has the latest changes, but it failed last night because of sf.net connection problems. - Original Message - From: Clayton Harbour [EMAIL PROTECTED] [snip] I've changed the required attributes to use bold names instead of the whole line being red. Would this mean that the item and property attribute would not be red? They still look red for me so if they have changed it may be a caching issue on my end. --- This SF.net email is sponsored by: The SF.net Donation Program. Do you like what SourceForge.net is doing for the Open Source Community? Make a contribution, and help us add new features and functionality. Click here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] nant.build output directories
I'm planning on changing the output directory to include the framework and platform before the version. The current style is "build\nant-0.8.4-debug" and the new style would be "build\net-1.0.win32\nant-0.8.4-debug"; with the bin directory moving one level deeper. Does anyone have any problem with this kind of change? It would help when building different versions of nant on the same system. It may be a little overkill (I don't like too many levels of nesting), but as I'm trying to build nant for ms.net (1.0,1.1, etc.)and mono it is a little confusing when things should be built and what version I last built. Later, Scott PS. If I don't hear any arguments in the next day, please look out for this change. Be aware that the bin folder is moving. :)
[nant-dev] userdocs
Hi all, I am in the process of making more changes to the userdocs. In the past we had referred to the userdocs (at leastin the buildprocess)as the task references. But now I'm changing everything so that the whole website (doc cvs folder plus ndoc userdocs) will be included in the nightly/help dirand when building userdocs. Also,I am removing duplicate files (like images andstylesheets)and fixing up the associated links. The next part of the cleanup is to rename the fog* files tomore appropriate file names based on their content; this should happen once the other stuff is done. If anyone would like to help, please let me know. I also want to move a lot of the content around in these files and possibly push some stuff into xml files to be included in the userdoc xml doc comment generation. There is not much sense in keeping some of the documentation in html when we can move it to xml and merge it with the xml doc comments. It just keeps them out of sync and harder to maintain. Does anyone want to be the documentation maintainer? Once I clean up the directory structure, filenames and doc generation, there will be a chance for someone to take over and maintain (and fix up) our documentation going forward.
Re: [nant-dev] Upgraded then Downgraded and It won't work anymore
Eric, can you give us a list of the steps of how you upgraded and went back? Did you just unzip the distribution to a directory? Are you sure you are using the version of nant you expect? Can you check your path for other copies of nant.exe? Are you running nant.exe from a network share? I have many version of nant on my system and always make sure to run nant.exe explicitly from the directory and distribution I want. You should be able to have as many side-by-side installation of nant as you want. Also, what version of the framework are you using. Are you using the pre-built version of the binaries (in the distribution), or have you compiled your own version? - Original Message - From: Eric Fetzer [EMAIL PROTECTED] To: NAnt Developers [EMAIL PROTECTED] Sent: Friday, October 24, 2003 11:41 AM Subject: [nant-dev] Upgraded then Downgraded and It won't work anymore Sorry for the long title, I was trying to be descriptive. I grabbed the latest nightly build and tried to use it. It didn't work for me, so I went back to NAnt 0.8.3 final again. Now for some reason it won't work. When I do a nant -help, I get: Unhandled Exception: System.TypeInitializationException: The type initializer for NAnt.Console.ConsoleStub threw an excepti on. --- System.TypeInitializationException: The type initializer for log4net.spi.LoggerManager threw an exception. --- Sy stem.Security.SecurityException: Request for the permission of type System.Security.Permissions.SecurityPermission, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed. at log4net.spi.LoggerManager..cctor() The state of the failed permission was: IPermission class=System.Security.Permissions.SecurityPermission, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyT oken=b77a5c561934e089 version=1 Flags=ControlAppDomain/ --- End of inner exception stack trace --- at log4net.spi.LoggerManager.GetLogger(Assembly domainAssembly, String name) at log4net.LogManager.GetLogger(Type type) at NAnt.Console.ConsoleStub..cctor() --- End of inner exception stack trace --- at NAnt.Console.ConsoleStub.Main(String[] args) I would extremely appreciative to anyone who could help me out with a fix. I'm supposed to be doing a build now. Thanks, Eric __ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com --- This SF.net email is sponsored by: The SF.net Donation Program. Do you like what SourceForge.net is doing for the Open Source Community? Make a contribution, and help us add new features and functionality. Click here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: The SF.net Donation Program. Do you like what SourceForge.net is doing for the Open Source Community? Make a contribution, and help us add new features and functionality. Click here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Upgraded then Downgraded and It won't work anymore
FYI: NAnt needs full trust under 1.1 because we use reflection. I'm not sure about 1.0 but I think you may find some problems if you don't have full trust. I'm pretty sure I tested this and read about it at one time, but if I'm wrong, please let us know. - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] To: Eric Fetzer [EMAIL PROTECTED]; Scott Hernandez [EMAIL PROTECTED]; NAnt Developers [EMAIL PROTECTED] Sent: Friday, October 24, 2003 2:46 PM Subject: Re: [nant-dev] Upgraded then Downgraded and It won't work anymore Go to: Start | Settings | Control Panel | Administrative Tools | Microsoft .NET Framework 1.1 Wizards and trust the assembly you want to run from the mapped drive. Or go to: Start | Settings | Control Panel | Administrative Tools | Microsoft .NET Framework 1.1 Configuration and play with code groups and security. Basically, you want to give more permissions (perhaps full trust) to applications loaded from mapped drives. Normally they are given restricted permission sets. --- This SF.net email is sponsored by: The SF.net Donation Program. Do you like what SourceForge.net is doing for the Open Source Community? Make a contribution, and help us add new features and functionality. Click here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] NAnt Task Docs
Hi Tim, There are two sources to the end user documentation that we ship. The first part is just html and is in the doc part of the cvs tree. These files can be edited manually. The Task List and Task Documentations files are generated during a build by using ndoc from the userdoc target of nant.build. As you may have seen, I am actually working on the format of those documents. All of the dynamic task documentation exists in the source code in the form of xml doc comments . If you look at the source tree (and any task in particular) you will find xml doc comments in front of each class (task) definition. There are xslt files that are used to transform these xml doc comments into html for the final presentation format. If you want any changes to the content of the task docs (like in exec.html or if.html) you should edit the xml doc comments section of the corresponding source file. Then when you run nant userdoc the html will be generated through ndoc and those xsl transformations. If you need any help with this process please let us know. The easiest way to accept changes to cvs is through a diff patch. This link provides information on getting information from cvs: http://nant.sourceforge.net/wiki/index.php/HowToBuildNAntFromCVS The only problems is that the anoncvs server's copies of the files is fairly old (+1-5 days I hear). While most xml doc comments don't change regularly, it is best to make sure that the nightly build docs match what you are editing. http://nant.sourceforge.net/nightly/help - Original Message - From: Tim Dallmann To: [EMAIL PROTECTED] Sent: Thursday, October 16, 2003 12:44 PM Subject: [nant-dev] NAnt Task Docs Hello, Late last week I conversed a bit with Gert about updating some of the task documentation for NAnt. (I'm one of those weird developers that actually enjoy documentation!) Before I started, I wanted to find out if there were any templates or tools being used to generate the task docs, or whether it's just a matter of manually updating the HTML. Thanks, Tim Dallmann See when your friends are online with MSN Messenger 6.0. Download it now FREE! --- This SF.net email is sponsored by OSDN developer relations Here's your chance to show off your extensive product knowledge We want to know what you know. Tell us and you have a chance to win $100 http://www.zoomerang.com/survey.zgi?HRPT1X3RYQNC5V4MLNSV3E54 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by OSDN developer relations Here's your chance to show off your extensive product knowledge We want to know what you know. Tell us and you have a chance to win $100 http://www.zoomerang.com/survey.zgi?HRPT1X3RYQNC5V4MLNSV3E54 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] userdoc changes
I have done a little work on the userdocs. I have made the following changes: 1.) Reworked the Nested Elements section to include inline docs for level 1 (it doesn't inline all docs down the chain, but just the first one) and links to the full docs 2.) Reworked the Attributes section reordering the properties and formatting based if they are required and are declared for the task, or from an ancestor. 3.) Documented support types that are used as Nested Elements of Tasks and Types. 4.) Separated Tasks, Types (globally declarable from DataTypeBase), and Elements into sep directories These are were serious changes to the process (how the information is generated at the code and xslt level)andweneed a long look for style and to make sure all the content is still there. I have put up a nightly build from the latest source. Please look at the new form of the docs here: http://nant.sourceforge.net/skot/help/and compare them to the nightly build http://nant.sourceforge.net/nightly/help/ Here is a good example of the changes: http://nant.sourceforge.net/skot/help/tasks/foreach.html http://nant.sourceforge.net/nightly/help/tasks/foreachtask.html Please feel free to correct any typos or mistakes in source control, or post a patch if you don't have commit access. I will be working more on this, and on creating some metadata classes to ease the development of looking at our task, type and element information. We need classes to help us with xml validation/loading, schema generation and documentation. Right now these processes all use the same type of code, but with significant changes, that may lead to differences (and probably already do) in our xml loading anddocumentation (html and xsd). Thanks, Scott PS. I wanted to get these change up earlier than later so we can discuss any additional changes before I finish coding :) PSS. There are some bad links on types.html that I already know about.
Re: [nant-dev] Licensing
Yes, this has always concerned me and is something I think we need to remedy on any future contributions. We need some kind of declaimer/license agreement that people submitting patches agree to. Then we can be free to make these kinds of changes without contacting a hundred people, or keeping track of each person who makes the smallest code change. For people who make small contributions (a few lines changed here or there) I'm sure they would be willing to hand over their copyright, whereas people who make large contributions should keep them. In a collaborative project like this it seems appropriate to have 5-15 (keeping the number small for manageability) copyright holders (who have made large contributions) who become the committee who decides license issues like this. Does anyone know if a scheme like this is possible and legal in the US? - Original Message - From: Stefan Bodewig [EMAIL PROTECTED] On Tue, 14 Oct 2003, Tom Jordan [EMAIL PROTECTED] wrote: IANAL If and when, Nant chooses to migrate to a different license, it will have to handle the copyrights of the contributers. IANAL either, but what you say is 100% the same that I've seen happen in similar cases for other projects. At least under US law, all OS contributors retain their copyright unless they've signed a license agreement or something similar. --- This SF.net email is sponsored by: SF.net Giveback Program. SourceForge.net hosts over 70,000 Open Source Projects. See the people who have HELPED US provide better services: Click here: http://sourceforge.net/supporters.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Licensing
All of these scenarios should be allowed, IMHO. - Original Message - From: Brant Carter [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, October 10, 2003 10:02 AM Subject: Re: [nant-dev] Licensing I think we should ask ourselves what types of uses we would want NAnt to be available to. Here are two scenarios. [1] A commerical company wants to release a custom task and charge money for it. Do we want to allow this? [2] A commerical company wants to distribute a customized version of NAnt as part of its software package (ie: A compiler company, IDE developer) and charge money for the entire package. Do we want to allow this? [3] A company creates a large software package that requires it to be built by the end customer. Are they allowed to distribute NAnt to do this? What if they modified NAnt in some way? brant --- This SF.net email is sponsored by: SF.net Giveback Program. SourceForge.net hosts over 70,000 Open Source Projects. See the people who have HELPED US provide better services: Click here: http://sourceforge.net/supporters.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Licensing
- Original Message - From: Matthew Mastracci [EMAIL PROTECTED] Ian MacLean wrote: Matt, what are your specific objections to a BSD style licence ? Is it the greater permissiveness or just that its not GPL ? My largest concern is not that a company can use BSD-code, but rather add core enhancements (ie: modifications/enhancements/bug fixes to the core code) and keep those proprietary. I personally don't mind people keeping peripheral enhancements to themselves (for example, someone wishing to build a proprietary link between their app and NAnt, an NAnt gui, etc.), but it's good to get things like bug fixes and the like back from people using the code. It is great to get bug reports (and esp. patches) back from users. If someone is going to do this I don't think it matters what license the software is under. I don't feel pressed to send code patches to groups based on the license. Sure, I may be bound by the license to do it, but no one is going to force me. Would changing the license from GPL keep you from contributing code, ideas and being an active member of the development team? Well if you consider that most users looking at using NAnt come from microsoft shops and have likely been exposed to/scared by the microsoft anti-GPL FUD. Compared to gcc users who are mostly all on Unix/linux or MaxOSX and are rather less fazed by that kind of thing. We have had a number of comments from consultants ( some from MS consulting ) and book authors that they would like to recomend NAnt to clients/corporations but had concerns about the license. Whether those concerns are valid is another issue however anecdotal evidence seems to suggest that this is a real concern for some people. I'd like to hear more from list members about corporate policy's regarding opensource usage and licenses. One other possibility I'd like to throw out these is keeping the core codebase under the GPL (or changing to the LGPL) and offering a business friendly binary distribution under a different license. This license could exclude any GPL viral terms that might be frightening off those with license concerns. If business users are concerned with using GPL'd executables this could possibly satisfy them. Those people looking to get the source could still grab the (L)GPL'd code from Sourceforge. This suggestion may not require a license change, but would likely require buy-in from the development group for the binary-licensed distribution. From a marketing point of view it is really good to keep a single license. The more license we use the more confusing the questions become. Going to a BSD/Apache style license is something we can evangelize and something to point to as a change in the project. We can get more people involved with NAnt if we have a less restrictive license. As Ian has pointed out, there is a lot of bad press around the viral affects of the GPL. Even if we do have a clause to lessen those restrictions, people will still react to the GPL part of the license and may not pay attention to the additional licensing clauses. I too lean more towards the LGPL license in some cases. In this case I look at what Ant has done under the Apache license. I don't see any problems they have run into (in choosing that license). If the Ant team had the option, now that they have been out there so long, I wonder if they would choose a sep. license for any reason. I wonder if there are times that they wish they could have stopped someone from doing something with another license. (I know that this is not an option as it is an apache project :) --- This SF.net email is sponsored by: SF.net Giveback Program. SourceForge.net hosts over 70,000 Open Source Projects. See the people who have HELPED US provide better services: Click here: http://sourceforge.net/supporters.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Bug Report
Yeah, or we could just create a page on nant.sf.net that details what to do, and use that url. Then we can always change the procedure without editing the source code. I'd also like to look into some kind of automated bug collection process. But that is much farther down the road. It would be something that a user could turn on that does what the windows error reporter does. It would be a setting which would cause the user to be prompted to send the bug report automatically to the sf.net site so we could get a full stack trace/error info and info about the running version and environment. - Original Message - From: Clayton Harbour [EMAIL PROTECTED] [snip] Also I was wondering what the consensus out there was about changing the error message from: Please send bug report to [EMAIL PROTECTED] To something like: Please submit a bug report to http://sourceforge.net/projects/nant Or Please submit a bug report to http://sourceforge.net/tracker/?group_id=31650atid=402868 --- This SF.net email is sponsored by: SF.net Giveback Program. SourceForge.net hosts over 70,000 Open Source Projects. See the people who have HELPED US provide better services: Click here: http://sourceforge.net/supporters.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] NAnt and Ant (was: Ready to tackle next release)
I would say that we should just leave the old code licensed under the old license (not change any prev. distribution that is). Then we will go forward with the new releases under the new license (since we are still pre-1.0). At this point the copyright holders number just a few. I feel like we should probably keep this number down, but above 1; we really need to keep good track of who these people are, and how to contact them just for these types of reasons. As for libs that are gpl'd, I think we can get around this. It just means we need to remove it from the dist and require a sep download from the real source. There are a few other small changes so we don't step over our license boundaries, but I think it manageable. - Original Message - From: Philip Nelson [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, October 08, 2003 10:50 AM Subject: Re: [nant-dev] NAnt and Ant (was: Ready to tackle next release) Well, to be honest : I don't have a clue ... That's perhaps why we're still stuck with the GPL license :-) I am pretty sure the copyright holder can do whatever they want, so long as they aren't bound to the gpl by other source code or libraries in the application. NAnt may be bound to the gpl because of things like the sharpcvslib. There's also the issue of source code that may have been copied. Does anybody know where all the source comes from? I did have a quick look at the licensing stuff, and to me it seems like a BSD-style license is the most open license ... I would summarize it as do want you want with this code, and you can't sue me with an unwritten correlary of I don't want your crummy enhancements to my code. It is definately my preference to use BSD or Apache licenses. --- This SF.net email is sponsored by: SF.net Giveback Program. SourceForge.net hosts over 70,000 Open Source Projects. See the people who have HELPED US provide better services: Click here: http://sourceforge.net/supporters.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] filterchains/sets other was: [Fwd: Ready to tackle next release]
I'd vote +1 on using filterchains and -1 on filtersets. It seems like with the right combination of standard filterchains we can replace the functionality of filtersets all together. - Original Message - From: Gert Driesen [EMAIL PROTECTED] Sent: Tuesday, October 07, 2003 11:19 AM Subject: Re: [nant-dev] filterchains/sets other was: [Fwd: Ready to tackle next release] - Original Message - From: Ian MacLean [EMAIL PROTECTED] I think I need to read up on filterchains a bit more. Is the functionality of filterchains a superset of filtersets ? Yes, filtersets are in fact very limited as they only support token replacement. It should be possible to use the same type discovery mechanism we now use for Tasks and referencable elements to discover filterreader classes in a given assembly. Or somthing similar using attributes. Yes, the discovery mechanism shouldn't be all that hard. Should I comment out the filterset code in the copy and move tasks to prevent users from using these until we've decided if we'll replace it by filterchain support (shortly) ? --- 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
Re: [nant-dev] NAnt Designer Support
I would be interested in this if it could be included without altering the core code (much). What do you think the nantdesigner would look like? What benefits would this really give? It sounds like an interesting idea, but don't the vsnet addin, nantpad and other tools supply this type of support already? Why go with Designer stuff? I'm interested in hearing more... :) - Original Message - From: Mitch Denny [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Sunday, September 28, 2003 3:50 PM Subject: [nant-dev] NAnt Designer Support Hi folks, I'm sure most of you are aware of NAntpad by Anthony Brown. Well, his work has gotten me thinking about designer support in NAnt and whether it would be feasible to try to do it in NAnt. We could define a designer factory which would spit out the UI classes depending on what platform NAnt was being used on (since WinForms isn't everywhere). You could hook up the designer factory to each task. [NAntDesigner(typeof(NAnt.Core.Tasks.Design.XmlPokeTaskDesigner)] public class XmlPokeTask : NAnt.Core.Task { ... } To get some level of reuse in the designers, the designer attributes could also be marked against individual properties. I see this being useful for things like a regular expression builder, XPath expression builder and elephant in the living room example - file/directory browser. Reason: One of the most common complaints I hear about NAnt is that its too hard to use, even though it oozes power and flexibility. A lot of people run with Visual Build from Kinook (another fine product), but I think some kind of designer support would give NAnt the edge. --- 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
Re: [nant-dev] NAnt Designer Support
I'm not sure what user experience this would provide. What kind of designer would the nant stuff look like? Would it be like the xsd editor, or database schema editor, with something like a flow diagram of tasks? Would it be a buff'd up tree control, like the vsnet addin is now? I understand that having a designer based solution would allow for much more flexibility and extensibility in the future, but it seems a little much considering we are working on getting a 1.0 release of the core functionally out. I'm really interested in hearing how this stuff would work, and who this is targeted at, but I just don't think I see it yet. - Original Message - From: Mitch Denny [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, September 29, 2003 4:31 AM Subject: RE: [nant-dev] NAnt Designer Support Hi Scott, We wouldn't need to modify the existing code base much other than decorating tasks (and sometimes their properties/attributes with attributes. The idea behind the design time attributes is not to create a tool inside the NAnt distribution itself, but rather support the development editors like NAntpad. Kinda like the way the component designer features in the .NET framework work in VS.NET and WebMatrix. The design time tool would reflect over the task class libraries looking for classes decorated with the designer attribute. When a task is selected from a build file the type pointed to by the designer attribute is created and a method is invoked which returns a UI object which can be used to build the XML node. This creation method would have some contextual information passed to it like which OS/UI toolkit it needs to support. If the designer doesn't support that environment then the tool (e.g. NAntpad would gracefully downgrade to its basic capabilities. --- 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
Re: [nant-dev] NAnt Designer Support
I'm not sure what user experience this would provide. What kind of designer would the nant stuff look like? Would it be like the xsd editor, or database schema editor, with something like a flow diagram of tasks? Would it be a buff'd up tree control, like the vsnet addin is now? I understand that having a designer based solution would allow for much more flexibility and extensibility in the future, but it seems a little much considering we are working on getting a 1.0 release of the core functionally out. I'm really interested in hearing how this stuff would work, and who this is targeted at, but I just don't think I see it yet. - Original Message - From: Mitch Denny [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, September 29, 2003 4:31 AM Subject: RE: [nant-dev] NAnt Designer Support Hi Scott, We wouldn't need to modify the existing code base much other than decorating tasks (and sometimes their properties/attributes with attributes. The idea behind the design time attributes is not to create a tool inside the NAnt distribution itself, but rather support the development editors like NAntpad. Kinda like the way the component designer features in the .NET framework work in VS.NET and WebMatrix. The design time tool would reflect over the task class libraries looking for classes decorated with the designer attribute. When a task is selected from a build file the type pointed to by the designer attribute is created and a method is invoked which returns a UI object which can be used to build the XML node. This creation method would have some contextual information passed to it like which OS/UI toolkit it needs to support. If the designer doesn't support that environment then the tool (e.g. NAntpad would gracefully downgrade to its basic capabilities. --- 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
[nant-dev] xml buildfile stuff
Hi all, This is a reminder of some of the things we should remember when working with xml data in .net and specifically nant code. We need to use the namespace manager for all xpath expressions; use our nant prefix for all elements in xpath expressions. This is used in the following cases: XmlNode.SelectNodes(nant://elementname, Project.NamespaceManager) XmlNode.SelectSingleNode(nant://myelement[attribute='value']Project.Namesp aceManager) It is also appropriate to check the namespace of the element when iteratoring through elements without an xpath expression. Like in this case: foreach (xmlnode node in nodes) { //skip non-nant namespace elements and special elements like comments, pis, text, etc. if (node.Name.StartsWith(#) || !node.NamespaceURI.Equals(doc.DocumentElement.NamespaceURI)) { continue; } } (we can probably use a better (more efficient) test than node.Name.StartsWith(#), like node.NodeType == XmlNodeType.Element) The reason this is important is because the following docs are different and the later will cause problems with none-namespace specifies xpath queries. project name=foo target name=1/ /project nant:project name=fooya xmlns:nant=http://nant.sf.net/schema/nant.xsd xmlns=http://nant.sf.net/schema/nant.xsd; nant:target name=1/ target name=2/ /nant:project project name=fooya xmlns=http://nant.sf.net/schema/nant.xsd; target name=1/ /project This is not an nant problem, but an issue with the framework xpath and xml classes. It isn't a problem, but just the way the spec reads. I've climbed through the code to make these fixes, and am currently testing, but will checkin stuff soon. Test Note: I've also added some tests for many types of different build files. I have creates a dir in Core.Tests for build files that should be tested. Each file is embedded in the assembly and tested against nant for validity. Please feel free to add more files as cases come up. It is also an easy place to put static build files to test. --- 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
[nant-dev] NAntSchemaTask under construction
I have updated things a little bit, but handling of arrays and collections is not ready yet. I hope to get changes in by the end of the week. I had really hoped to get stuff working before I hit the road, but oh well. :) --- 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
[nant-dev] declarative security
I'd like to start littering our code with declarative security statements. It would be good to start to lock down what nant needs from a security point of view so we can easy make a statement like our code is secure. Does anyone have much experience with .net declarative security and the best approach to the goal of making a statement like our app is secure. Or at least be able to identify the unsafe (with respect to security) sections of code that need special permissions. I would like to see 3rd party tasks follow some security guidelines as well. We run pretty liberal right now with access to reflection and other internal access in the framework I would guess. --- 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
[nant-dev] Re: declarative security
Looks like the interesting things to demand are: UIPermission, RegistryPermission, ReflectionPermission, FileDialogPermission(?), FileIOPermission and EnvironmentPermission. With FileIO stuff we will probably need to demand access to parts of the filesystem in code as we don't know ahead of time what we need access to, and probably shouldn't demand all access. Thus we will not be able to use declarative security with FileIOPermission stuff with a demand or assert. Comments are welcome. I would love to hear comments and suggestions from anyone who has built projects that use .net security stuff. - Original Message - From: Scott Hernandez [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, September 19, 2003 2:43 PM Subject: declarative security I'd like to start littering our code with declarative security statements. It would be good to start to lock down what nant needs from a security point of view so we can easy make a statement like our code is secure. Does anyone have much experience with .net declarative security and the best approach to the goal of making a statement like our app is secure. Or at least be able to identify the unsafe (with respect to security) sections of code that need special permissions. I would like to see 3rd party tasks follow some security guidelines as well. We run pretty liberal right now with access to reflection and other internal access in the framework I would guess. --- 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
Re: [nant-dev] New task: cat
Sascha, I guess I have this question... Should both these functionalities be combined in a single task? Why not just support two sep. tasks. concat ... .../ / filter .../ That leaves the choice to the user about what they want to do. They can mix and match anyway they want. - Original Message - From: Sascha Andres [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, September 17, 2003 1:15 PM Subject: Re: [nant-dev] New task: cat Hi, * Sascha Andres wrote on 17.09.2003 (21:56): Perhaps it's time to move it to NAnt.Core? I'll have a look, and see what needs to be done to implement the filter I mentioned earlier. After that, I'll post a patch for that one. I had a look at the concat task. The concat task uses a FileStrem to read and write. So it can handle binary files as well as text files. It has one caveat to transfer this way: It makes it hard to work with a filter using regular expressions. I see the following possibilities: * Add a filter attribute. If set use a StreamReader / StreamWriter combination. I don't really like this one, as this sounds like bad design. * Drop the filter idea. I think a filtering task would be nice to have.- At least when it's done with the power of regular expressions. * Use concat as a binary save cat, rename my cat task to something more regex specific, but leave the cat functionality. Add fileet support, make filter not optional. What do you think? --- 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
[nant-dev] Build server back up.
The build server I had been running at my old apartment had some power problems a few weeks ago (and was intermittent for a while before then because of changes to the cvs tree and sf.net problems). I have since returned home for a little while and brought it back to life. Nightly builds should be kicked off again from the anon-cvs server now. Gert has also made some good changes to the nightly build file to create some new structure in the nightly builds. I will let him explain that after we have finished testing. :) --- 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
Re: [nant-dev] NAnt and Serviced Components
Hi all, I have been away from development for the last 4 months or so, and may be a little longer still. I hope to have a few weeks, or months, of time back to catch up with stuff before I take off again. I feel really out of things will all the great improvements and changes that have happened recently. John, I completely agree that deployment is an area that most people don't get to till the end. This usually leaves it in a less then usable state, and sometimes hacked from a lack of planning and poor tools. These tasks you are talking about sound great, esp from a daily/hourly build and test point of view, let alone live deployment. Please see my comments and questions inline below. - Original Message - From: John Lam [EMAIL PROTECTED] To: NAnt developers (E-mail) [EMAIL PROTECTED] Sent: Tuesday, September 02, 2003 9:26 PM Subject: [nant-dev] NAnt and Serviced Components Hi Folks, I just want to get an update on who's working on what in NAnt. I took a quick peek at the sources for NAnt/NAntContrib and it looks like there's a bit of room left for improvement. But I just wanted to ping the list to make sure that there aren't folks already working on these things and to check to see if I missed something in my quick peek at the sources. One of the major problems in a build is the deployment phase. Here are a few deployment-related tasks that I'm itching to build to solve some of these problems: 1) A server happiness task that lets you snoop around on the server to see what's there. Looking for what exactly? More information is good, but what would it do? 2) An Enterprise Services task that generates the appropriate COM+ catalog goo. 3) An extension to the AssemblyInfo task to generate all of the appropriate Enterprise Services goo. 4) Some combination of tasks to handle the delay-signing problem (I still have to think this one through). 5) A deployment task that auto-generates passwords for new accounts, and makes them available to other NAnt tasks for the duration of NAnt run - the idea here is to let you create new accounts and set the RunAs attribute in a COM+ application - but I'm sure the utility could be extended to other things that require generated passwords. This is a cool idea. It would also be cool to be able to do stuff to remote machines in a lot of these tasks. 6) A SQL task that lets you whack / set ACL's on SQL server objects. 7) A modification of the existing SQL task that lets you run osql using integrated authentication and the specified username / password combination. Can folks suggest additional tasks required for deployment of ASP.NET applications based on their own experiences? I'll add them to my list. I would also suggest a tool for managing/starting/stopping webs (not the whole w3svc service but just individual webs and applications). This would have to affect COM+ catalogs. --- 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
Re: [nant-dev] Latest build not working?
+1 - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Erick Thompson [EMAIL PROTECTED] Cc: NAnt developers (E-mail) [EMAIL PROTECTED] Sent: Tuesday, September 02, 2003 7:36 PM Subject: Re: [nant-dev] Latest build not working? Erick, I'd prefer to change the nant vs projects to not build and just use the nant.build to build everything. You can still edit and debug from vs.net but maintaiing two build processes is a major PITA and doesn't gain you anything. Ian I think I've figured out why it isn't working, but not how to solve it. The projects that have a mix of copylocal=true and copylocal=false for references. If I close VS.NET and clean the output bin folder, the solution builds cleanly. If I don't, I get a file locked problem on the compile of NAnt.Core, which then causes problems everywhere else. I've tried setting all the copy locals to false, but there is still a conflict somewhere. Is there any particular reason why these are set to copy local? I've never had anything but problems using copylocal=true, and haven't found any advantage to it at all. Erick -Original Message- From: Erick Thompson Sent: Tuesday, September 02, 2003 12:08 PM To: NAnt developers (E-mail) Subject: [nant-dev] Latest build not working? I downloaded the August 31th build from nant.sourceforce.net/builds, and opened the sln file in VS.NET 2003. Everything opens correctly, but it doesn't seem to be building correctly. I'm getting a whole slew of missing reference errors, missing file errors, and a locking error. Should I be able to compile NAnt in VS.NET 2003 right out the zip? Thanks, Erick --- 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 --- 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 --- 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 --- 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
Re: [nant-dev] Latest build not working?
You can set vs.net to start an external process when debugging. This will start the recently built nant with the current solution. Breakpoints and such will work as expected. That is the config I believe that Ian is suggesting. - Original Message - From: Erick Thompson [EMAIL PROTECTED] To: Ian MacLean [EMAIL PROTECTED] Cc: NAnt developers (E-mail) [EMAIL PROTECTED] Sent: Wednesday, September 03, 2003 11:40 AM Subject: RE: [nant-dev] Latest build not working? Ian, I might be missing something, but I'm not seeing how I can debug from VS.NET while building with NAnt. Actually, I do see a way (attach to process), but it seems like a real hassle. Build, along with some pause code to give me time to time to attach, execute, attach debugger and work from there. Is would work, but it slow. Is there a better way that I'm not seeing? Thanks, Erick --- 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
RE: [nant-dev] Nightly builds
quote who=Mark Griffiths Scott, does your current build server log into CVS using pserver or ssh? It seems that pserver access is intermittent at the moment. -Mark Anon cvs, but it running under my account which would work for ssh access. Later in the build process files are scp´d to the sourceforge servers. All that would need to change is the cvs string in the config. --- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa0016ave/direct;at.asp_061203_01/01 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Nightly builds
Just let me know when I should shut down the current build server. It is still working as far as I know. :) quote who=Gert Driesen If no one else volunteers, I'll look into it. On Mon, 2003-06-30 at 21:07, Geurts, James wrote: Hey everyone. I'm sorry that I have not been able to get this working. I have been too busy lately and do not see myself having the time to get it working properly any time soon. If someone would like to take this task over, that would be appreciated. Jim --- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa0016ave/direct;at.asp_061203_01/01 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Re: [NAntC-Dev] NAntContrib update was ( Updating Nant-Contrib to latest Nant)
The other problem we will have, that we haven't really addressed, is in describing the dependencies of some of the tasks. Take the MSI tasks as an example. There is a lot of stuff that needs to be installed to actually use it. It might be best to introduce the idea of a dependencies/requirements section in the documentation of each task. With so much need for external executables, or COM objects, in our tasks it is really hard to see what is needed sometimes at runtime. It seems like we can change the nant behavior to look in bin/tasks/**/*tasks.* for any tasks. Then we can just distribute any optional tasks with nice directory names there. It would keep things a little cleaner than putting everything is bin. - Original Message - From: Mike Roberts [EMAIL PROTECTED] Ian - you're a star - thanks! (and thanks for letting us know before I was going and do the same thing for some of the tasks. :) ) re: directory tree / namespaces. My own take is that tasks that have binary dependencies outside of NAnt at least at compile time (e.g. StarTeam with its interop requirement) should go into an optional directory, but that there's no harm in other tasks being merged into the main NAnt tree (e.g. I would make GacTask 'Nant.DotNet.Tasks.GacTask' in nant/src/NAnt.DotNet/Tasks and StarTeamTask 'Nant.Optional.SourceControl.Tasks.StarTeamTask in (maybe) nant/src/NAnt.Optional/SourceControl/Tasks). If the task help index page starts getting cluttered, we can always make it categorized based on namespace, and then alphabetical. In terms of how this is packaged into binaries, I think the main NAnt release could be everything apart from NAnt.Optional. The optional tasks could be a separate download and if required dropped into Nant/bin as normal (yes, its cluttered but will only be there if people need it, and it removes the need for sub-directories and multiple paths) ... but both of these things are minor - the fact that a lot of these tasks are going into NAnt at all is the main thing so thanks again! [snip] --- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa0016ave/direct;at.asp_061203_01/01 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] NAnt 0.8.2-rc2 available
I've pulled rc1 so no one accidentally uses it. - Original Message - From: Matthew Mastracci [EMAIL PROTECTED] To: Nant-Developers (E-mail) [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Saturday, April 12, 2003 12:40 PM Subject: [nant-dev] NAnt 0.8.2-rc2 available The second release candidate for NAnt 0.8.2 is now available (0.8.2-rc2): http://sourceforge.net/project/shownotes.php?release_id=152495 Documentation is available at: http://nant.sf.net/help Give it a shot and send any bug reports to [EMAIL PROTECTED] If no major bugs are found in the next few days, a full release will follow. Here are the release notes: 0.8.2-rc2 April 12, 2003 * Fix for NUnit2 task using fileset. * Fix for fileset's includeList element. 0.8.2-rc1 April 12, 2003 * Logging cleanups: moved to log4net. * FxCop cleanups for correctness. * Support for multiple versions of .NET framework. * Changes to make NAnt more mono-friendly. * Updated SharpZipLib library. * Makes error reporting more accurate - gives line numbers for property expansion errors * Multiple test assembly support for NUnit2 task. * General speed-up for directory/file scanning. * Resgen file generation correctness fixes. * Added support multiple delimiters and string trimming to LoopTask's file line mode. * More support for CSC/VBC command-line options. Thanks! Matthew Mastracci --- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] original exception is discarded
I didn't mean to say it was a hack; just that in some cases we may only want the immediate error message. I didn't give a lot of thought to which changes I made might have been too verbose. I just converted things ToString(). - Original Message - From: Gert Driesen [EMAIL PROTECTED] To: Scott Hernandez [EMAIL PROTECTED]; Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Wednesday, April 02, 2003 9:49 AM Subject: Re: [nant-dev] original exception is discarded I agree that it's better to have too much info, but I don't it's a good idea to create temporary hacks ... I've seen all to many This is will need to be addressed before the final (1.0) release already ... and guess what we'll forget to do before the final release ... Unless we add this kind of stuff to a formal to-do list. --- This SF.net email is sponsored by: ValueWeb: Dedicated Hosting for just $79/mo with 500 GB of bandwidth! No other company gives more support or power for your dedicated server http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/ ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] [Nant-users] How to use nunit2 task (resend)
That assemblyname attribute is really a nunit assemblyname(FilePath). It really needs to be a full filepath to the file. I have updated the NUnit2Test to resolve the path relative to the project; resulting in a full path qualified string sent to nunit. This change will be in tonight's nightly build. (http://nant.sf.net/builds) If you could please test this and let me know if it helps that would be great. Thanks, Scott PS. I just kicked off a 'nightly' build, so you should be able to download the latest build to test this out right away. - Original Message - From: Anthony Francisco [EMAIL PROTECTED] To: 'Wang, Gang' [EMAIL PROTECTED] Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, April 02, 2003 9:58 AM Subject: RE: [nant-dev] [Nant-users] How to use nunit2 task (resend) This maybe silly, but instead of just giving a relative path to bestbuy.enterprise.tests.dll, try giving it a fully qualified path including the drive letter. This solved my problem. (See attached message.) [snip] --- This SF.net email is sponsored by: ValueWeb: Dedicated Hosting for just $79/mo with 500 GB of bandwidth! No other company gives more support or power for your dedicated server http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/ ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] MS Build Tools?
One would have to be BuildIt (from ms consulting) and other... I don't know. http://msdn.microsoft.com/library/default.asp?url=""> - Original Message - From: brian.nantz To: [EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 8:42 AM Subject: [nant-dev] MS Build Tools? I saw this post on another list serv. Does anyone else have any more info on this? There are 2 build solutions, one by the MS Consulting Group, and one from the folks in Redmond. Needless to say, but MS knows about nAnt, and both solutions cover similar functionality, but in different ways. They were also announced at the MVP Conference. Thanks, Brian
[nant-dev] SharpZipLib and an Unzip Task
I have updated the binaries to use the latest stand-alone release of SharpZipLib. I also added an unzip task.
Re: [nant-dev] Custom validators for enums
Gordon, I cleanup this code up last week. It now will run validators on all types; even on enums. - Original Message - From: Gordon Weakliem [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, March 12, 2003 2:16 PM Subject: Re: [nant-dev] Custom validators for enums This isn't a showstopper, just more of an observation. I was confused when I wrote a custom validator for an enum and was surprised when it didn't get called. Specifically, I was looking at demonstrating a custom validator for the tutorial on the Wiki (writing a task to manipulate Windows services), and I thought that I could use System.ServiceProcess.ServiceControllerStatus to indicate what state you wanted the service in after the operation completes. In this case, the only states that make sense are Running, Stopped, and Paused. I hadn't thought of creating a generic validator for any enum type, though that's an interesting idea too. I could go either way, but it should be documented that validators don't get called for enums. Also, I noticed the code is doing Enum.Parse instead of Convert.ChangeType, even though Enums implement IConvertible, and could theoretically use Convert.ChangeType. I tried changing Enum.Parse to ChangeType just for grins and got an exception, probably doable but requires more research to figure out. --- This SF.net email is sponsored by: The Definitive IT and Networking Event. Be There! NetWorld+Interop Las Vegas 2003 -- Register today! http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] readregistry task
The example is wrong. Remove the leading \ before SOFTWARE. I will fix this when I get back in a few days. quote who=Griffin Caprio Can anyone point me to what I am doing wrong here? I am trying to use the readregistry task: readregistry property=vs.dir key=\SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot hive=LocalMachine / --- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Patch to let LoopTask work with Filesets
I'm not very keen on mixing stuff into the foreach that leads to ambiguity. I'm not sure what the correct solutions is, maybe something like this: foreach property=foo type=File in fileset ... / in do !-- stuff -- /do /foreach So you can either use in as an attribute or element. And if you use the element form you must use a do. How does that sound? So the two valid forms would be: 1.) (how things work now) foreach ... !-- stuff to do -- / 2.) foreach ... in/ do !--Stuff to do -- / / - Original Message - From: Arjen Poutsma [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, March 20, 2003 8:22 AM Subject: RE: [nant-dev] Patch to let LoopTask work with Filesets I agree that there appears to be an ambiguity in the buildfile. However, since a FileSet is not a task, and only tasks are executed by foreach (since it is a TaskContainer), there is no real ambiguity. I also agree that this behavior could be made somewhat clearer by a special do subelement, though. A -Original Message- From: Matthew Mastracci [mailto:[EMAIL PROTECTED] Sent: Thursday, March 20, 2003 5:05 PM To: Arjen Poutsma Cc: [EMAIL PROTECTED] Subject: Re: [nant-dev] Patch to let LoopTask work with Filesets On issue with adding fileset support to the LoopTask is that you end up with ambiguity over what constitutes a subtask element. One possibility is to require a specific subelement for the subtasks - perhaps a do element. This message is from earlier this year: [snip] --- This SF.net email is sponsored by: Tablet PC. Does your code think in ink? You could win a Tablet PC. Get a free Tablet PC hat just for playing. What are you waiting for? http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: Tablet PC. Does your code think in ink? You could win a Tablet PC. Get a free Tablet PC hat just for playing. What are you waiting for? http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Formatting, #Regions, and CVS Keywords
Title: Message That would be pretty cool. Anyone who has time on their hands, please raise them... c'mon somebody has got to have some free time! I'd be happy to help too... :) - Original Message - From: Gert Driesen To: Jeff McManus ; Nant-Developers (E-mail) Sent: Friday, March 14, 2003 10:05 AM Subject: Re: [nant-dev] Formatting, #Regions, and CVS Keywords Or perhaps we can start porting http://checkstyle.sourceforge.net/to .NET :-)
Re: [nant-dev] NAntContrib download dead-end
Title: Message Yes, that was a relic from a very short release, which was laterpulled. It has been removed. NAntContrib will be released on sf.net. The tasks, will probably be released as a group, and the tools will probably get out one at a time. There may also be a complete release of all binaries, including the version of nant that is needed. The NAntContrib release is towards the top of my list. - Original Message - From: Jeff McManus To: Nant-Developers (E-mail) Sent: Friday, March 14, 2003 10:23 AM Subject: [nant-dev] NAntContrib download dead-end I am creating an organized central repository for the Swiss army knife of .NET tools like NAnt, and in doing this I noticed something a little odd about NAntContrib. When I go to the NAntContrib link on the NAnt home page, it takes me here: http://sourceforge.net/projects/nantcontrib Then I go down the page and click on the Download link, and I get this page: http://sourceforge.net/project/showfiles.php?group_id=54790release_id=110930 which tells me, there are no files for NAntContrib. I know you can get NAntContrib on nant.sourceforge.net (somewhere...right?), but the navigational dead end I ran into after following the above steps can't be right. Was it ever the intention to make NAntContrib available on sf.net? Or is this just some kind of transient error? -J.
[nant-dev] Formatting, #Regions, and CVS Keywords
I want to reformat all the filesand do the following: 1.) Wrap the license info at the top of the filein a #region, which will make editing with vs.net (and others I believe). 2.) Reformat all files removing tabs and following the guidelines in the nant coding conventions.(http://sourceforge.net/docman/display_doc.php?docid=6080group_id=31650). 3.) Insert cvs substitutionkeywords that will help build ahistory log in each file. (http://www.cvshome.org/docs/manual/cvs_12.html) (I will look into making this part of the xml docs for revision history.) So, beforewe go through this work, any one have any moreideas? If this doesn't happen now, I would like to see it happen before a .9 release. Is there anything else we should do (other than coding, code reviews, testing, and releases :) along these lines?
Re: [nant-dev] Substring?
Yes, none of the tasks I listed exist in NAnt yet. Go for it... :) - Original Message - From: Griffin Caprio [EMAIL PROTECTED] So, are you saying that it doesn't exist yet? I agree that a generic regex task would be much more useful than a more specific one. Shall I go ahead and claim the Regular Expression task? -Griffin --- Scott Hernandez [EMAIL PROTECTED] wrote: Griffin, Yep, something like the ant basename or dirname task? http://ant.apache.org/manual/CoreTasks/basename.html http://ant.apache.org/manual/CoreTasks/dirname.html I'd rather see a more generic regex task or something that can do string/file/dir ops. --- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Custom validators for enums
I don't think the result is confusing, but what type of validator would you want to run? I guess it is possible that a future EnumValidatorAttribute would limit the enum to only a few values. Can you describe a usage scenario? (or are you just commenting on how things should be?) - Original Message - From: Gordon Weakliem [EMAIL PROTECTED] Looking at SourceForge.NAnt.Element.InitializeAttributes(XmlNode), attributes backed by a property of type Enum don't have their validators run. My thinking is that you might use an existing enum type for convenience, but you'd want to further restrict the range of values that could be passed to your task. Or is that too confusing? --- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Directoryscanner issue ?
The builds were failing on the build server because the settings file stuff. There was a problem with how the settings file was found (using the incorrect path). With my changes to move the settings stuff into the config file this should no longer be a problem. I will update the binaries manually on the build server and restart the nightly task. - Original Message - From: Ian MacLean [EMAIL PROTECTED] Any idea why this error is occurring on the build server Scott ? Is the build failing on anyones local machines ? --- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Nightly Builds (WAS: Re: Directoryscanner issue ?)
That is also what happened with the build server (sort of). After a nightly build is done, the binaries are updated (on the build server). That means the next run use the latest binaries from the night before. Now, this should not be a problem, as we run the tests with this version of the binaries, but apparently there are some issues. The latest problem (from 3 days ago) was that the settings file was not be read from the correct place (because of the shadowcopy files), and failing when it wasn't found. The other problem is that draco isn't correctly detecting the failure. This has to do with reading the exit code correctly from nant. I believe that this problems has now been fixed in draco cvs tree and requires me to rebuild and deploy. I will do this later today. - Original Message - From: Ian MacLean [EMAIL PROTECTED] What happened is that Scott checked in new copies of the biniaries in nant\bin. Those binaries had your change. So it wasn;t until someone built Nant with those binaries that a failure occurred --- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] PATCH: Use fileset for NUnit
Sounds like a good feature... :) +1 (In general I'd be happy to see the write-up without the code. If there are any problems, they will come out in the tests, or from use. Other comments?) - Original Message - From: Matthew Mastracci [EMAIL PROTECTED] This patch adds support for running NUnit2 tests with a fileset source for assemblies. This allows you to specify: nunit2 test includesList name=tests.txt / /test /nunit2 to run all of the tests in test.txt. It still supports the old syntax. Any objections? --- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] PATCH: DirectoryScanner fix
+1, Please commit and people can try it out. I have no problems with bugs in a dev tree as long as we find them and fix them asap. :) - Original Message - From: Matthew Mastracci [EMAIL PROTECTED] To: Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Tuesday, March 11, 2003 9:48 AM Subject: [nant-dev] PATCH: DirectoryScanner fix This patch re-enables the behaviour I checked in earlier, but properly supports exclude paths. I wrote a number of exclude path tests in DirectoryScannerTest.cs to exercise a number of pieces of exclude behaviour, as well as running a test-build with this patch. Everything works well. The big problem with my earlier patch was that I wasn't adding the regex to the regexPatterns collection if we were ignoring it. I moved this line above the test for recursiveness and the problems went away. If people could give this a shot, that would be great. Thanks! :) Matt. Index: DirectoryScanner.cs === RCS file: /cvsroot/nant/nant/src/NAnt.Core/DirectoryScanner.cs,v retrieving revision 1.10 diff -u -b -r1.10 DirectoryScanner.cs --- DirectoryScanner.cs 11 Mar 2003 14:20:53 - 1.10 +++ DirectoryScanner.cs 11 Mar 2003 17:48:31 - @@ -171,7 +171,7 @@ // convert given NAnt patterns to regex patterns with absolute paths // side effect: searchDirectories will be populated convertPatterns(_includes, _includePatterns, true); -convertPatterns(_excludes, _excludePatterns, true); +convertPatterns(_excludes, _excludePatterns, false); for (int index = 0; index _searchDirectories.Count; index++) { ScanDirectory(_searchDirectories[index], (bool)_searchDirIsRecursive[index]); @@ -184,17 +184,19 @@ /// /summary /// param name=nantPatternsIn. NAnt patterns. Absolute or relative paths./param /// param name=regexPatternsOut. Regex patterns. Absolute canonical paths./param -/// param name=isIncludeIn./param +/// param name=addSearchDirectoriesIn. Whether to allow a pattern to add search directories./param /// history /// change date=20020221 author=Ari HännikäinenCreated/change /// /history -public void convertPatterns(StringCollection nantPatterns, StringCollection regexPatterns, bool isInclude) { +public void convertPatterns(StringCollection nantPatterns, StringCollection regexPatterns, bool addSearchDirectories) { string searchDirectory; string regexPattern; bool isRecursive; foreach (string nantPattern in nantPatterns) { parseSearchDirectoryAndPattern(nantPattern, out searchDirectory, out isRecursive, out regexPattern); -if (!isInclude) +if (!regexPatterns.Contains(regexPattern)) +regexPatterns.Add(regexPattern); +if (!addSearchDirectories) continue; int index = _searchDirectories.IndexOf(searchDirectory); // If the directory was found before, but wasn't recursive and is now, mark it as so @@ -208,8 +210,6 @@ _searchDirectories.Add(searchDirectory); _searchDirIsRecursive.Add(isRecursive); } -if (!regexPatterns.Contains(regexPattern)) -regexPatterns.Add(regexPattern); } } --- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] 0.8.2 release + Solution builder question
+1 on release. Where do you plan on putting the vsdotnet stuff? src/VS.Net? - Original Message - From: Matthew Mastracci [EMAIL PROTECTED] To: Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Tuesday, March 11, 2003 1:16 PM Subject: [nant-dev] 0.8.2 release + Solution builder question Anyone object to releasing 0.8.2 in the next few days? There are a number of nice fixes that went into it that would be great to have in the main distribution. Also, I'm wondering if anyone would mind if I started adding the VS.NET solution builder code to the NAnt CVS tree. It reliees heavily on up-to-date code within NAnt (it uses a large number of core NAnt tasks), so putting it in NAntContrib would be a nightmare to maintain. I think it's getting close to the point where it can stand alone, and a lot of people interested in using/contributing to it. Matt. --- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Substring?
Griffin, Yep, something like the ant basename or dirname task? http://ant.apache.org/manual/CoreTasks/basename.html http://ant.apache.org/manual/CoreTasks/dirname.html I'd rather see a more generic regex task or something that can do string/file/dir ops. - Original Message - From: Griffin Caprio [EMAIL PROTECTED] Is there any easy way to get the substring of a property? For example, I an iterating over a directory of xml files. I would like to extract the filename, without the .xml extension, and use that as the output of a xslt transformation. Here is the target from my build file: foreach item=File in=${xml.dir} property=filename style style=${xsl.dir}/StyleSheet.xsl in=${xml.dir}/${filename}.xml out=${html.dir}/${filename}.html/ /foreach Any way to do this or do I smell a new task coming on? --- This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Newbie question
Dan, No problem with the cross post. If you can't get an answer, there is every reason to try again someplace else. :) You can call NAnt directly (via the Project class), but NAnt will shell out and call the compiler executables. So, your code will not call out via the process object, but ours will. If that is fine with you, go for it. You may wish to look at draco(draconet.sf.net)as a continuous/automated build service. It isn't a web service, but can build nant/vs.net projects based on changes to the source tree, or via scheduled tasks. On the wiki (nant.sf.net/wiki)there are some new pages which address the issue of a build server, and make comments about their uses. Sorry for the delay on a response, Scott - Original Message - From: Dan Williamson To: Nant-Developers (E-mail) Sent: Thursday, March 06, 2003 2:45 AM Subject: [nant-dev] Newbie question I need to create a web service based build tool for my company. I have already done the VB6 / C++6 side of the equation, painfully and usingquite a brutal method. I need now to add .NET projects to my autobuild web service. Can I use the NAnt code directly from my .NET web service to compile other .NET projects? I am not able to call out to the compiler via the process namespace, it must be implementedwithin my existing project. I think I can, and I can use slingshot or the XSL method (both taken from the wiki - thx) to create the NAnt build config files. I am just a little hesitant to invest the time if there are unforeseen showstoppingissues that suddenly appear. Also, if this has been done by anyone else it would be very useful to have some *very* basic pointers. Many thanks for help withwhat I am sure is a really obvious question. :) -- This has been cross-posted from NAnt-users as I got no response there.
Re: [nant-dev] proposal : change to if task behaviour
The if task has 2 properties to handle what you are describing. One is "propertyexists" and the other is "propertytrue". So, the following is what you want I think. (I have updated the source so the existence check is done before the true check. It is an AND operation if both are used.) if propertyexists="propName" propertytrue="propName" / This is what should happen. No exceptoin should be thrown, ever. if propertyexists="propName" / An exception may be thrown if exists check isnot done first. If we end up changing "not true" == false for all properties (ie null/false == false) then this should change too. if propertytrue="propName" / I still think there is a big difference between propertyexists and propertytrue. Take this example: property name="output.dir" value="run1output"/ ... !-- ifnot is an if with a !result returned -- ifnot propertyexits="output.dir" / or property name="setup.dir" value="setupfiles"/ ... if propertyexists="setup.dir" call target="make.setup"/ / - Original Message - From: Gert Driesen To: [EMAIL PROTECTED] Sent: Thursday, March 06, 2003 8:35 AM Subject: [nant-dev] proposal : change to if task behaviour Hi, I'd like to change the behaviour of the if task : right now, the if task throw a buildexception when you use the propertyexists check and the property does not exist. I'd like to change this behaviour to the following : propertyexists is true when the property exists AND is true propertyexists is false when the property does NOT exist OR the property is false What do you guys think about this proposal ? Thanks, Gert
Re: [nant-dev] reading property values from external file
Yes, we plan to support loading properties from an xml file, and/or some other configuration location. This has not come up, and nobody has done any work on this, as I remember. I expect when we have a way of specifying configuration info there will be a place to set global/default properties. We will need to address user/system/project properties. With the proposed changes to foreach you should be able to specify something like the following: foreach item="Line" in="properties.csv" delim="," property="x,y" property name="${x}" value="${y}"/ / where properties.cvs is prop1, value prop2, value I'm fine with comparing ant and nant features. I'm surethe ant team, and their users, have learned a lot in the many years of development and use. I'm happy to leverage all their knowledge and experiences. The features that ant has should all be provided by NAnt in one way or another. :) - Original Message - From: Gert Driesen To: [EMAIL PROTECTED] Sent: Sunday, March 02, 2003 10:35 PM Subject: [nant-dev] reading property values from external file Hi, Are there plans to support a task for loading property values from an external (xml) file ? In the end, we should have something like this to allow settings to be specified or overridden on a user level. Using the commandline to specify indiviual properties is fine when you need to override only a few properties, but when you want the build process to be highly configurable by a user, it's not sufficient. Ant (no I don't want to campare Nant with Ant again :-)) currently supports both a properties file (comparabe with INI file) and an xml-properties file. Are there intentions to support something similar for NAnt ? Gert
[nant-dev] cross-posting (to dev/user)
Please don't cross post. (don't post to both lists at the same time) If it is a development issue, like a code change, a release issue, or a bug,post to the dev list. If it is a user issue, like how to write a buildfile or use a task,post to the user list. Also, please don't reply to any onepersonally if you know they are on the list you are posting to. I have done this lately too, but will try to keep it down. (I have posted this in the dev list because most of the cross-posts belong here.) Thanks, Scott PS. The three lists for discussions are nant-users, nant-developers, nantcontrib-developer (@lists.sourceforge.net).
Re: [nant-dev] attachment etiquette for contribution
Well, not to pick on you Philip, but I would much rather see extra files left out. In your earlier post you include the bin folder which comprises most of the size. If you didn't include that, but rather included a simple build file or instructions or what to put where, then your post would have been under 20K easily. If you cannot reduce the file size, I would suggest putting the file on a web server and posting as a link. You really can't go wrong with a link, and no-body will complain about file sizes there :) And as Tomas has suggested, you can post to the list seeing who wants to see the files, and then email privately to them. BTW. Thank you for asking about the etiquette. - Original Message - From: Philip Nelson [EMAIL PROTECTED] To: NAntDev [EMAIL PROTECTED] Sent: Wednesday, February 26, 2003 7:47 AM Subject: [nant-dev] attachment etiquette for contribution I had sent an attachment with my NAntExplorer code and binary, around 250K. It's stuck in the moderation queue. How do people prefer to have this sent? If need be I can go source only with a build file, but it would still be over the 40K list limit I think. --- This SF.net email is sponsored by: Scholarships for Techies! Can't afford IT training? All 2003 ictp students receive scholarships. Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more. www.ictp.com/training/sourceforge.asp ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: Scholarships for Techies! Can't afford IT training? All 2003 ictp students receive scholarships. Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more. www.ictp.com/training/sourceforge.asp ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers