[nant-dev] NAnt on Linux findings (some) and questions (more)

2003-03-08 Thread Brian Deacon
Okee... so I'm fiddling with NAnt on Redhat Linux 8.0, with the 0.21 rpm
of mono.  (Haven't yet upgraded to the 0.22 that came out this week.)

My not-so-impressive findings (I think mostly repeated from an e-mail
that may or may not have escaped my outbox):

Remove ScriptTask.cs from NAnt.core, and the following works (in that it
compiles):
mcs -g -out:./nant/bin/NAnt.Core.dll -recurse:./nant/src/NAnt.Core/*.cs
/t:library /r:System.Web 

and then:
mcs -g -out:./nant/bin/NAnt.exe -recurse:./nant/src/NAnt.Console/*.cs
/t:exe

Put these two brand-spanking-new files into the same directory and the
following gives me a warm-fuzzy:
mono NAnt.exe -help

Okay, then.  How 'bout:
mono NAnt.exe

Could not find a '*.build' file in
'/home/brian/cvsroot/nant/examples/Simple'
Try 'nant -help' for more informatio

This is good, because there are no build files (I renamed the
Simple.build that was in the directory).  Make a SimpleMono.build like
this:

?xml version=1.0?
project name=Simple default=build
target name=build description=compiles the source code
echo message=Testes, one, two. /
/target
/project

And I get 7 of these:
** (NAnt.exe:14094): WARNING **: Failed to load library
libkernel32.dll.so (kernel32.dll): libkernel32.dll.so: cannot open
shared object file: No such file or directory

This is true.  There is no libkernel32.dll.so or anything
libkernel32-ish on the box.  That's where I'm lost.

I also get:
settings file /home/brian/cvsroot/nant/examples/Simple/NAnt.settings not
found.  
I say duh and I go grab the NAnt.settings file and stick it in my
directory, fiddle a while and realize I need to change the
defaultframework to mono and probably the paths in that frameworkinfo
element to /usr/bin.  (I note that regvalue=sdkInstallRoot probably is
going to bite me.)

Which upgrades me to where I'm at now:
Still 7 identical complaints about libkernel32.dll.so and
Error loading settings file
/home/brian/cvsroot/nant/examples/Simple/NAnt.settings.A null value was
found where an object instance was required

You're still reading this far?  :)

I'm guessing that the new and improved mono debugger can help me here,
but if anybody with some mono-xpertise sees me doing something foolish,
I'd surely appreciate a point in the right direction.

Once I have something more than Mono NAnt: The Diary of a Linux Idiot
I'll post something on the wiki for those that come after me... But I'd
obviously love it if someone beat me to the punch and put some pointers
up there (debugging in Linux, what in the NAnt code base needs to be
gimped, etc.)

Brian


















---
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] Mono Support

2003-03-03 Thread Brian Deacon
Ooh.  Could you post the shell script?  I'd like to work on putting
something together to help folks get bootstrapped into NAnt from Linux.

(Hmmm... this might be a better long-term approach on both platforms. 
Instead of including a previous set of NAnt binaries)

Some maybe-not-so-useful findings in my first hour of fiddling: 

NAnt.Core.dll compiles as long as ScriptTask.cs is excluded.  (I was
surprised as hell at how close it got...
/usr/lib/Microsoft.VisualBasic.dll wasn't something I was expecting to
see come scrolling across my command line).
Although 'twould appear that support for CodeDom and all the goodies in
the Microsoft.VisualBasic and Microsoft.JScript namespaces is in the
works (those guys rule...), I'm betting it's a while before an approach
as meta-code as the ScriptTask is able to work in a cross-platform way. 
I've got too much ecma oozing out my ears right now to think up
alternatives

:)

Brian





On Mon, 2003-03-03 at 07:02, Philip Nelson wrote:
 
  And Philip... I'm curious as to the environment you got mono NAnt to run
  in.  Cygwin, or the real deal in linux?
 
 Suse Linux 8.0, shell script for the initial build, GVim text editor
 
 
 ---
 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] Mono Support

2003-03-01 Thread Brian Deacon
Hmmm... I'm getting no joy with mono-tools.  Is it maybe on just one
of the mirror servers, or did I get stupid?  (My understanding is that
anoncvs.go-mono.com is a load-balance to one of the three mirrors in the
US and Spain.)

And Philip... I'm curious as to the environment you got mono NAnt to run
in.  Cygwin, or the real deal in linux?



Brian

Could not be more OT:
Great moments in randomness -- Surfing around mono hispano and ran
across someone's .sig (I'm paraphrasing, badly, in Spanish...)
Todos esos momentos se perderan, como lagrimas en la lluvia.
Blade Runner in Spanish... how did people live before the internet?

On Sat, 2003-03-01 at 19:47, Dave Bettin wrote:
 
 Hey guys,
 Log4net has been succesfully compiled and ran on mono. Also there is a mono debugger 
 gui that can be used to track down problems. Perform a cvs checkout on mono-tools 
 to get the debugger.
 Dave
  Philip Nelson [EMAIL PROTECTED] wrote:Good news/Bad news (of course)
 
 I have a partial version of basic NAnt compiled and able to compile (and run) a
 simple exe with the mcs task. Since I haven't gotten as far as the tests, you
 can take as far as you like ;-)
 
 downside
 - the build of my simple program takes ~50 seconds with NAnt vs ~3 seconds with
 mcs. It *may* have to do with things broken in directory/file resolution that
 I had commented out to enable my initial build. I'll see what I can find out.
 - ProjectHelp will not work because GetManifestResourceStream is not
 implemented
 - shadow directory doesn't work. I couldn't find any reference to
 AppDomain.CreateDomain in the mono class status list. I don't get a not
 implemented exception either so I don't know what's up with that. 
 
 Since I don't have a debugger to work with, has there been any thought to
 including log4net so it is easier to trace activity?
 
 housework beckons so I'm off 'till the am
 
 
 
 ---
 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
 
 
 -
 Do you Yahoo!?
 Yahoo! Tax Center - forms, calculators, tips, and more




---
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] Mono Support

2003-02-27 Thread Brian Deacon
Just wanted to pipe up and say that I personally am really interested in
hearing any gotchas and resolutions in getting nant and mono to play
nice with each other.  So thanks, Philip.

Brian

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Philip
Nelson
Sent: Thursday, February 27, 2003 5:25 AM
To: NAntDev
Subject: Re: [nant-dev] Mono Support

Trying to compile nant under mono.  What I originally thought was an xml
short
fall is actually a reflection shortfall:

element has more than one match for attribute_type

Anyway, the problem occurs trying to compile McsTask (and other times
using
Mono with .net compiled assemblies). McsTask inherits from CompilerBase
which
depends on ResgenTask which inherits from MsftSDKExternalProgramBase.cs
which
uses the Registry.  Can I assume that the registry won't be supported
under
Mono?




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
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


[nant-dev] Bug fix for DirectoryScanner

2003-02-24 Thread Brian Deacon








First let me say that TortoiseCVS
just rules.



Anywho I
decided to take Scott up on his challenge to monkey with fileset
and in the process ran across a few bugs in DirectoryScanner. Absolute paths like

includes name=\my\path /

were being
treated like

includes name=my\path /

and converting
to \my\base\dir\my\path



Also, my/path and my\path should be interchangeable now
regardless of your platform.



So attached is the patch. Let me know if the tortoise fails to
satisfy first time using it.



Coming soon to a mail list near you

 fileset failonempty=true

 includes
= blah/blah/**/*.cs /

 /fileset



Ive got this working right now but want to bang it around a bit
before submitting Im also not real certain that this is the best
way to go about things thoughts, anyone?



Hmmm on second thought, Im attaching the patch to fileset anyway might make it easier for folks to
decide, or at least give everyone a better idea of what Im talking about.



I imagine it would be trivial to add a Log.WriteLineIf
during that check but I dont want to further contribute to the
bit-rot that the current logging methodology is causing. J



Brian








DirectoryScanner.patch
Description: Binary data


FileSet.patch
Description: Binary data


RE: Re: [nant-dev] Delete task behaviour

2003-02-20 Thread Brian Deacon
Was I understanding correctly from an earlier e-mail that:

delete
fileset
includes name=${the.file.I.want.to.delete} /
includes name=${or.the.whole.tree.I.want.to.delete}
/
includes name=${some.file.that.does.not.exist} /
/fileset
/delete

Would accomplish the same thing as this proposed patch?

My reasons for being -1 on this:
1) A user who previously intended his builds to fail because of the
absence of a file or directory when trying to delete it would now have
lost the ability to accomplish that, with the only workarounds being
not-yet-existing features.
2) A user that wants to accomplish what Gert suggests can do like the
above.
3) In spite of previous comments, when I turn my English-to-Geek
translator loose on this thread, it still keeps popping up Valid; adj.:
Just like Ant and Invalid; adj.: Different than Ant
4) Metaphors about honey, vinegar, and catching flies.

In short, I'm liking the thoughts on where this feature is going, but
I'm not wild about the hurry up and commit this! vibe when there seems
to be a decided lack of consensus.  Personally, I'd rather see one of
the proposed available exists or the embedded function stuff added
-prior-, so that we don't end up with an interim net loss on
functionality.

Of course, if I'm speaking ex-rectum regarding the fileset and delete
interaction, then my argument is reduced to: D00d! Chill!

:)
Brian



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of
[EMAIL PROTECTED]
Sent: Thursday, February 20, 2003 6:59 AM
To: Ian MacLean; [EMAIL PROTECTED]
Cc: Simon Steele; Nant-Developers
Subject: Re: Re: [nant-dev] Delete task behaviour

Hi Ian,

When should I log a diagnotic message if the file/Directory does not
exist ?  Ony when the task runs in verbose mode, if the project runs in
verbose mode or always ?

I would prefer not to log it always, but I'll do whatever you decide ...

What do we do with the path length check that's in the DeleteTask class
?  I'd say, remove it, but I guess my ability to judge on these kind of
things is way off today :-)

Gert

By the way: are you sure you won't reconsider the decision to remove the
quiet attribute ? :-)



 Ian MacLean [EMAIL PROTECTED] wrote:


[EMAIL PROTECTED] wrote:

 
 If I understand you correctly, you want me to remove the quiet
attribute and always output a message in the log when you try to delete
a file or directory that doesn't exist, right ? 

yeah for now. I don't have a problem with the concept but I think we 
should think about having it in the base class. We can always whack it 
back in later.


 I don't really agree with your remarks, but we live in a democracy ..
 
 So if I update the patch, you'll commit it, right ?
 

Yep. Although Gerry may still have issues with me :)

Ian

Simon,

I assume you are talking about the quiet attribute. I'm wondering
how 





---
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers





---
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers



---
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers



[nant-dev] NAnt tests, the csproj files and the sln files in CVS

2003-02-19 Thread Brian Deacon








Recently got yet-another fresh checkout from CVS and ran
into a few problems which then raises a few questions



The root .build file successfully compiles everything, but the
unit tests dont make it. Now
that Im typing this, that behavior strikes me as even stranger, because
when building from the .sln file, the tests project
wont compile not just because of munged
references settings to nunit and nant.core,
but some of the tests reference a non-existent default constructor for Project.
(getTask.Project
= new Project();)



So my questions:

1) Am
I fat-fingering something, or is the .build file not currently capable of
firing off successfully?

2) Ditto
for the .sln file.

3) What
is, or is there, a philosophy regarding the build and sln
file? Ive noticed they seem
to float near- each other in terms of how and what they build, but not
usually identically. I assume the
.build file is the official version, as that is what Draco.Net is
using, yes? Wouldnt it be a
Good Thing to keep the sln and .build functionally
identical?

4) Anyone
I should ping or any gotchas I should know before I just
start submitting patches on this?





TTFN,

Brian



(and Ian, I thought you were gonna commit my vast improvement on the echo
task?)

J








RE: [nant-dev] NAnt tests, the csproj files and the sln files in CVS

2003-02-19 Thread Brian Deacon









Thanks, Scott Ill dig into
the metabuild and get myself sorted.

I can assume then that Draco
isnt getting what Im getting, then? (This is with nant
package, but Im getting the same with the default in debug.)



test:

 [echo]
Running unit tests with just built version of NAnt.

 [exec]
C:\CVSRoot\nant/build/nant-0.8.01/bin/NAnt.exe -indent:1 -buildfile

:NAnt.build release self-test -D:project.version=0.8.01


Buildfile: file:///C:/CVSRoot/nant/NAnt.build




release:




init:




self-test:


[echo] c:\cvsroot\nant\SourceForge.NAnt.Tests.IfTest\new.txt
is

newer than c:\cvsroot\nant\SourceForge.NAnt.Tests.IfTest\old.txt




Tests run: 105, Failures: 1, Not run: 0, Time: 5.0625 seconds



Failures:

1) SourceForge.NAnt.Tests.AttribTaskTest.Test_Normal : c:\cvsroot\nant\SourceFor

ge.NAnt.Tests.AttribTaskTest\myfile.txt
should have Normal file attribute.

 at SourceForge.NAnt.Tests.AttribTaskTest.Test_Normal()







Id be +1 on sending nant.onfailure to cvs-commit
but agree that much more than that is overkill.









-Original Message-
From: Scott Hernandez
[mailto:[EMAIL PROTECTED]] 
Sent: Wednesday, February 19, 2003 9:47 AM
To: Brian Deacon
Cc:
[EMAIL PROTECTED]
Subject: Re: [nant-dev] NAnt
tests, the csproj files and the sln files in CVS





Brian,











The VS.Net files are just there for
editing (and debugging). I try to keep them in sync with the build files, but
they are not thereto build the project.











The nightly builds runfrom the
nightly.build filevia Draco.Netfroma new anon
cvscheckout. It basically runs a full release build, tests, docs and zips
everything up. If people are interested I can have the nightly builds send
email to the cvs-commit list so everyone can see it. Or we can even setup a new
list just for this purpose, but that seems overkill.











Feel free to submit patches. The
tests were not compiled because of NUnit diffs from the past(and the fact that
you can not ref a exe--not an issue anymore). I thinkthat VS.Net should
be able to build things in a very similar manner to the main buildfile. But I
never felt that it had to as it will never be thecorrect way
to build NAnt.











Note:See the build file
because some of the tests are not compiled/used.











HTH,





Scott





- Original Message - 







From: Brian Deacon 





To: [EMAIL PROTECTED]






Sent: Wednesday, February 19, 2003 9:24 AM





Subject: [nant-dev]
NAnt tests, the csproj files and the sln files in CVS









Recently got yet-another fresh
checkout from CVS and ran into a few problems which then raises a few
questions



The root .build file successfully
compiles everything, but the unit tests dont make it. Now that Im typing this, that
behavior strikes me as even stranger, because when building from the .sln file,
the tests project wont compile not just because of munged references
settings to nunit and nant.core, but some of the tests reference a non-existent
default constructor for Project.
(getTask.Project = new Project();)



So my questions:

1. Am
I fat-fingering something, or is the .build file not currently capable of
firing off successfully?

2. Ditto
for the .sln file.

3. What
is, or is there, a philosophy regarding the build and sln file? Ive noticed they seem to float
near- each other in terms of how and what they build, but not usually
identically. I assume the .build
file is the official version, as that is what Draco.Net is using,
yes? Wouldnt it be a Good
Thing to keep the sln and .build functionally identical?

4. Anyone
I should ping or any gotchas I should know before I just start submitting
patches on this?





TTFN,

Brian



(and Ian, I thought you were gonna
commit my vast improvement on the echo task?)

J










RE: [nant-dev] RE: [Nant-users] Adding Tasks 0.7.9 vs 0.8

2003-02-14 Thread Brian Deacon
Granted, we're getting off topic... but Bill's Kung-Fu is clearly
stronger than mine and I wish to lean.  (And figure it might be
instructive to others)

So Bill,
Am I understanding correctly that this defeats the security of scoping
something as private?  Are there limits to this?  (Like does this work
across assemblies?)

(Yah, I know I could see for myself, but I'm late for work.)

:)

Brian

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of Bill
Conroy
Sent: Wednesday, February 12, 2003 8:15 PM
To: 'Brian Deacon'; [EMAIL PROTECTED]; 'NAnt Developers
(E-mail)'
Subject: [nant-dev] RE: [Nant-users] Adding Tasks 0.7.9 vs 0.8

[Hello...new to the list]

 NAnt uses reflection in combination with the TaskAttribute 
 to match your attributes up with your properties and a privately 
 scoped property not only won't show up in reflection, 
 but NAnt wouldn't be able to assign to it even if it did.

You can view and set private members of a type. I have an example
below[1] that shows setting a private field on a type as well as a
private property.

The reason this doesn't work with Nant is because the Nant code
specifically checks only Public properties. Line 130 of Element.cs:

  PropertyInfo[] propertyInfoArray =
currentType.GetProperties(BindingFlags.Public|BindingFlags.Instance);

could be:

  PropertyInfo[] propertyInfoArray =
currentType.GetProperties(BindingFlags.NonPublic|BindingFlags.Instance);
Or:
  PropertyInfo[] propertyInfoArray =
currentType.GetProperties(BindingFlags.NonPublic|BindingFlags.Public|Bin
dingFlags.Instance);

HTH
-bc

[1]
code
namespace ReflectTest {
  using System;
  using System.Reflection;

  class Class1 {
static void Main(string[] args) {
  Class2 c2 = new Class2();
  Type t = typeof(Class2); // or c2.GetType()
  PropertyInfo[] propertyInfoArray =
t.GetProperties(BindingFlags.NonPublic|BindingFlags.Instance);
  foreach (PropertyInfo pi in propertyInfoArray ) {
System.Diagnostics.Debug.WriteLine(pi.Name);
pi.SetValue(c2, TestingProp, null);
  }
  // comments states I could do this, but code doesn't
  FieldInfo[] fis =
t.GetFields(BindingFlags.NonPublic|BindingFlags.Instance);
  foreach (FieldInfo fi in fis ) {
System.Diagnostics.Debug.WriteLine(fi.Name);
fi.SetValue(c2, TestingField);
System.Diagnostics.Debug.WriteLine(fi.GetValue(c2));
  }
}
  }

  class Class2 {
private string _prop;

private string prop {
  get {
return String.Empty;
  }

  set {
// for show
System.Diagnostics.Debug.WriteLine(value);
  }
}
  }
}
/code

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of Brian
Deacon
Sent: Wednesday, February 12, 2003 9:39 PM
To: [EMAIL PROTECTED]; 'NAnt Developers (E-mail)'
Subject: RE: [Nant-users] Adding Tasks 0.7.9 vs 0.8


That will -definitely- keep it from working.  NAnt uses reflection in
combination with the TaskAttribute to match your attributes up with your
properties and a privately scoped property not only won't show up in
reflection, but NAnt wouldn't be able to assign to it even if it did.

Hmmm... Is there a flag to AttributeUsage that can specify public
properties only?  'twould seem nice if the compiler could have caught
that and failed the compile.

Brian
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of Simon
Steele
Sent: Tuesday, February 11, 2003 7:14 AM
To: 'Gill, Bobby'; [EMAIL PROTECTED]
Subject: RE: [Nant-users] Adding Tasks 0.7.9 vs 0.8

Hi Bobby,

I wonder if you should have:

public string slnFileName
^^ Public access.

I'm not sure - without looking at your source, I couldn't be sure. All
of my attributes are marked as public, and I've never had this problem.

Simon.

 -Original Message-
 From: Gill, Bobby [mailto:[EMAIL PROTECTED]]
 Sent: 11 February 2003 14:59
 To: Simon Steele; [EMAIL PROTECTED]
 Subject: RE: [Nant-users] Adding Tasks 0.7.9 vs 0.8
 
 Another problem that I am having is with setting the values
 of the TaskAttributes. For instance if I have:
 
 [TaskAttribute(solution,Required = true)]
   private string slnFileName 
   {
   get { return  slnFileName_m; } set {
 slnFileName_m=value;}
   }
 
 Whenever I try to reference the slnFileName_m variable, I
 receive Null pointer errors. My .build file does have the 
 solution attribute along with a value within, but for some 
 reason, it doesn't seem to be transferring over to the 
 variable within the solution property? Any ideas as to what I 
 am missing?? Thanks
 
 Bobby Gill
 [EMAIL PROTECTED]

__
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service.


---
This SF.NET email

RE: [nant-dev] Indenting external program output? + Let's get this release out

2003-02-14 Thread Brian Deacon
Strongly in favor of throwing 0.8 against the wall and seeing what
sticks.

Re: logging

What's folks feeling about moving back to the Ant-style loglevel
concept?  (quiet, normal, verbose, warning, error).  I'd traded some
mail with Scott about log4net, .config files, and other wouldn't it be
better if issues but it seems like the code has hit a cul-de-sac
because of Project.Verbose and Log.WriteIf

Just seems like the logging is kind of stuck not because moving forward
is difficult, but because the changes would effect a big hunk of the
code.  

(Hmmm... I think I just repeated the we need to rework logging
discussion.)

So I guess my question is... I'm close to a complete stab at moving to
the Ant style and removing WriteIf and WriteLineIf completely, and
replacing Project.Verbose with Project.LogLevel... does this sound like
a good jumping off point for the better stuff?

Brian

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of
Matthew Mastracci
Sent: Friday, February 14, 2003 7:57 AM
To: [EMAIL PROTECTED]
Subject: Re: [nant-dev] Indenting external program output? + Let's get
this release out

Regardless of future implementation tasks, would anyone object if I 
enhance the ExternalProgramBase to indent output from called programs?
:) 

I agree that we need a more powerful logging system, but as things stand

right now, we have a half-decent one that gets the job done.  Once 0.8 
is finally released, we can start to look at things like this. 

BTW, anyone have anything urgent that needs to go into the release?  If 
not, I can take what we have now and put it out as a release candidate 
for 0.8.  I think we're in a good enough place to at least let people 
give it a whirl.

Simon Steele wrote:

Hi,

  

[see below] Is that the kind of thing you had in mind?



In a way, yes. I was under the impression that all the tasks currently
use
the Log class to write their build output, and it might be nice to
extend
this to output something a little better defined:

build-results
   target-output name=target-name
result=[success|failure|...]
   [if verbose]
   parameters.../parameters
   [/if]
   infoSome info./info
   infoSome more info./info
   warningThis is a warning./warning
   infoeven more info./info
   error class=fatalCould not build.../error
   /target-output
   summary result=failed
   successes
   target name=target1 /
   target name=target2 /
   /successes
   failures
   target name=target-name class=ignored
message=... /
   target name=target-name class=fatal
message=... /
   /failures
   /summary
/build-results

That's just off the top of my head, so it might be completely
inappropriate,
but hopefully it gets across the point of having the xml provide useful
information which couldn't happen (so easily) using the trace system
you
propose. The meaning of each entry in the log would be much more clear,
and
therefore (IMHO) much more useful. Either way, I believe the tasks
would
need changing to use a different output mechanism, and we could use
that
opportunity to make the output more useful.

(note: obviously we can't necessarily expect to parse the
compiler/other
tools output and place it into the relevant info/, warning/ and
error/
tags, but in these cases we could include the compiler output in an
info/
tag.)

Thoughts?

Thanks,
  





---
This SF.NET email is sponsored by: FREE  SSL Guide from Thawte
are you planning your Web Server Security? Click here to get a FREE
Thawte SSL guide and find the answers to all your  SSL security issues.
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers



---
This SF.NET email is sponsored by: FREE  SSL Guide from Thawte
are you planning your Web Server Security? Click here to get a FREE
Thawte SSL guide and find the answers to all your  SSL security issues.
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers



[nant-dev] RE: [Nant-users] Adding Tasks 0.7.9 vs 0.8

2003-02-12 Thread Brian Deacon
That will -definitely- keep it from working.  NAnt uses reflection in
combination with the TaskAttribute to match your attributes up with your
properties and a privately scoped property not only won't show up in
reflection, but NAnt wouldn't be able to assign to it even if it did.

Hmmm... Is there a flag to AttributeUsage that can specify public
properties only?  'twould seem nice if the compiler could have caught
that and failed the compile.

Brian
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of Simon
Steele
Sent: Tuesday, February 11, 2003 7:14 AM
To: 'Gill, Bobby'; [EMAIL PROTECTED]
Subject: RE: [Nant-users] Adding Tasks 0.7.9 vs 0.8

Hi Bobby,

I wonder if you should have:

public string slnFileName
^^ Public access.

I'm not sure - without looking at your source, I couldn't be sure. All
of my
attributes are marked as public, and I've never had this problem.

Simon.

 -Original Message-
 From: Gill, Bobby [mailto:[EMAIL PROTECTED]] 
 Sent: 11 February 2003 14:59
 To: Simon Steele; [EMAIL PROTECTED]
 Subject: RE: [Nant-users] Adding Tasks 0.7.9 vs 0.8
 
 Another problem that I am having is with setting the values 
 of the TaskAttributes. For instance if I have:
 
 [TaskAttribute(solution,Required = true)]
   private string slnFileName 
   {
   get { return  slnFileName_m; } set {
 slnFileName_m=value;}
   }
 
 Whenever I try to reference the slnFileName_m variable, I 
 receive Null pointer errors. My .build file does have the 
 solution attribute along with a value within, but for some 
 reason, it doesn't seem to be transferring over to the 
 variable within the solution property? Any ideas as to what I 
 am missing?? Thanks
 
 Bobby Gill
 [EMAIL PROTECTED]

__
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service.


---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users



---
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] Building and deploying applications with Nant

2003-01-20 Thread Brian Deacon
It definitely sounds like a job for the not-yet-existing (?) uptodate
task.  In the interim, I shudder to suggest a frankenstein'd combination
of ant tasks doing the uptodate checks which then fire off separate nant
tasks via some kludgy use of the ant's exec command.  It would require
yanking all the depends tags out of the nant script, which then makes
you wonder about the usefulness of owning such a script.

Brian

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of Ben
Singh
Sent: Monday, January 20, 2003 7:42 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: RE: [nant-dev] Building and deploying applications with Nant

Thanks for your response Gordon,

Let me try and clarify my situation.  
1) You are indeed correct that if only businessportal.dll changes then
only
that dll should be rebuilt.
2) If customer.dll changes then customer.dll, customerWS.dll and
businessportal.dll need to be rebuilt.  However with Nant there is no
way of
rebuilding only these dll's.  Currently core.dll, customer.dll,
customerWS.dll and businessportal.dll would all have to be rebuilt.  If
I
could get Nant to recompile everything downstream from the customer
assembly
(ie customer.dll, customerWS.dll and businessportal.dll) then my main
problem would be solved).
3) By rebuilding all the dll's the assembly versions change and hence
the
manifest now points to a different version of the assembly.  Therefore
all
the assemblies need to be redeployed.

I hope I did a better job of clarifying my problem.
Thanks
Ben

-Original Message-
From: Gordon Weakliem [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, 21 January 2003 2:18 PM
To: Ben Singh
Cc: [EMAIL PROTECTED]
Subject: Re: [nant-dev] Building and deploying applications with Nant


I'm not sure I really understand the situation, but I'll take a crack.  

Ben Singh wrote:

In this example I have a core.dll, customer.dll, customerWS.dll and a
businessportal.dll.  If something in businessportal.dll changes then as
far
as I know a complete build needs to be performed.

I'm confused by this.  If something in an assembly that nothing else 
depends on changes, why would you need to recompile anything besides 
that assembly?  If you change businessportal.dll, I don't see why you'd 
need a complete build.

  However in theory only
the businessportal.dll should need to be recompiled.  This means that
the
entire site has to be recompiled (because I am using strong names) and
more
importantly redeployed.  

I'd first question whether you need strong names, but that's just me, 
avoiding complexity at all costs :-)

The scale of the problem becomes a lot larger when
you have deployments over multiple machines.  Then the deployment
scenario
for a small change becomes a lot more horrendous.  
Down time is a critical factor in our business and if we don't achieve
a
certain level of uptime then we violate or contractual obligations.  It
would be good to hear from some other people to see whether they are
experiencing the same types of problems.  

We have load balanced systems where the load balancer (a Cisco Content 
Switch, I think) allows you to shut off a machine and drain traffic off 
of that server.  Once that's been done, you can deploy that server and 
bring it back into rotation.  If you have version problems (what you're 
deploying is totally incompatible with the prior version and can't 
co-exist at all, even for a few minutes), then you'd have to set up a 
stovepiped environment, or install one set of boxes and then work out 
some way to bring the new ones online while simultaneously bringing the 
old ones offline.  Given that uptime is so critical, I'd say that you're

best off trying to avoid situations where you're deploying stuff that 
breaks what's out there.

In short, it doesn't sound to me like you have a NAnt problem, it sounds

like you have an architectural problem.  Like I said, I may be totally 
misreading your situation, but that's what it sounds like to me.



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers



[nant-dev] Sourceforge CVS server problems?

2003-01-16 Thread Brian Deacon








Has anyone else been experiencing problems with pserver access to cvs.sourceforge.net? I cant seem to connect to 2401 and
traceroutes seem to be dying somewhere near sfs firewalls.
And is this related to the nightly code drop still being from the 14th?



Brian Deacon










[nant-dev] Trivial modifications to ConsoleRunner.cs

2003-01-14 Thread Brian Deacon
This was purely motivated by me wanting to be able to use -f: instead of 
-buildfile:.  Bold!  :)

options:
 -help   print this message
 -projecthelpprint project help information
 -buildfile:file   use given buildfile
-file:file''
-f:file   ''
 -find   search parent directories for buildfile
 -D:property=value   use value for given property
 -verbose, -vdisplays more information during build process
 -logger:use given class name as logger
 -logfile:, -l:  use value as name of log output file

I also did some thoroughly anal-retentive refactoring.  (Made a 
CommandLineOption enum, moved the above console output into its own 
function.)

Don't know that these changes warrant any additions to Nant.Console.Tests, 
but if the Council of Elders feels it appropriate, I'd be happy to oblige. 
:)

Oh, and I would appreciate being alerted to any style/convention violations 
I may have committed.

Brian Deacon

_
MSN 8: advanced junk mail protection and 2 months FREE*. 
http://join.msn.com/?page=features/junkmail


ConsoleRunner.zip
Description: Zip compressed data


Re: [nant-dev] Trivial modifications to ConsoleRunner.cs

2003-01-14 Thread Brian Deacon
Is new Scott an improvement on the old Scott?  :)

Yah, I thought maybe Scott and I had crossed paths based on his e-mail... 
but I'm still in the process of beating cvs into submission on my work box 
and sf's web-based CVS browser has been finicky of late.  (Anybody know what 
the deal is with that, btw?)

Question re: the echo task.

I noticed echo message=foo / rather than echofoo/echo.

Was this a design decision, or a quick and dirty to take advantage of 
TaskAtrributeAttribute?  (Can you tell I'm porting my ant script?)  :)

How do folks feel about supporting either/or?
echo message=This is still supported. /
echoThis would then be supported./echo
echo message=Naughty ScriptThis would cause a BuildException./echo

(I'm volunteering, btw, not feature nagging.)

Personally, I'm fond of the echo task as the poor-man's online help, and 
being able to preserve the whitespace inside echo/echo comes in handy 
for that.

Brian

(Oh, and thanks for the tips on style, Ian.  'preciated.)




From: Ian MacLean [EMAIL PROTECTED]
CC: Brian Deacon [EMAIL PROTECTED],  
[EMAIL PROTECTED]
Subject: Re: [nant-dev] Trivial modifications to ConsoleRunner.cs
Date: Wed, 15 Jan 2003 12:43:15 +1100

After seeing new Scott's latest changes it looks like that code has been 
moved to ConsoleDriver.cs. So I'll look at adding the changes there.

Ian

Brian,
thanks for your contribution
I just had a brief skim thru the code and it looks OK. As for style 
conventions just the usual.
1. open braces on the same line
2. use spaces not tabs for indenting.

Visual studio will by default get both of these wrong if thats what you're 
using.
one other thing. I notice you changed  if(project != null)  to
if(null != project)

This isn't really necessary in C# as the expression (project = null) does 
not evaluate to bool as it would in C++.
I'll commit this later today
Ian

This was purely motivated by me wanting to be able to use -f: instead 
of -buildfile:.  Bold!  :)

options:
 -help   print this message
 -projecthelpprint project help information
 -buildfile:file   use given buildfile
-file:file''
-f:file   ''
 -find   search parent directories for buildfile
 -D:property=value   use value for given property
 -verbose, -vdisplays more information during build process
 -logger:use given class name as logger
 -logfile:, -l:  use value as name of log output file

I also did some thoroughly anal-retentive refactoring.  (Made a 
CommandLineOption enum, moved the above console output into its own 
function.)

Don't know that these changes warrant any additions to 
Nant.Console.Tests, but if the Council of Elders feels it appropriate, 
I'd be happy to oblige. :)

Oh, and I would appreciate being alerted to any style/convention 
violations I may have committed.

Brian Deacon

_
MSN 8: advanced junk mail protection and 2 months FREE*. 
http://join.msn.com/?page=features/junkmail






---
This SF.NET email is sponsored by: Take your first step towards giving 
your online business a competitive advantage. Test-drive a Thawte SSL 
certificate - our easy online guide will show you how. Click here to get 
started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers





---
This SF.NET email is sponsored by: Take your first step towards giving your 
online business a competitive advantage. Test-drive a Thawte SSL 
certificate - our easy online guide will show you how. Click here to get 
started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers


_
The new MSN 8: smart spam protection and 2 months FREE*  
http://join.msn.com/?page=features/junkmail



---
This SF.NET email is sponsored by: Take your first step towards giving 
your online business a competitive advantage. Test-drive a Thawte SSL 
certificate - our easy online guide will show you how. Click here to get 
started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers


RE: [nant-dev] Trivial modifications to ConsoleRunner.cs

2003-01-14 Thread Brian Deacon
Well, that's enough approval for me to take a whack at it.  :)

(Appears to be a network issue with cvs.sourceforge.net... can't connect
on 80 and a traceroute dies at the last hop.  Curious... you'd think
that would hurt generic cvs access as well.)

:shrug

Brian

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of Ian
MacLean
Sent: Tuesday, January 14, 2003 7:39 PM
To: Scott Hernandez
Cc: Brian Deacon; [EMAIL PROTECTED]
Subject: Re: [nant-dev] Trivial modifications to ConsoleRunner.cs

Scott Hernandez wrote:

+1 on echo supporting inline (text node) text.
  

yeah me too. Good idea.

Ian

I don't use the web based browser much, but it seems to work for me
today
when I was checking on my changes.
- Original Message -
From: Brian Deacon [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Tuesday, January 14, 2003 6:11 PM
Subject: Re: [nant-dev] Trivial modifications to ConsoleRunner.cs


  

Is new Scott an improvement on the old Scott?  :)

Yah, I thought maybe Scott and I had crossed paths based on his
e-mail...
but I'm still in the process of beating cvs into submission on my work
box
and sf's web-based CVS browser has been finicky of late.  (Anybody
know


what
  

the deal is with that, btw?)

Question re: the echo task.

I noticed echo message=foo / rather than echofoo/echo.

Was this a design decision, or a quick and dirty to take advantage of
TaskAtrributeAttribute?  (Can you tell I'm porting my ant script?)  :)

How do folks feel about supporting either/or?
echo message=This is still supported. /
echoThis would then be supported./echo
echo message=Naughty ScriptThis would cause a
BuildException./echo

(I'm volunteering, btw, not feature nagging.)

Personally, I'm fond of the echo task as the poor-man's online help,
and
being able to preserve the whitespace inside echo/echo comes in
handy
for that.

Brian

(Oh, and thanks for the tips on style, Ian.  'preciated.)









---
This SF.NET email is sponsored by: Take your first step towards giving 
your online business a competitive advantage. Test-drive a Thawte SSL 
certificate - our easy online guide will show you how. Click here to get

started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers


---
This SF.NET email is sponsored by: Take your first step towards giving 
your online business a competitive advantage. Test-drive a Thawte SSL 
certificate - our easy online guide will show you how. Click here to get 
started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers



[nant-dev] Has NAnt development slowed down?

2003-01-13 Thread Brian Deacon
Cue the tumbleweeds and howling wind...

Is the relative inactivity on this list indicative of a relative inactivity 
in NAnt development?

I was fixin' to pay my lurking dues on the dev list before I started 
sticking my nose in... but there's been little to lurk.

Are you guys bouncing stuff around privately, or has this project slid to 
the back burner?  This is some nice code and a worthy project... 'twould be 
a shame for it to die of neglect.

Brian Deacon




_
STOP MORE SPAM with the new MSN 8 and get 2 months FREE* 
http://join.msn.com/?page=features/junkmail



---
This SF.NET email is sponsored by: FREE  SSL Guide from Thawte
are you planning your Web Server Security? Click here to get a FREE
Thawte SSL guide and find the answers to all your  SSL security issues.
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
___
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers