Re: [nant-dev] FTP task
Hi, * Sascha Andres wrote on 04.01.2005 (15:49): I just list the changes as name has sent them to me: ^^ Sorry, I wrote the text first, and forgot the name. I inserted placeholders, but I forgot that one to replace... Sascha -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] FTP task
Hi, David Alpert has enhanced my ftp-tasks with many new features. You can have a look at his new page[1]. AFAIR all the changes proposed are included. Personally I think the task could be a candidate for 0.9 Release. I just list the changes as name has sent them to me: --- quoting David Alpert a.. up-ascii,up-binary, down-ascii, down-binary are deprecated but still supported (and should work much the same as before). b.. script has been simplified to remove the CDATA requirement; it's now processed as a simple text node. c.. put and get have been introduced as fileset derivatives - check out the documentation for property/attribute descriptions and examples of use. d.. credentials element has been replaced with a connection attribute. Other features include: a.. get include statements are scanned against the remote directory tree with results sent to verbose logging output. b.. multiple get and put statements are supported, any number, and are processed in the order they appear. c.. adding exec=false' to the ftp tag blocks execution of dir creation and file transfers. connection is established so that get includes are still matched against the remote file tree. --- end quoting I think he has done heavy work on it. The result is far more than I would've seen in a ftp task (execution blocking). I would like to thank David for his work since I did not had the time to do the changes I wanted to do. Sascha [1] http://www.spinthemoose.com/ftptask/ -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] trycatch task ?... discussion of task communication
Hi, * Troy Laurin wrote on 13.07.2004 (09:24): Sascha Andres wrote: Added above line. Deleted too much, and don't wanted to use undo after I wrote all of the text ;) can be accessed from all tasks. The last function adds a protected object to the store only readable from a task of the same type. The protected Load operations would work analog to this. The idea of protected data items sounds interesting, but could it be implemented without extending Project, just through static properties in the task class? What do public data items offer that can't be done with properties? Would it be better (or is it equivalent?) to implement references, similar to Ant? Just short, cause I'm on my way to work: I think there should be a difference between public data and properties. Public data would be part of the communication, the other is generally part of the build file, used to control how the build is done. The risk overwriting a user property and what may result (broken build, hard build file debugging) led me to propose public data seperated from properties. A few words to persistence. Imagine two more overloads, that indicate using a boolean variable if an object should be persistent. When a data store property on the project is set, a datastore with all variables marked persistent will be saved to the given file (and loaded at the beginning of the next run). Just a comment on overloads: They're generally evil. If two methods do different things, they should have different names. Compile errors are preferable to strange program behaviour if you call a method incorrectly. I agreee that there is potential for wrong calls. I don't have a problem splitting it into Save, SaveProtected, SavePersistent and the respective Load methods. Perhaps something like Protected.Save Public.Save Persistent.Save Whether storing xml or storing objects, I'm a little wary about the idea of adding magic communication to a build system. It feels too much like accessing the internal API of a system. If one task relies on the output of another task to be in a particular format, then there's usually a good chance that the task will break if the other task changes its output format. You're right on this point. But using a tasks output is a risk. And changing a tasks output should occur only in beta and / or a major release change. A communication system would be most helpful when there is a large number of user defined tasks - where you could use public and/or protected information. The magic may be useful for debugging issues (a crash in the csc task that occurs only from time to time). -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- 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] NAnt Namespaces
Hi, * Troy Laurin wrote on 13.07.2004 (10:17): Are you suggesting using the namespace for the class implementing the task, when referencing the task in the build file? This seems like it could be excessively verbose, to me. Well, I always use a short namespace. So I actually don't thought that it may get longer. What about using a task attribute [TaskNamespace(Sascha)] which forces me to use Sascha:TaskName.../Sascha:TaskName? [Conflicting task scenary] Yes, you're right. I just haven't thought of this yet. I appreciate the need for convenience, but since namespaces are a tool for a correctness problem, it's not valid to compromise correctness for convenience. May the proposed namespace attribute be a compronmise between convenience and too long namespaces? -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- 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] NAnt Namespaces
Hi, * Troy Laurin wrote on 13.07.2004 (15:57): Defining namespace in the class defining the task is an interesting idea and a possible solution... it's worth comparing this with the other viable solutions to see what's the best solution, both in terms of functionality as well as correctness and convenience. On my way to work, I thought on my proposal. I wouldn't use a seperate attribute but changing the task attribute instead. The pro is, that we can rely that there *is* a namespace associated with each task. The con is, that it would require a rework on all tasks. A second con came into my mind, but it left as fast as it came: Giving all nant tasks a namespace would require a nant:csc.../nant:csc instead of csc.../csc. To avoid this, give the project a property defaultnamespace which is set to nant per default, but may be overriden by the user. Rather than continuing this discussion (in particular, compare contrast) on this list, is it worth creating a page for the requirements/semantics of namespace support to the nant wiki pages? I don't have a problem discussing it here or on the wiki. Just tell me where discussion is running ;) -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- 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
[nant-dev] [New task] Stopwatch
Hi, here is a new task. Generally it's a task to measure the time between two calls of it. -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info using System; using NAnt.Core; using NAnt.Core.Util; using NAnt.Core.Attributes; namespace TimeTasks { /// summaryTake the time/summary /// remarks /// para /// Time is measured from first call to recurring calls. /// /para /// para /// Name attribute is used to identify which stopwatch to use. /// /para /// example /// paraMeasure time to sleep with the see cref=Tasks.SleepTask/ task/para /// /example /// /remarks [TaskName(stopwatch)] public class Stopwatch : Task { private const long TICKTIME = 1000; private string _stopWatchName = ; /// summarythe timer /summary [TaskAttribute(name, Required=true)] [StringValidator(AllowEmpty=false)] public string StopWatchName { get { return _stopWatchName; } set { _stopWatchName = StringUtils.ConvertEmptyToNull(value); } } // Name #region constructor public Stopwatch() { return; } // Time() #endregion /// summarySave time or show ticks/summary protected override void ExecuteTask() { long actualTicks = DateTime.Now.Ticks; if (this.Project.Properties.Contains(_stopWatchName + SW)) { long ticksRun = actualTicks - long.Parse(this.Project.Properties[_stopWatchName + SW]); long nanoSeconds = (ticksRun - ((ticksRun / TICKTIME) * TICKTIME)) * 100; long microSeconds = nanoSeconds / 1000; nanoSeconds -= (microSeconds * 1000); long miliSeconds = microSeconds / 1000; microSeconds -= (miliSeconds * 1000); ticksRun /= TICKTIME; long minutes = ticksRun / 60; long seconds = ticksRun - (minutes * 60); // this.Log(Level.Info, {0}Timer run for {1}m {2}s {3}ms {4}mis {5}ns, this.LogPrefix, minutes, seconds, miliSeconds, microSeconds, nanoSeconds); this.Log(Level.Info, {0}Timer run for {1}m {2}s {3}ms, this.LogPrefix, minutes, seconds, miliSeconds); } else { this.Project.Properties[_stopWatchName + SW] = actualTicks.ToString(); } // if return; } // ExecuteTask() } // Stopwatch } // TimeTasks
Re: [nant-dev] trycatch task ?
Hi, * Martin Aliger wrote on 09.07.2004 (08:40): I think both are cases of inter-task communication. IMO current nant is totally missing such communication. errorproperty proposal is very limited implementation of such communication. I'd rather prefer making something more robust enabling more advanced scenarios like examining what failed or what was skipped (mainly in complex tasks like solution) etc. Well, there is a workaround: I wrote a stopwatch task (I wanted to know time some tasks are taking). The user must give a name. Based on this name I create a property that I used to save the current timestamp. If not empty, I compare the current timestamp to the saved one (hopefully in the property). The bad in this approach is (IMHO), that the property becomes 'visible' to the outer world in the script. This is not always intended. Some time ago I propose XML-like based communication - maybe its time comes? How do you see it now when there was enough time to consider it? I don't like the we-do-anything-in-xml approach. XML is a nice thing, but it certainly adds some overhead to communications. I would prefer an invisible property system based on keys. This would allow to store informations in one task and to read it in another one, without dealing with properties set by the user. I could also imagine a way of making them optionally persistent. This would be a way to provide numerous version tasks a clear way to save / load information from one run to the next without 'proprietary' file formats. trycatch task is also good addition in mine eyes. I personally dont see anything bad in implementing both - trycatch and some kinf of communication in the same time. Different scenarios should use different approaches A try catch task can help to make things more clear. I like the idea that something like that arises. -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- 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] trycatch task ?... discussion of task communication
Hi, * Martin Aliger wrote on 09.07.2004 (13:43): to pass information from one task to other. Since speed is not main interest in automated builds (sorry Matt - I still appreciate your optimization work!) XML should be straightforward solution. But I never think we will serialize XML on every task. XML hierarchy is pretty efficiently stored in memory like object tree and that should be enough (what is exactly what you propose, isn't it?) Task communication is no more than sharing information in the mean of a variable all tasks can read (or a memory location with XML or what-ever in it). When I think a bit more of sharing information throughout tasks I come to these points: In a programming language, data can be: * private * public * protected * static and with a bit more work * persistent IMO there is no situation where I can think of a need for 'declaring' something static in NAnt if there would be task communication[1]. Correct me if you can imagine. IMHO private data is always task-instance specific and doesn't need to be tracked by a NAnt wide communication system. Public data can be shared with other tasks without restrictions. Protected data can only be accessed by tasks of the same type (like my stopwatch task). I'll focus on persistent data later. How about introducing a 'DataStore' that is working comparable to the properties: this.Project.DataStore.Save(object); this.Project.DataStore.Save(name, object); this.Project.DataStore.Save(name, object, type); First function would be the magic variable. If set in a task, this value remains. If not set, the output of the task could be written to this special variable. So a load operation always refers to the task running before. Second function would lay an object in the data store with a key so it can be accessed from all tasks. The last function adds a protected object to the store only readable from a task of the same type. The protected Load operations would work analog to this. A few words to persistence. Imagine two more overloads, that indicate using a boolean variable if an object should be persistent. When a data store property on the project is set, a datastore with all variables marked persistent will be saved to the given file (and loaded at the beginning of the next run). Personally I would restrict the use of persistent data to objects that are serializable for the sake of easy save and restore. In a first version I would try a datastore based on hashtables. But that's a step further. And after a second thought there are some things certainly coming up if task communication is possible: * How can I list all key / value combinations in the datastore? * Can there be persitence over the bounds of a buildfile? * Can I persist data only accessible to one specific task-instance? The persistence feature is certainly very interesting, but would definitly lead to much more possible complexity in both the build files and the tasks. This should be taken into account. Nevertheless I would call me a supporter for the idea of communication as it would have been great if I could have used this in my own version task and probably the stopwatch task. And to close the run with XML: If a task lays XML to the store or not would be up to the tasks author. In some cases this is a nice, straightforward way to organize information, in others not. Who cares if you can use the store for all kind of objects? -sa [1] This is IMHO true as long as NAnt doesn't use a high level language to write buildfiles ;) -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- 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] FTP Task - new version
Hi, I did a first hack on the scripting support. The task now excutes in the following order: 1 upload binary 2 upload ascii 3 download binary 4 download ascii 5 script A short example: ftp server=my-ftp.de remotepath=/pub/ up-binary include name=test.zip / /up-binary script![CDATA[ pwd cwd /pub pwd ]]/script /ftp I put it up on http://www.livingit.de/downloads/ftp-task.zip. Definitly untested are any calls for put or get in the scripting section. Use the filesets to up-/download. -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] FTP Task - new version
Hi, I reworked my ftp-up and ftp-down task. The zip file containing the code for both tasks is offline. Instead there is a new file online at http://www.livingit.de/downloads/ftp-task.zip. It provides one task ftp capable of up-/downloading ascii/binary files to an anonymous/authenticated ftp server. In short there are those properties in ftp: server = nema or ip of the ftp server remotepath = directory to upload to or to download from port = give a different port than 21 You can authenticate with a credentials subelement. It evaluates the username and password properties. username defaults to anonymous, password to [EMAIL PROTECTED] You have 4 filesets: up-binary, up-ascii, down-binary and down-ascii If downloading use the basedir property to set the local directory. This path will be stripped for the files to download. Instead the remotepath property is used. A short exapmple: ftp server=my-ftp.de remotepath=www/ credentials username=user password=pass / up-binary include name=test.zip / /up-binary up-ascii include name=ascii.txt / /up-ascii down-binary include name=test2.zip / /down-binary down-ascii basedir=C:\ include name=ascii2.txt / /down-ascii /ftp Open for completion: Read a subelement script that contains simple ftp commands and execute them. The files are processed in the following order: 1 upload binary 2 upload ascii 3 download binary 4 download ascii After that a future script element will be processed. Open for any suggestions, Sascha -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] FileSet attribute
Hi, * Gert Driesen wrote on 07.06.2004 (12:37): Are you using a very recent version of NAnt, as the include element was only recently added. You might want to try the includes element : Is 25.05.2005 recent enough? But I tried (and got deprecated messages). Nothing changed. I've overseen that the ftpup task runs. And I do not see a difference in handling the fileset. I uploaded the actual code on http://www.livingit.de/downloads/nant-tasks.zip if you want to take a look in it. By the way, I would take responsibility for the ftp task in 0.9 if nobody has already started or any other reasons. My ideas for further changes to the task: * Integrate the both existing tasks (ftpup and ftpdown) to one task. Currently I'm thinking of something like this: ftp server=server.de credentials user=user password=pass / upload binaries include name=*.zip / /binaries ascii include name=*.txt / /ascii /upload download !-- binary and ascii filesets -- /download /ftp * create a script task ftpscript that enables to execute ftp command directly: ftpscript server=server.de credentials user=user password=pass / code![CDATA[ DELE file.zip BINARY PUT newfile.zip ]]/code /ftpscript Just a short question: Can a complete task be marked as obsolete (recognized by NAnt)? -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- This SF.Net email is sponsored by: GNOME Foundation Hackers Unite! GUADEC: The world's #1 Open Source Desktop Event. GNOME Users and Developers European Conference, 28-30th June in Norway http://2004/guadec.org ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] FileSet attribute
Hi, currently my code looks like this: // the binaries property [BuildElement(binaries)] public FileSet binaries { get { return _binaryFileset; } set { _binaryFileset = value; } } // BinaryFileset The usage: if (null != _binaryFileset) { foreach(string binaryFile in _binaryFileset.FileNames) { // ftp transfer } // foreach } // if Well, _binaryFileset.Count equals always 0, my buildfile looks like this: ftpdown server=server.de verbose=true credentials username=uiser password=pass / binaries basedir=/ include name=test2.zip / /binaries /ftpdown Besides this, the transfer seems to run smoothly. I decided to crete a ftpscript task that works like the script task, a code section executed line by line (well, that differs from the script task ;)). -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- This SF.Net email is sponsored by the new InstallShield X. From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] 0.85 release (fwd)
Hi, * James Geurts wrote on 05.06.2004 (11:54): the archives shows that this hasn't been brought up for a little while. I'm thinking that we should push a 0.85 release out the door. It has been over 5 months since the last release, and I generally think that a release would be a good thing. I'm not quite sure what needs to be done, but I would be Release later, but stable. That is my opinion when it comes to version runs. Every one or two weeks I look if there's a new nightly build. If so I start using it (in production environment). Don't misunderstand me. I know that from a production point of view, nightly builds seem to be a nightmare. But I never had problems with the nightly builds that broke my buildfile for an upcoming release. Using nightly builds of nant is like using xp in software development. And that is what helps the nant developers to find errors early. Perhaps you want to try a nightly build? Well, and when it's time to release a 0.85? I think it's up to Gert, Scott and others to decide. When looking on the release plan, I see there 4 tasks in progress (all about 70% ready. It might be a good idea to release 0.85 when those features are done. Just my 2 cents, -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- This SF.Net email is sponsored by the new InstallShield X. From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ftp task
Hi, * Sascha Andres wrote on 03.06.2004 (19:24): I splitted the ftp into ftpdown and ftpup, that made the start easier. And IMHO two tasks are easier than one task with a switch. Now I make a proposal to enhance the tasks and to make them one. My proposal would be to use two filesets (one for up-, one for downloading files). Currently I'm not sure how to implement a complete ftp script, that is doing more than one ftp command (create dir, delete file, etc) without reconnecting everytime. I could imagine something like a fileset for implementing custom ftp commands, but I'm not yet sure about this. I tend to give that task a name of it's own - say ftpscript. In my personal Scripting is something I would leave in a seperate task. -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- This SF.Net email is sponsored by the new InstallShield X. From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] FileSet attribute
Hi, for my ftp tasks I try to introduce two fileset attributes, but had no real success until now. Here's how I tried: // variable: private FileSet _binaryFileset = new FileSet(); // property: [TaskAttribute(binaries)] public FileSet binaries { get { return _binaryFileset; } set { _binaryFileset = value; } } // BinaryFileset My test file looks like this: ftpup server=livingit.de remotepath=/livingit/www/ binaries include name=test.zip / /binaries /ftpup If I set binaries to required, nant says that there is no binaries attribute in the ftpup task. I'm stuck in the code, I mean I see no difference in what is done in the touch task. Any hints appreciated, Sascha -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- This SF.Net email is sponsored by the new InstallShield X. From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] New commandline option for extension assemblies
Hi, * Gert Driesen wrote on 04.06.2004 (15:43): [intend] For now, I named the new option /extension (short name /ext) : -ext[ension]:textload NAnt extensions from the specified assembly Is that ok, or does anybody have a better proposal ? That's perfectly OK. Not a subsitue, but more a complement: How about adding an extension task to nant that is executed as soon as the build file is loaded and is executed always, independent of the called target. -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- This SF.Net email is sponsored by the new InstallShield X. From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] resgen - no default namespace used
Hi, * Gert Driesen wrote on 02.06.2004 (15:59): Are you using the resgen task standalone, or as you using a compiler task (eg csc) which takes care of the compilation of resources ? I use the csc, taking care of the resources. I'll try later to use resgen, later on including the generated resource file. -sa -- sa at programmers-world dot com http://www.livingit.de Internet sites: http://www.not2long.net - Make long links short Boomarks online: http://www.mobile-bookmarks.info --- This SF.Net email is sponsored by the new InstallShield X. From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Licensing
Hi, * Am 09.10.2003 (18:18) schrieb Gert Driesen: There sould be no reason we can't get the licencing change in for the next release - assuming we can deal with any copyright holder issues. So now we need to make the official dicision as to which licence. I'm leaning towards BSD - what are everyone elses thoughts ? I would also prefer BSD, unless there's a slight chance that Apache is going to accept .NET projects :-) Just my 2 cents on licensing change or stay or whatever: * I think any license change should remember it's contributers thoughts. One main thing is, that we all contributed here because we think it' a great done job and it helps us in out current job. If we help us with writing tasks and posting it here, we help others. But one thing is no one likes to see his work be used by a third person to earn a lot of money without seeing the project *mentioned*. * On the other a build tool will find it's way to corporate use. We had a discussion earlier. Corporate use brings up long time developed helpers, which won't be under an OS License. Support for NAnt will be probably included, and this would lead to licensing issues (breaking included). Who'll fight in case of licensing issues? One sole developer? The lead developers as representatives? Who pays? In dept, no one. Who wants to have companies having this problems? No one. We're all happy when NAnt can and will be used in a corporate environment. If a license change helps to improve relationship here, I'm strongly pro change. As said. Just my cents. 'til tomorrow. -sa -- sa at programmers-world dot com http://www.livingit.de Boomarks online: http://www.mobile-bookmarks.info Soon available in english Mail geschrieben: Donnerstag, den 09. Oktober 2003 um 22:41 --- 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
[nant-dev] Error while testing
Hi, while building on a friends PC, we got an error NAnt could not delete a directory. We looked, but it *was* deleted successfully. The user has admin rights. The directory is located under the temp dir. I've attached the log. -sa -- sa at programmers-world dot com http://www.livingit.de Bookmarks online: http://www.mobile-bookmarks.info Soon available in english A new supply of round tuits has arrived and are available from Mary. Anyone who has been putting off work until they got a round tuit now has no excuse for further procrastination. NAnt version 0.8.3 Copyright (C) 2001-2003 Gerry Shaw http://nant.sourceforge.net Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/NAnt.build [echo] Using 'net-1.0' Framework init: debug: build: [echo] Build Directory is C:\Documents and Settings\molitor_t\Desktop\nant-0.8.3.50105/build/nant-0.8.3.50105-debug [nant] src/NAnt.Core/NAnt.Core.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/src/NAnt.Core/NAnt.Core.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] src/NAnt.Console/NAnt.Console.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/src/NAnt.Console/NAnt.Console.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] src/NAnt.DotNet/NAnt.DotNet.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/src/NAnt.DotNet/NAnt.DotNet.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] src/NAnt.Zip/NAnt.Zip.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/src/NAnt.Zip/NAnt.Zip.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] src/NAnt.NUnit/NAnt.NUnit.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/src/NAnt.NUnit/NAnt.NUnit.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] src/NAnt.SourceControl/NAnt.SourceControl.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/src/NAnt.SourceControl/NAnt.SourceControl.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] src/NAnt.Win32/NAnt.Win32.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/src/NAnt.Win32/NAnt.Win32.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] src/NAnt.VSNet/NAnt.VSNet.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/src/NAnt.VSNet/NAnt.VSNet.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] src/NAnt.VisualCpp/NAnt.VisualCpp.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/src/NAnt.VisualCpp/NAnt.VisualCpp.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] tests/NAnt.Core/NAnt.Core.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/tests/NAnt.Core/NAnt.Core.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] tests/NAnt.Console/NAnt.Console.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/tests/NAnt.Console/NAnt.Console.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] tests/NAnt.DotNet/NAnt.DotNet.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/tests/NAnt.DotNet/NAnt.DotNet.build build: Total time: 0 seconds. BUILD SUCCEEDED [nant] tests/NAnt.Zip/NAnt.Zip.build build Buildfile: file:///C:/Documents and Settings/molitor_t/Desktop/nant-0.8.3.50105/tests/NAnt.Zip/NAnt.Zip.build build: Total time: 0 seconds.
Re: [nant-dev] New task: cat
Hi, * Gert Driesen wrote on 17.09.2003 (07:57): wouldn't it be better to have something similar to the Ant concat task (http://ant.apache.org/manual/CoreTasks/concat.html), which allows files to be concatenated or the tasks inline text be appended (or overwritten) to the destination file ? A fileset is indeed a good idea. Myself I found that it would be nice to have a filtering option, that adds part of the functionality that's in grep. I think of an attribute filter which takes an regular expression. When doing this, I will add fileset support. If a fileset is given the file attribute gets ignored. Hence, I will make it optional.The task won't fail if no input is given. I'll have a look at the echo task to see how inline text ist handled, and see if I put this in the upcoming version. -sa -- sa at programmers-world dot com http://www.livingit.de Bookmarks online: http://www.mobile-bookmarks.info Soon available in english CChheecckk yyoouurr dduupplleexx sswwiittcchh.. --- 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] License task fix - patch included
Hi, here's a first version. It createsthe license file as it should - at least it runs OK here. I attached the new LicenseTask.cs -sa -- sa at programmers-world dot com http://www.livingit.de Bookmarks online: http://www.mobile-bookmarks.info Soon available in english The New York Times is read by the people who run the country. The Washington Post is read by the people who think they run the country. The National Enquirer is read by the people who think Elvis is alive and running the country ... -- Robert J Woodhead // NAnt - A .NET build tool // Copyright (C) 2001-2002 Gerry Shaw // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // Matthew Mastracci ([EMAIL PROTECTED]) // Sascha Andres ([EMAIL PROTECTED]) using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.ComponentModel.Design; using System.Globalization; using System.IO; using System.Reflection; using NAnt.Core; using NAnt.Core.Attributes; using NAnt.Core.Types; namespace NAnt.DotNet.Tasks { /// summary /// Generates a c.licence/c file from a c.licx/c file. /// /summary /// remarks /// If no output file is specified, the default filename is the name of the /// target file with the extension c.licenses/c appended. /// /remarks /// example /// para /// Generate the file ccomponent.exe.licenses/c file from ccomponent.licx/c. /// /para /// code /// ![CDATA[ /// license input=component.licx licensetarget=component.exe / /// ]] /// /code /// /example [TaskName(license)] public class LicenseTask : Task { #region Private Instance Fields private FileSet _assemblies; private string _input; private string _output; private string _strTarget; #endregion Private Instance Fields #region Public Instance Constructors /// summary /// Initializes a new instance of the see cref=LicenseTask / class. /// /summary public LicenseTask(){ _assemblies = new FileSet(); return; } // LicenseTask #endregion Public Instance Constructors #region Public Instance Properties /// summary /// Input file to process. /// /summary [TaskAttribute(input, Required=true)] [StringValidator(AllowEmpty=false)] public string Input { get { return _input; } set { _input = value; } } // Input /// summary /// Name of the resource file to output. /// /summary [TaskAttribute(output, Required=false)] public string Output { get { return _output; } set { _output = value; } } // Output /// summary /// Names of the references to scan for the licensed component. /// /summary [FileSet(assemblies)] public FileSet Assemblies { get { return _assemblies; } set { _assemblies = value; } } // Assemblies /// summary /// The output executable file for which the license will be generated. /// /summary [TaskAttribute(licensetarget, Required=true)] [StringValidator(AllowEmpty=false)] public string Target{ get
[nant-dev] New task: cat
Hi, I had a problem where I merge sourcefiles into one assembly, while I use them normally in more than one assembly to link only what I need. I'm using the ndoc task to document, and hence it's missing the namespace descriptions, if I do not create a new namespace.xml for the merged assembly. Basicly appending all namespace.xml files from the seperated assemblies into one new would do the job. I would do this with cat under unix, but I found it nice to have a task doing this. There are three attributes: * file * pipe * append The last two are optional. The first one is the file to cat. If this is the only attribute given, it will print it on the screen. If pip is given, it will create - that means overwrite, since append defaults to false - the given file and insert the contents of file. If append is true the content is appended where I've reached what I wanted. I just think I post it here for inclusion in NAnt or NAnt-contrib. -sa -- sa at programmers-world dot com http://www.livingit.de Bookmarks online: http://www.mobile-bookmarks.info Soon available in english Life would be so much easier if we could just look at the source code. // NAnt - A .NET build tool // Copyright (C) 2001-2002 Gerry Shaw // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Sascha Andres ([EMAIL PROTECTED]) using System; using System.Globalization; using System.Xml; using System.IO; using NAnt.Core.Attributes; using NAnt.Core.Util; namespace NAnt.Core.Tasks { /// summary /// A somehow compareable task to 'cat' from a unix/linux system /// /summary /// example /// paraPrints a file on the screen/para /// code /// ![CDATA[ /// cat file=input.txt / /// ]] /// /code /// paraPrints a file to an other file. Overwrite is the default!/para /// code /// ![CDATA[ /// cat file=input.txt pipe=output.txt / /// ]] /// /code /// paraPrints two files to one other file./para /// code /// ![CDATA[ /// cat file=input.txt pipe=output.txt / /// cat file=input2.txt pipe=output.txt append=true / /// ]] /// /code /// /example [TaskName(cat)] public class CatTask : Task { #region Private Instance Fields private string _filein = ; private string _fileout = ; private string _append = Boolean.FalseString; #endregion Private Instance Fields #region Public Instance Properties /// summary /// The file to display. /// /summary [TaskAttribute(file, Required=true)] public string File { get { return _filein; } set { _filein = value; } } /// summary /// Write the output to /// /summary [TaskAttribute(pipe, Required=false)] public string Pipe { get { return _fileout; } set { _fileout = value; } } /// summary /// Append to file /// /summary [TaskAttribute(append, Required=false)] [BooleanValidator()] public string Append { get { return _append; } set { _append = value; } } #endregion Public Instance Properties #region Override implementation of Task /// summary /// Outputs the message to the build log. /// /summary protected override void ExecuteTask() { bool bUseFile = false; using (StreamReader sr = new StreamReader(_filein)) { StreamWriter sw = null; if (_fileout != ) { bUseFile = true; sw = new StreamWriter(_fileout, Convert.ToBoolean(_append)); } while(true) { string strLine = sr.ReadLine(); if (strLine == null) { break; } if (!bUseFile) { Log(Level.Info, LogPrefix + strLine); } else { sw.WriteLine(strLine); } } if (bUseFile
[nant-dev] License task fix - patch included
Hi, after a while looking where the error was, I reworked my changes, did a few comments and a diff file for patching. You may want to take a look at it - I did not created a new AppDomain, but it is functionally on my system now. If this is correct, it could be submitted to CVS. -sa -- sa at programmers-world dot com http://www.livingit.de Bookmarks online: http://www.mobile-bookmarks.info Soon available in english If God had meant for us to be in the Army, we would have been born with green, baggy skin. 151c151,157 alAssemblyFilesLoaded.Add(Path.GetFullPath(asmLoaded.Location).ToLower(CultureInfo.InvariantCulture)); --- /* It can happen that an empty or null string is in the * collection. If so, Getpath fails. * Just ignore them (what else could we do */ if (asmLoaded.Location.TrimEnd().TrimStart() != asmLoaded.Location != null) { alAssemblyFilesLoaded.Add(Path.GetFullPath(asmLoaded.Location).ToLower(CultureInfo.InvariantCulture)); } 168c174 Log(Level.Verbose, LogPrefix + - + strAssembly + (loaded with real filename)); --- Log(Level.Verbose, LogPrefix + strAssembly + (loaded with real filename)); 171c177 Log(Level.Verbose, LogPrefix + - + strAssembly + (not loaded)); --- Log(Level.Verbose, LogPrefix + strAssembly + (not loaded)); 179c185 --- 184c190 Log(Level.Verbose, ); --- 197c203 --- 237c243 Log(Level.Info, ((Type) htLicenses[strLine]).Assembly.CodeBase); --- Log(Level.Info, LogPrefix + ((Type) htLicenses[strLine]).Assembly.CodeBase); 254c260 --- 256a263 Log(Level.Verbose, LogPrefix + Deleting existing + strResourceFilename); 260c267 --- 266a274,277 Log(Level.Verbose, LogPrefix + Created + strResourceFilename); dlc = null; return;
Re: [nant-dev] License task fix - patch included
Hi, * Ian MacLean wrote on 16.09.2003 (01:17): It would be better if it did load a new appdomain. Otherwise every assembly loaded will hang around until NAnt terminates. See the assemblyinfo task ( AssemblyInfoTask.cs) for a simple example of the spawning app-domain technique. I'll have a look at it. It may take some time, since I'm currently very busy at work. As far as I can see, the start would be to create an appdomain, create an instance of it and use a function to pass an object back containing the relevant info. -sa -- sa at programmers-world dot com http://www.livingit.de Bookmarks online: http://www.mobile-bookmarks.info Soon available in english If the weather is extremely bad, church attendance will be down. If the weather is extremely good, church attendance will be down. If the bulletin covers are in short supply, however, church attendance will exceed all expectations. -- Reverend Chichester --- 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] license task broken
Hi, I'm using the following statement in my buildscript: license input=license.licx licensetarget=start.exe / This is similar to the help file. But: I _always_ gt an exception about an invalid path. Before I had an fileset included with the assemblies to be licensed, but this is just the same error. I think this is a newly introduced bug, since this happens after updating to the latest nightly build. -sa -- sa at programmers-world dot com http://www.livingit.de Bookmarks online: http://www.mobile-bookmarks.info Soon available in english They make a desert and call it peace. -- Tacitus (55?-120?) --- 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] license task broken
Hi, It seems I found two bugs. One is in the licese task itself. It can happen (actually it does on one of my systems), thatasmLoaded.Location is either an empty string or null. If so, Path.GetFullPath(...) throws an exception. The attached diff files addesses this issue. The second thing seems to be in Directory scanner (I'm not sure, cause I have not much time to dive into this yet). If I give something like D:\licensed_components\*.dll as includes in the nested assembly, he tries to load dlls without the ending. Eg A file name assembly.dll gets only assembly . HTH, -sa -- sa at programmers-world dot com http://www.livingit.de Bookmarks online: http://www.mobile-bookmarks.info Soon available in english Es brilig war. Die schlichte Toven Wirrten und wimmelten in Waben; Und aller-mumsige Burggoven Dir mohmen Rath ausgraben. -- Lewis Carrol, Through the Looking Glass 151c151,153 alAssemblyFilesLoaded.Add(Path.GetFullPath(asmLoaded.Location).ToLower(CultureInfo.InvariantCulture)); --- if (asmLoaded.Location.TrimEnd().TrimStart() != asmLoaded.Location != null) { alAssemblyFilesLoaded.Add(Path.GetFullPath(asmLoaded.Location).ToLower(CultureInfo.InvariantCulture)); }
Re: [nant-dev] license task broken
Hi, * Matthew Mastracci wrote on 14.09.2003 (12:45): Yet another bug is that the License task loads assemblies (as far as I can remember) into the main AppDomain. It needs to have code to load these assemblies in a separate AppDomain, like the NUnit tasks have. You're right. It does that way. But this is a minor problem as long as other bugs prevent using the license task at all. And this could be considered as 'by design'. Something to the found problems: Even a full path (no placeholders) don't make the license task running. -sa -- sa at programmers-world dot com http://www.livingit.de Bookmarks online: http://www.mobile-bookmarks.info Soon available in english Electrocution, n.: Burning at the stake with all the modern improvements. --- 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: [Nant-users] 0.8.3 final
Hi, * Ian MacLean wrote on 07.09.2003 (16:04): Jaroslaw Kowalski wrote: Maybe it's time to have version 1.0 released ? I believe NAnt is stable enough now to handle even large projects like mono both on windows and linux and having production version 1.0 would only make more people (corporate?) use nant. I tend to agree with you. Corporate users don't really gel with the opensource style 0.x release numbers. Lets table up a list of things to target at a 1.0 and see how that looks. I've not written much here, I mostly read what's written. But this time I just want to post my personal oppinion. Even if corporate users din't like 0.x releases - thinking they are low quality releases without - there is one thing they like even less: 1.x releases that tend to react beta like. Think about the solution task. NAnt is really good stuff and I like it, and I think it's really not far from 1.0 release. When talking about a 1.0 release at least the following tasks should be included (don't forget: my personal oppinion as a corporate developer): * a version system task for cvs - a SourceSafe one would be nice too, cause I know many using this. * ensure documentation ist complete, the way it's now is ok, but if there are leaks, they should be filled. * sql would really enhance NAnt and would make the possibilities outstanding. The features I think that should come in 1.1 are: * Input tasks (personally I think thzat in corporate use this has low priority. I would tend to use an sql task to make decisions. It would not break the possibility of a build server, or nightly stand-alone build. * a tight integration with the different IDEs - VS.NET being the highest priority. Well, just some of my thoughts. They are not ment to be offending - as I'm only a reader and from time to time writer - so take it mostly as an user's feedback on a roadmap. -sa -- sa at programmers-world dot com http://www.livingit.de Bookmarks online: http://www.mobile-bookmarks.info Soon available in english Somewhere, just out of sight, the unicorns are gathering. --- 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] ngen Task
Hi, this is my first post to the NAnt developers list. When I first looked at NAnt I wanted to understand how does it work. So I made my own task - a ngen task. I have not much time to maintain an ever changing task, but I think there may be the one or other who could use this task too. So I decided to post this task here. If someone wants to integrate this task - feel free. It would be nice if there is something like based on initial code by or something like this. But after all you're free to use it like you want to use it. Or even don't use it. Bye, Sascha -- sa at programmers-world dot com http://www.livingit.de Bookmarks online: http://www.mobile-bookmarks.info Soon available in english If God wanted us to be brave, why did he give us legs? -- Marvin Kitman SourceForge.NAnt.Tasks.zip Description: Zip archive