[nant-dev] Params vs properties redux was: Nant .85 not working with Draco.Net

2004-08-20 Thread Ian MacLean
This seems to be causing a lot of grief. I'm really leaning towards 
having a list of  elements at the project level and allowing 
those and only those values to be passed on the commandline. I'm not 
sure how feasible that would be with the way we pass properties to 
nested builds but I think it would simplfy things a lot and add extra 
benefits. For example:


   

...
params would be the equivalent of c#'s args[] array thats passed to main 
and similarly would be readonly. Because they are seperate from 
properties its clear that they have pass by value semantics.  The 
default attribute allows you to use a default if a value isn't passed on 
the commandline without haveing to do the non-intuitive 
overwrite="false" mojo that is required now - similar to languages that 
allow default values for function paramaters. The description would be 
output when you do a nant -projecthelp further documenting the build file.

If you want a writable value based on a param you would set a new 
property - the same as you would in c# code with pass by value method 
arguments. Similarly it probably makes sense to have params and 
properties in the same namespace so you coulndn't create a property with 
the same name as an existing param.

Ian
Merrill Cornish wrote:
Unfortunately,  the property task's overwrite attribute can't overwrite a readonly 
property--according to the documentation.
So, if you are passing a command line argument into the NAnt 0.85 script and you want to munge that value internally, then you will have to create a second property initialized to the command line property value, then munger this second property.  

Of course, if the command line argument wasn't specified, then you can detect that in 
the NAnt script with not property::exists('propertyName') then set propertyName to its 
default value.
Merrill
---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users
 


--
Ian MacLean, Developer, 
ActiveState, a division of Sophos
http://www.ActiveState.com


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers


Re: [nant-dev] Re: Add support for multiple filesets to the task.

2004-08-20 Thread Ian MacLean
You can always just use multiple invocations of the  task
Ian
Gert Driesen wrote:
Hi Felice,
I think we should actually tackle this in general : I'm pretty sure 
there are more tasks where support for multiple filesets could be useful.

However, this should be done post 0.85 ...
Gert
- Original Message - From: "Felice Vittoria" 
<[EMAIL PROTECTED]>
To: "Gert Driesen" <[EMAIL PROTECTED]>
Sent: Friday, August 20, 2004 9:57 PM
Subject: Add support for multiple filesets to the  task.

Gert,
I was wondering what the status of "Add support for multiple filesets 
to the  task" is.   I noticed in the Release Plan that it's 
pending.   If it's not going in Nant 0.85 will it be going in a future 
release?

Thanks,
Felice

---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

--
Ian MacLean, Developer, 
ActiveState, a division of Sophos
http://www.ActiveState.com


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers


[nant-dev] Re: Add support for multiple filesets to the task.

2004-08-20 Thread Gert Driesen
Hi Felice,
I think we should actually tackle this in general : I'm pretty sure there 
are more tasks where support for multiple filesets could be useful.

However, this should be done post 0.85 ...
Gert
- Original Message - 
From: "Felice Vittoria" <[EMAIL PROTECTED]>
To: "Gert Driesen" <[EMAIL PROTECTED]>
Sent: Friday, August 20, 2004 9:57 PM
Subject: Add support for multiple filesets to the  task.

Gert,
I was wondering what the status of "Add support for multiple filesets to the 
 task" is.   I noticed in the Release Plan that it's pending.   If it's 
not going in Nant 0.85 will it be going in a future release?

Thanks,
Felice

---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers


Re: [nant-dev] Re: install targets

2004-08-20 Thread Ian MacLean
Gert Driesen wrote:
- Original Message - From: "Ian MacLean" <[EMAIL PROTECTED]>
To: "Gert Driesen" <[EMAIL PROTECTED]>
Cc: "Nant-Developers (E-Mail)" <[EMAIL PROTECTED]>
Sent: Friday, August 20, 2004 11:44 AM
Subject: Re: [nant-dev] Re: install targets
The current layout is already confusing. How many "I downloaded 
version x of nant but the test failed when building" emails do we get 
- to which we reply "you don't need to build - its already there". If 
there is no makefile or NAnt.build in the binary distribution then 
this won't happen.

But we do include a shell script for installing NAnt (and creating a 
wrapper script on linux) in the binary distribution ?

yes I think so. I mean we could get away with using a small 
install.build file. Yeah I know I know - I just said in a previous mail 
that build/makefiles aren't necessarily the best choice for installers 
but it would be easy to write and it would be X-platform.

PS. Have you have looked into creating an RPM for NAnt ?
No - If I get a chance I'd like to - or if someone out there with rpm 
building skills would like to volunteer - that would be great too.

Ian

---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers


[nant-dev] [ nant-Bugs-969593 ] Solution task fails to guess outputpath

2004-08-20 Thread SourceForge.net
Bugs item #969593, was opened at 2004-06-09 15:27
Message generated for change (Comment added) made by drieseng
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=969593&group_id=31650

Category: Tasks
Group: 0.85
Status: Open
Resolution: None
Priority: 5
Submitted By: Thibaut Barrère (tbarrere)
Assigned to: Nobody/Anonymous (nobody)
Summary: Solution task fails to guess outputpath

Initial Comment:
symptom : when building a solution (attached here with
the build file) using the solution task, I get the
following output :

OUTPUTBEGIN
NAnt 0.85 (Build 0.85.1619.0; net-1.1.win32; nightly;
07/06/2004)
Copyright (C) 2001-2004 Gerry Shaw
NAnt Team

Buildfile:
file:///C:/workingpatches/PathCombine/default.build
Target(s) specified: build

build:

 [solution] Starting solution build.

BUILD FAILED

INTERNAL ERROR

System.ArgumentNullException: Value cannot be null.
Parameter name: path2
   at System.IO.Path.Combine(String path1, String path2)
   at NAnt.VSNet.VcConfiguration.get_OutputPath() in
c:\BuildServer\Tools\nant\src\NAnt.VSNet\VcConfiguration.cs:line
154 at NAnt.VSNet.ProjectBase.GetOutputPath(String
configuration) in
c:\BuildServer\Tools\nant\src\NAnt.VSNet\ProjectBase
.cs:line 178
at NAnt.VSNet.Solution.GetDependenciesFromProjects() in
c:\BuildServer\Tools\nant\src\NAnt.VSNet\Solution.cs:line
594
at NAnt.VSNet.Solution..ctor(FileInfo solutionFile,
ArrayList additionalProjects, ArrayList
referenceProjects, TempFi
leCollection tfc, SolutionTask solutionTask,
WebMapCollection webMaps, FileSet excludesProjects,
DirectoryInfo outputDir
, GacCache gacCache) in
c:\BuildServer\Tools\nant\src\NAnt.VSNet\Solution.cs:line
131 at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() in
c:\BuildServer\Tools\nant\src\NAnt.VSNet\Tasks\SolutionTask.cs:line
 365 at NAnt.Core.Task.Execute() in
c:\BuildServer\Tools\nant\src\NAnt.Core\Task.cs:line 176
   at NAnt.Core.Target.Execute() in
c:\BuildServer\Tools\nant\src\NAnt.Core\Target.cs:line 249
   at NAnt.Core.Project.Execute(String targetName,
Boolean forceDependencies) in
c:\BuildServer\Tools\nant\src\NAnt.Core
\Project.cs:line 870
   at NAnt.Core.Project.Execute() in
c:\BuildServer\Tools\nant\src\NAnt.Core\Project.cs:line 827
   at NAnt.Core.Project.Run() in
c:\BuildServer\Tools\nant\src\NAnt.Core\Project.cs:line 895

Please send bug report to
[EMAIL PROTECTED]

Total time: 0.2 seconds.

OUTPUTEND



investigation : i discovered this in the vcproj file
(which I did not manually edit myself)

 .vcproj extract --

(...)

(...)


-- end of extract -

vs.net doesn't always set the OutputFile attribute on
VCLibrarianTool, and seems to default internally to the
other configuration in this case. The project compiles
fine under VS.Net 2003.


consequence : the solution task fails to guess the
outputpath through current configuration VCLibrarianTool.

suggestion : defaults to another configuration
vclibrarian tool (such as release, but what to do when
there are more configurations, or no more "release"
configuration ?)


Thibaut Barrère


--

>Comment By: Gert Driesen (drieseng)
Date: 2004-08-20 16:46

Message:
Logged In: YES 
user_id=707851

Ping !

--

Comment By: Gert Driesen (drieseng)
Date: 2004-08-11 20:05

Message:
Logged In: YES 
user_id=707851

Can you try using a (very) recent nightly build 
(http://nant.sourceforge.net/nightly/builds) ?

Thanks !

--

Comment By: Darwin Dan Boyle (ddboyle945)
Date: 2004-07-14 22:10

Message:
Logged In: YES 
user_id=742907

I have also had this problem, I have a temporary workaround, 
and have looked at the Nant source code.

I'm using NAnt 0.84 release.  I tried the 7/14/2004 test build, 
and it didn't resolve this problem.

To recreate the problem.  Go into the MS Visual Studio .NET 
2003 IDE, select File...New Project... and create an ATL .dll 
project (unmanaged).  In our case, lets create a project 
called Binky.  Hit enter through the rest of the defaults to 
have the project created on your hard drive.  

Notice that there are TWO .vcproj files created, one for 
the .dll (Binky.vcproj), and another for the proxy/stub of this 
DLL (BinkyPS.vcproj).  The proxy/stub .vcproj is the one that 
fails in Nant with this error.

As a work around, you can edit the .sln file with a text editor, 
and delete the lines containing the Project...EndProject for 
BinkyPS (and everything in between).  The other project will 
work.  This workaround works for me because I don't care 
about a COM proxy/stub (and I suspect most people don't 
care about the proxy/stub)...

After looking at the source for 
src\Nant.VSNet\vcconfiguration.cs, around line 113 (I'm using 
0.84 release), the code is trying to get a OutputFile from

[nant-dev] [ nant-Bugs-948243 ] Satellite resource assemblies reference bug

2004-08-20 Thread SourceForge.net
Bugs item #948243, was opened at 2004-05-05 08:27
Message generated for change (Comment added) made by drieseng
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=948243&group_id=31650

Category: Tasks
Group: 0.85
>Status: Closed
>Resolution: Fixed
Priority: 5
Submitted By: Jo (jo-tmbamf)
>Assigned to: Gert Driesen (drieseng)
Summary: Satellite resource assemblies reference bug

Initial Comment:
I am having a problem with the following scenario:
 
I have one class library with a resource file contained in 
it: translations.en-us.resx. When I compile it (using 
vs.net)
I get 2 dll files:
 - Translations.dll
 - en-US/Translations.resources.dll (notice that this dll is 
in a subfolder)
 
I also have a web project, which has a reference to 
Translations.dll. When I compile the web project (using 
vs.net again) I get in my bin folder both the 
Translations.dll and en-US/Translations.resources.dll.
 
However, when I compile the webproject with nant 
(using the solution task) I do not get "en-
US/Translations.resources.dll" in my bin folder. I do not 
get any warnings or errors from the compiler either.

-Jo

ps. the attached repro uses a windows app instead of a 
web app, the bug remains the same of course.

--

>Comment By: Gert Driesen (drieseng)
Date: 2004-08-20 16:45

Message:
Logged In: YES 
user_id=707851

This issue is now completely fixed in cvs.

Thanks for the report !

--

Comment By: Jo (jo-tmbamf)
Date: 2004-05-24 08:43

Message:
Logged In: YES 
user_id=1035504

Thx!

--

Comment By: Gert Driesen (drieseng)
Date: 2004-05-15 10:01

Message:
Logged In: YES 
user_id=707851

I fixed the second part of the bug report, meaning NAnt does 
not pick up a change in a resource file.

--

Comment By: Jo (jo-tmbamf)
Date: 2004-05-10 15:18

Message:
Logged In: YES 
user_id=1035504

Related to this bug:
1. Run nant --> both projects are compiled
2. Edit the resource file (for example, change a key/value pair)
3. Run nant again --> nothing is recompiled, nant did not pick 
up the change in the resource file.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=948243&group_id=31650


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers


[nant-dev] [ nant-Bugs-997897 ] OutOfMemoryException runing many large ZIP tasks

2004-08-20 Thread SourceForge.net
Bugs item #997897, was opened at 2004-07-26 10:55
Message generated for change (Comment added) made by drieseng
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=997897&group_id=31650

Category: Tasks
Group: 0.8.4.0
>Status: Closed
Resolution: Fixed
Priority: 5
Submitted By: ZN (girt)
Assigned to: Gert Driesen (drieseng)
Summary: OutOfMemoryException runing many large ZIP tasks

Initial Comment:
if many ZIP tasks folow each other then after each ZIP 
task memory is not released. And when SC is out of 
memory, error message is displayed "Exception of type 
System.OutOfMemoryException was thrown."

NAnt 0.84 (Build 0.84.1455.0; net-1.0.win32; release; 
26.12.2003)

--

>Comment By: Gert Driesen (drieseng)
Date: 2004-08-20 12:45

Message:
Logged In: YES 
user_id=707851

I've just uploaded a new nightly build.

Please reopen this bug report if the problem persists.

--

Comment By: Gert Driesen (drieseng)
Date: 2004-08-19 10:41

Message:
Logged In: YES 
user_id=707851

I didn't yet upload a new nightly build ... that why I 
said "next nightly build" :-)

I'll update the bug report when I've uploaded a new nightly 
build.

--

Comment By: ZN (girt)
Date: 2004-08-19 10:37

Message:
Logged In: YES 
user_id=1091317

nope, still the same problem with
NAnt 0.85 (Build 0.85.1690.0; net-1.0.win32; nightly; 
17.08.2004)

--

Comment By: Gert Driesen (drieseng)
Date: 2004-08-19 09:18

Message:
Logged In: YES 
user_id=707851

This is now fixed in cvs.

Try using the next nightly build 
(http://nant.sourceforge.net/nightly/builds) or wait for the 
0.85 release.

Thanks for the report !

--

Comment By: Gert Driesen (drieseng)
Date: 2004-08-02 14:19

Message:
Logged In: YES 
user_id=707851

We've recently upgraded to a newer version of #ziplib, can 
you try to reproduce this issue using a recent nightly build 
(http://nant.sourceforge.net/nightly/builds) ?

Thanks !

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=997897&group_id=31650


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers


Re: [nant-dev] Re: install targets

2004-08-20 Thread Gert Driesen
- Original Message - 
From: "Ian MacLean" <[EMAIL PROTECTED]>
To: "Gert Driesen" <[EMAIL PROTECTED]>
Cc: "Nant-Developers (E-Mail)" <[EMAIL PROTECTED]>
Sent: Friday, August 20, 2004 11:44 AM
Subject: Re: [nant-dev] Re: install targets


Gert Driesen wrote:
Ian,
I guess these was somehow a misunderstanding, but in the README.TXT you 
actually added a section called "Compliation and installation" in which 
you provide these instructions ..

sure - then that should probably be "Compliation and installation of a 
source distribution" with a seperate
"Installation of a binary distribution" section
Yes, that should make it more clear ...
or we provide seperate README's for source and binary.
Yes, that might be better ... or installing the binary release should be 
self-explanatory

Previously there were *no* instructions at all for building - thats why I 
added them.
Yeah, I know ... and its not because I have questions or remarks that I 
don't appreciate the effort ...


. These could easily be mistaken for instructions to install official 
releases ...
Well - it quite clearly says "compilation" - if the official binary 
release doesn't contain source or a NAnt.build file (which it shouldn't) 
then users can hardly compile by accident can they ?
I have the greatest confidence in the users, I'm pretty sure they can do 
just about everything  but not that ;-) lol


Currently, we only provide one means of "installing" NAnt (meaning using 
"make install" from the source distribution), so users are very likely to 
use that to install official distributions too (meaning they'll download 
and install the source distribution, while they should in fact use the 
binary distribution)  ...

ok - well then lets split into source and binary distros as soon as 
possible.

The current layout is already confusing. How many "I downloaded version x 
of nant but the test failed when building" emails do we get - to which we 
reply "you don't need to build - its already there". If there is no 
makefile or NAnt.build in the binary distribution then this won't happen.
But we do include a shell script for installing NAnt (and creating a wrapper 
script on linux) in the binary distribution ?

Gert
PS. Have you have looked into creating an RPM for NAnt ?

---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers


Re: [nant-dev] Re: install targets

2004-08-20 Thread Ian MacLean
Gert Driesen wrote:
Ian,
I guess these was somehow a misunderstanding, but in the README.TXT 
you actually added a section called "Compliation and installation" in 
which you provide these instructions ..

sure - then that should probably be "Compliation and installation of a 
source distribution" with a seperate

"Installation of a binary distribution" section
or we provide seperate README's for source and binary. Previously there 
were *no* instructions at all for building - thats why I added them.

. These could easily be mistaken for instructions to install official 
releases ... 
Well - it quite clearly says "compilation" - if the official binary 
release doesn't contain source or a NAnt.build file (which it shouldn't) 
then users can hardly compile by accident can they ?

Currently, we only provide one means of "installing" NAnt (meaning 
using "make install" from the source distribution), so users are very 
likely to use that to install official distributions too (meaning 
they'll download and install the source distribution, while they 
should in fact use the binary distribution)  ...

ok - well then lets split into source and binary distros as soon as 
possible.

The current layout is already confusing. How many "I downloaded version 
x of nant but the test failed when building" emails do we get - to which 
we reply "you don't need to build - its already there". If there is no 
makefile or NAnt.build in the binary distribution then this won't happen.

So we should make it very cler that this is not the recommended way to 
install official releases of NAnt ...

of course.
Ian
Gert
- Original Message - From: "Ian MacLean" <[EMAIL PROTECTED]>
To: "Gert Driesen" <[EMAIL PROTECTED]>
Cc: "Nant-Developers (E-Mail)" <[EMAIL PROTECTED]>
Sent: Friday, August 20, 2004 10:51 AM
Subject: Re: [nant-dev] Re: install targets

Gert Driesen wrote:
Ian,
After giving it some more thought, I think the "install" target of 
the makefile should install the pre-built binaries and docs for 
official NAnt distributions, not and rebuild the binaries from 
source. We went to a lot of trouble in order to have a single 
binary distribution, and I'd hate to see all that effort go to waste.

I disagree - this goes against how every other open source project 
packages their distribution.

As I said before - its a source distribution that happens to 
include pre built binaries  *not* a binary distribution.

I actually consider it to be a binary distribution that happens to 
include the source ;-)

thats the problem - right now we are a bit of both - thats what we 
need to change.

I just don't understand why I went through all the trouble to allow 
us to have a single binary distribution that can still take 
advantage of framework-specific assemblies, if we instruct users to 
build a framework specific version of NAnt.

we don't instruct them to do this -- that the point - we don't 
instruct them to do anything but quite often they *do* build it 
because there is a buildfile/make file and we never really provided 
proper installation instructions.

Quite a while ago, we did agree that we should have a single binary 
distribution that would work on all supported CLR's out-of-the-box, 
right ? And now that we have it, we'd go back to having a 
framework-specific binary install (with only very limited docs on 
linux) ... not sure I understand the reason behind this ...

no - completely incorrect. The install target is *not* a substitute 
for a binary installer. Its a convenience for when you build from 
source. Its not meant to used as the installer for an end user.

What we should have (in my opinion) is :
   - a source only distribution (containing only the binaries 
necessary to build NAnt)
   - a full binary distribution which would work on all supported 
CLR's and platforms (this would be offered as a zip file or tar)
   - an RPM release for linux
   - an installer release for Windows

These last two would also install a full binary distribution 
ofcourse ...

I totally agree. I thought thats what I basically proposed.
Also, the install targets in the NAnt build file should no longer 
depend on other build/doc targets (but they should just install 
whatever files are available in ${build.dir} (limited to bin, doc 
and examples directories). The dependency on other NAnt build 
target should be taken care of in the makefile.

why is that ? sure you'd want to install somthing thats built -- 
isn't that the point ? if you do a make install with most OSS 
projects it will build first if its not up to date.

Yes, for source distributions that is  But users cannot always 
build a version of NAnt that is identical to what we want 
distribute, while they still expect it to be ...

sure - again we are cross purposes -- Makefile is for building from 
source, somthing else for a binary distribution.

For example :
Let's say we have an assembly that is Mono-specific.  If we 
encourage users to build NAnt from source, then users th

Re: [nant-dev] Re: install targets

2004-08-20 Thread Gert Driesen
Ian,
I guess these was somehow a misunderstanding, but in the README.TXT you 
actually added a section called "Compliation and installation" in which you 
provide these instructions ... These could easily be mistaken for 
instructions to install official releases ...

Currently, we only provide one means of "installing" NAnt (meaning using 
"make install" from the source distribution), so users are very likely to 
use that to install official distributions too (meaning they'll download and 
install the source distribution, while they should in fact use the binary 
distribution)  ...

So we should make it very cler that this is not the recommended way to 
install official releases of NAnt ...

Gert
- Original Message - 
From: "Ian MacLean" <[EMAIL PROTECTED]>
To: "Gert Driesen" <[EMAIL PROTECTED]>
Cc: "Nant-Developers (E-Mail)" <[EMAIL PROTECTED]>
Sent: Friday, August 20, 2004 10:51 AM
Subject: Re: [nant-dev] Re: install targets


Gert Driesen wrote:
Ian,
After giving it some more thought, I think the "install" target of the 
makefile should install the pre-built binaries and docs for official 
NAnt distributions, not and rebuild the binaries from source. We went 
to a lot of trouble in order to have a single binary distribution, and 
I'd hate to see all that effort go to waste.

I disagree - this goes against how every other open source project 
packages their distribution.

As I said before - its a source distribution that happens to include pre 
built binaries  *not* a binary distribution.

I actually consider it to be a binary distribution that happens to 
include the source ;-)
thats the problem - right now we are a bit of both - thats what we need to 
change.

I just don't understand why I went through all the trouble to allow us to 
have a single binary distribution that can still take advantage of 
framework-specific assemblies, if we instruct users to build a framework 
specific version of NAnt.
we don't instruct them to do this -- that the point - we don't instruct 
them to do anything but quite often they *do* build it because there is a 
buildfile/make file and we never really provided proper installation 
instructions.

Quite a while ago, we did agree that we should have a single binary 
distribution that would work on all supported CLR's out-of-the-box, right 
? And now that we have it, we'd go back to having a framework-specific 
binary install (with only very limited docs on linux) ... not sure I 
understand the reason behind this ...

no - completely incorrect. The install target is *not* a substitute for a 
binary installer. Its a convenience for when you build from source. Its 
not meant to used as the installer for an end user.

What we should have (in my opinion) is :
   - a source only distribution (containing only the binaries necessary 
to build NAnt)
   - a full binary distribution which would work on all supported CLR's 
and platforms (this would be offered as a zip file or tar)
   - an RPM release for linux
   - an installer release for Windows

These last two would also install a full binary distribution ofcourse ...
I totally agree. I thought thats what I basically proposed.
Also, the install targets in the NAnt build file should no longer 
depend on other build/doc targets (but they should just install 
whatever files are available in ${build.dir} (limited to bin, doc and 
examples directories). The dependency on other NAnt build target should 
be taken care of in the makefile.

why is that ? sure you'd want to install somthing thats built -- 
isn't that the point ? if you do a make install with most OSS projects 
it will build first if its not up to date.

Yes, for source distributions that is  But users cannot always build 
a version of NAnt that is identical to what we want distribute, while 
they still expect it to be ...

sure - again we are cross purposes -- Makefile is for building from 
source, somthing else for a binary distribution.

For example :
Let's say we have an assembly that is Mono-specific.  If we encourage 
users to build NAnt from source, then users that don't have Mono 
installed will not be able to build the Mono-specific assembly. However, 
when they install Mono three later they would have been able to use the 
Mono-specific tasks however these are not available (without rebuilding) 


I'm not saying that we can't have users building from source, ofcourse 
they can ... but we should not instruct them to do so 

yes yes yes - I'm not saying we should instruct them to either -- hence 
the seperate source and binary distributions. The buildfile/make file 
should *not* be the installer for the binary only distribution.


Why should the dependency happen in the makefile ? Lets use NAnt for 
this - its a build tool and it handle dependencies fine.

The reason why I wanted this is to allow the install targets to be used 
from either the makefiles (to install either a freshly built NAnt or the 
pre-built binaries) or the nightly build 


Re: [nant-dev] Re: install targets

2004-08-20 Thread Ian MacLean
Gert Driesen wrote:
Ian,
After giving it some more thought, I think the "install" target of 
the makefile should install the pre-built binaries and docs for 
official NAnt distributions, not and rebuild the binaries from 
source. We went to a lot of trouble in order to have a single binary 
distribution, and I'd hate to see all that effort go to waste.

I disagree - this goes against how every other open source project 
packages their distribution.

As I said before - its a source distribution that happens to include 
pre built binaries  *not* a binary distribution.

I actually consider it to be a binary distribution that happens to 
include the source ;-)
thats the problem - right now we are a bit of both - thats what we need 
to change.

I just don't understand why I went through all the trouble to allow us 
to have a single binary distribution that can still take advantage of 
framework-specific assemblies, if we instruct users to build a 
framework specific version of NAnt.  
we don't instruct them to do this -- that the point - we don't instruct 
them to do anything but quite often they *do* build it because there is 
a buildfile/make file and we never really provided proper installation 
instructions.

Quite a while ago, we did agree that we should have a single binary 
distribution that would work on all supported CLR's out-of-the-box, 
right ? And now that we have it, we'd go back to having a 
framework-specific binary install (with only very limited docs on 
linux) ... not sure I understand the reason behind this ...

no - completely incorrect. The install target is *not* a substitute for 
a binary installer. Its a convenience for when you build from source. 
Its not meant to used as the installer for an end user.

What we should have (in my opinion) is :
   - a source only distribution (containing only the binaries 
necessary to build NAnt)
   - a full binary distribution which would work on all supported 
CLR's and platforms (this would be offered as a zip file or tar)
   - an RPM release for linux
   - an installer release for Windows

These last two would also install a full binary distribution ofcourse ...
I totally agree. I thought thats what I basically proposed.
Also, the install targets in the NAnt build file should no longer 
depend on other build/doc targets (but they should just install 
whatever files are available in ${build.dir} (limited to bin, doc 
and examples directories). The dependency on other NAnt build target 
should be taken care of in the makefile.

why is that ? sure you'd want to install somthing thats built -- 
isn't that the point ? if you do a make install with most OSS 
projects it will build first if its not up to date.

Yes, for source distributions that is  But users cannot always 
build a version of NAnt that is identical to what we want distribute, 
while they still expect it to be ...

sure - again we are cross purposes -- Makefile is for building from 
source, somthing else for a binary distribution.

For example :
Let's say we have an assembly that is Mono-specific.  If we encourage 
users to build NAnt from source, then users that don't have Mono 
installed will not be able to build the Mono-specific assembly. 
However, when they install Mono three later they would have been able 
to use the Mono-specific tasks however these are not available 
(without rebuilding) 

I'm not saying that we can't have users building from source, ofcourse 
they can ... but we should not instruct them to do so 

yes yes yes - I'm not saying we should instruct them to either -- hence 
the seperate source and binary distributions. The buildfile/make file 
should *not* be the installer for the binary only distribution.


Why should the dependency happen in the makefile ? Lets use NAnt for 
this - its a build tool and it handle dependencies fine.

The reason why I wanted this is to allow the install targets to be 
used from either the makefiles (to install either a freshly built NAnt 
or the pre-built binaries) or the nightly build 

once again - the makefile should not be the installer for pre-built 
binaries IMHO.

my proposal - 2 download packages:
1) binaries only with a simple shell script to install on linux, 
batch file for windows -- hopefully installer at some stage.
2) source package that mirrors the cvs tree. Use Make install to 
build install on *nix, bin\NAnt.exe install to build install on windows.

This is a fairly standard packaging practice

It is because most oss project are not able to provide a single binary 
distribution that works on all supported platforms ...

thats not true - its the standard for source based distributions - which 
is what the install targets are for - a source based distro. The binary 
distro should be seperate.

- getting clever with
multiple Makefiles seems like a recipe for confision.

What's difference between multiple makefiles (one for cvs/source 
distribution and one for binary distribution), and one makefile and 
on

Re: [nant-dev] Re: install targets

2004-08-20 Thread Gert Driesen
- Original Message - 
From: "Ian MacLean" <[EMAIL PROTECTED]>
To: "Gert Driesen" <[EMAIL PROTECTED]>
Cc: "Nant-Developers (E-Mail)" <[EMAIL PROTECTED]>
Sent: Friday, August 20, 2004 5:13 AM
Subject: [nant-dev] Re: install targets


Gert Driesen wrote:
Ian,
After giving it some more thought, I think the "install" target of the 
makefile should install the pre-built binaries and docs for official NAnt 
distributions, not and rebuild the binaries from source. We went to a lot 
of trouble in order to have a single binary distribution, and I'd hate to 
see all that effort go to waste.

I disagree - this goes against how every other open source project 
packages their distribution.

As I said before - its a source distribution that happens to include pre 
built binaries  *not* a binary distribution.
I actually consider it to be a binary distribution that happens to include 
the source ;-)

I just don't understand why I went through all the trouble to allow us to 
have a single binary distribution that can still take advantage of 
framework-specific assemblies, if we instruct users to build a framework 
specific version of NAnt.  Quite a while ago, we did agree that we should 
have a single binary distribution that would work on all supported CLR's 
out-of-the-box, right ? And now that we have it, we'd go back to having a 
framework-specific binary install (with only very limited docs on linux) ... 
not sure I understand the reason behind this ...

What we should have (in my opinion) is :
   - a source only distribution (containing only the binaries necessary to 
build NAnt)
   - a full binary distribution which would work on all supported CLR's and 
platforms (this would be offered as a zip file or tar)
   - an RPM release for linux
   - an installer release for Windows

These last two would also install a full binary distribution ofcourse ...
Also, the install targets in the NAnt build file should no longer depend 
on other build/doc targets (but they should just install whatever files 
are available in ${build.dir} (limited to bin, doc and examples 
directories). The dependency on other NAnt build target should be taken 
care of in the makefile.

why is that ? sure you'd want to install somthing thats built -- isn't 
that the point ? if you do a make install with most OSS projects it will 
build first if its not up to date.
Yes, for source distributions that is  But users cannot always build a 
version of NAnt that is identical to what we want distribute, while they 
still expect it to be ...

For example :
Let's say we have an assembly that is Mono-specific.  If we encourage users 
to build NAnt from source, then users that don't have Mono installed will 
not be able to build the Mono-specific assembly. However, when they install 
Mono three later they would have been able to use the Mono-specific tasks 
however these are not available (without rebuilding) 

I'm not saying that we can't have users building from source, ofcourse they 
can ... but we should not instruct them to do so 


Why should the dependency happen in the makefile ? Lets use NAnt for 
this - its a build tool and it handle dependencies fine.
The reason why I wanted this is to allow the install targets to be used from 
either the makefiles (to install either a freshly built NAnt or the 
pre-built binaries) or the nightly build 

my proposal - 2 download packages:
1) binaries only with a simple shell script to install on linux, batch 
file for windows -- hopefully installer at some stage.
2) source package that mirrors the cvs tree. Use Make install to build 
install on *nix, bin\NAnt.exe install to build install on windows.

This is a fairly standard packaging practice
It is because most oss project are not able to provide a single binary 
distribution that works on all supported platforms ...

- getting clever with
multiple Makefiles seems like a recipe for confision.
What's difference between multiple makefiles (one for cvs/source 
distribution and one for binary distribution), and one makefile and one 
shell script/batch file ? I don't see more or less confusion for any of 
these ... It might even better to just be able to use "make install" for 
both the source and the binary distributions ...

Regardless of that, users should actually use the binary release, not the 
source release ... The binaries build from source will not match those that 
are part of the binary release, this should be made very clear to the users 
... The binaries built from source will not be able to run on all supported 
frameworks, will not be able to run on all supported platform, will not 
support all tasks ... and even the version number will not match that of the 
binary release ...

Gert 


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and F