You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@gump.apache.org by Gert Driesen <ge...@pandora.be> on 2004/08/30 20:32:35 UTC

Re: [nant-dev] Re: NAnt

----- Original Message ----- 
From: "Adam R. B. Jack" <aj...@apache.org>
To: "Gert Driesen" <ge...@pandora.be>
Cc: <na...@lists.sourceforge.net>; "Gump General" 
<ge...@gump.apache.org>
Sent: Monday, August 30, 2004 6:10 PM
Subject: [nant-dev] Re: NAnt


> On Fri, 27 Aug 2004, Gert Driesen wrote:
>
>> I've copied your message to the NAnt Developer mailing list
>> (nant-developers@lists.sourceforge.net), which is the mailing list I'd
>> suggest you to subscribe to.
>
> I've subscribed, thanks.
>
>>>> If there's anything we (the NAnt "Team") can do to help you with NAnt,
>> or if
>>>> you run into a specific issue : don't hesiste to contact me (or anyone
>> else
>>>> of the NAnt Team)!
>
> If you could help us fill out t his page with information on how to work 
> with Nant, that'd be great. We really want to:
>
> 1) Run a script to build NAnt (kinda like the bootstrap-ant.sh script)
> 2) Use the newly built NAnt to build the rest of Nant-dom (i.e. OSS 
> project using NAnt).

There's a makefile in NAnt cvs, but this uses a minimal version of NAnt to 
build a fully functional version. Do you need a target that first creates a 
bootstrap version, and then uses that bootstrap version to build a fully 
functional version ?
>
>>>
>>> What we'd like to do is teach Python Gump how to launch NAnt (as it does
>> Ant today) with an 'environment' that Gump creates. Basically we kep 
>> calling
>> NAnt on
>>> folks projects, and the output of one project becomes the input of the
>> next.
>>>
>>> Basically we'd need to know :
>>>
>>> 1) How to call NAnt (including commandline, e.g. -debug|-verbose)

You can get the command line help by starting NAnt with a -help option.

>>> 2) How to pass an environemnt (c.f. CLASSPATH for Java folks).

You only need a correctly set-up (and supported) CLR. For Mono, you need to 
have the developer packages installed, as we use pkg-config to discover the 
location of mono .

>>> 3) How to process outputs (stdout?) and exits, etc.

Not sure what you want to accomplish here. Can you provide a little more 
information ?

>>> 4) How to process build outputs (are these .il?, c.f. jar for Java)

Build output normally consists of a set of assemblies. What further 
processing to you envision ?

Let us know if you need more information.

Gert 


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org


Re: [nant-dev] Re: NAnt

Posted by "Adam R. B. Jack" <aj...@apache.org>.
> There's a makefile in NAnt cvs, but this uses a minimal version of NAnt to
> build a fully functional version. Do you need a target that first creates
a
> bootstrap version, and then uses that bootstrap version to build a fully
> functional version ?

The ant folks have two scripts for Gump (bootstrap.bat and bootstrap.sh)
that build Ant with minimal dependencies so Gump can (portably) call that to
get the builder. (Please see: http://cvs.apache.org/viewcvs.cgi/ant/). With
that minimal one Gump can then build the basic projects, and then build Ant
proper using it's dependencies. This is a nice step since it ensures that
the Ant used is latest, so acts as a test for Ant asn wel las the Ant built
projects. Something similar for NAnt would be wonderful.

> >>> 2) How to pass an environemnt (c.f. CLASSPATH for Java folks).
>
> You only need a correctly set-up (and supported) CLR. For Mono, you need
to
> have the developer packages installed, as we use pkg-config to discover
the
> location of mono .

I was (also) refering to the 'assemblies' from the previous projects being
passed to the currently being built one.

> >>> 3) How to process outputs (stdout?) and exits, etc.
>
> Not sure what you want to accomplish here. Can you provide a little more
> information ?
>

Just wanting to tell if NAnt fail to build something (e.g. compile error due
to underlying change).

> >>> 4) How to process build outputs (are these .il?, c.f. jar for Java)
>
> Build output normally consists of a set of assemblies. What further
> processing to you envision ?

This was really just to publish them to a repository, and pass them to
dependent projects. I wasn't sure if anything else was needed.

> Let us know if you need more information.

Thanks.

regards

Adam


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org


Re: [nant-dev] Re: NAnt

Posted by Stefan Bodewig <bo...@apache.org>.
Hi,

back from vacation so I'm sorry for the delay.  I wonder whether my
apache.org address will make it through to the nant list, if not I'll
repost there using the "other address" I've already use to subscribe
there.

On Mon, 30 Aug 2004, Gert Driesen <ge...@pandora.be> wrote:
> From: "Adam R. B. Jack" <aj...@apache.org>

>> 1) Run a script to build NAnt (kinda like the bootstrap-ant.sh
>> script)
>> 2) Use the newly built NAnt to build the rest of Nant-dom (i.e. OSS
>> project using NAnt).
> 
> There's a makefile in NAnt cvs, but this uses a minimal version of
> NAnt to build a fully functional version.

I guess this could work for starters, we'd probably want a shell
script and/or a batch file wrap the make invocation.

> Do you need a target that first creates a bootstrap version, and
> then uses that bootstrap version to build a fully functional version
> ?

This is more or less how things work for Ant, yes.

>> 2) How to pass an environemnt (c.f. CLASSPATH for Java folks).

This is where things become difficult, I'm afraid.  Adam - like me -
is coming from a Java background and probably - again like me -
doesn't fully grasp the .NET way of live yet.

Let me first explain how Gump works for a Java project building with
Ant.  Let's assume we want to build project A that doesn't have any
external dependencies, builds with Ant and wants to run JUnit unit
tests.

(1) check out Ant from CVS HEAD
(2) check out JUnit from CVS HEAD
(3) check out A from CVS HEAD (or SVN trunk or whatever)

(4) make sure we ignore any version of Ant that may be present on the
    machine.
(5) bootstrap Ant
(6) use the bootstrapped version of Ant to build JUnit.
(7) use the bootstrapped version of Ant plus our fresh build of JUnit
    to build A - make sure that we don't use any other version of
    JUnit that may be installed.

We achieve the "make sure we don't use any other version" part by
controlling the CLASSPATH environment variable (where the Java VM is
going to look for classes).

Now replace Ant with NAnt and JUnit with NUnit.  How would something
like this work?  How could I ever avoid using a version of NUnit
that's inside the global assembly cache?  How could I specify the
location of nunit-core.dll at runtime?

This is what Adam's question really is about - and we Java folks
probably need more .NET than NAnt help to get started.  This will
certainly change later 8-)

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org