You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Stuart Roebuck <sr...@adolos.com> on 2000/08/07 16:06:02 UTC

[suggestion] re: Bootstrapping Ant

I've probably got this wrong - It wouldn't be the first time!

As far as I understand it, if you download the Ant source you have to  
build it the first time using a two stage build process using two different  
shell scripts which are currently maintained to run under Windows and  
Unix.  These scripts rely on the pre-existence of Java and the java  
compiler.

Why on earth are we using highly platform specific shell scripts to build  
a package that was created to allow cross platform builds to be platform  
non-specific?

Why don't we insist that the CVS source includes a sufficiently up to date  
ant.jar (and required libraries) to be able to build itself using itself.   
This may make the source distribution larger but it seems to make a lot  
more sense to me at least!

Any thoughts?

Have I lost my trolley?

Stuart.

Re: [suggestion] re: Bootstrapping Ant

Posted by Roberto Lo Giacco <rl...@mail.com>.
> Stuart,
>
> > -----Original Message-----
> > From: Stuart Roebuck [mailto:sr@adolos.com]
> >
> >
> > I've probably got this wrong - It wouldn't be the first time!
> >
> > As far as I understand it, if you download the Ant source you have to
> > build it the first time using a two stage build process
>
> If you download a clean image from CVS, you can just type build. The build
> scripts will recognize that lib/ant.jar is not present and perform the
> bootstrap automatically. The idea is to be like the other Jakarta
projects.
> The bulk of these seem to use build.bat/build.sh to build the project.

I simply don't like build.bat/build.sh because they don't support all
platforms we wish to support with ant so we still require some manipulation
to mac users, os/2 users and so on.
Here is developing a make tool: why using shell scripts to compile it? The
question is strongly right for me.

>
> > using two
> > different
> > shell scripts which are currently maintained to run under Windows and
> > Unix.  These scripts rely on the pre-existence of Java and the java
> > compiler.
> >
>
> I think ant itself, and not just the build scripts rely on the
pre-existence
> of Java and the java compiler. Not much we can do there :-)

Yes, we need a JDK to compile... :)

>
>
> > Why on earth are we using highly platform specific shell scripts
> > to build
> > a package that was created to allow cross platform builds to be platform
> > non-specific?
> >
>
> If you look at the build script, you will see that it is mostly a
front-end
> to the ant scripts. They are not that complex. The ant scripts (ant.bat
and
> ant) are also platform specific but a highly convenient way to run ant. I
> doubt you are suggesting we remove these platform specific scripts, are
you?
>

Front-end or not I guess we should avoid to use anything platform specific
unless STRONGLY required and this is not the case.


>
> > Why don't we insist that the CVS source includes a sufficiently
> > up to date
> > ant.jar (and required libraries) to be able to build itself using
> > itself.
>
> There are situations where an existing ant.jar will not be able to build a
> new version of ant. Where a new feature is added to ant and also used in
> ant's build.xml, it will always be necessary to bootstrap ant. This
happens
> rarely, but it does happen.

So simply take these new features out of the build file which needs ant
itself unless you provide in the CVS an ant.jar which supports them.

>
> > This may make the source distribution larger but it seems to make a lot
> > more sense to me at least!
> >
> > Any thoughts?
> >
>
> Having the ant.jar in CVS is unnecessary, so why bother? It is not that
> difficult to build ant purely from source.
>

Not difficult for unix/win users, what about the rest of the world? If we
don't care about the rest of the world so why writing ant... anyone already
had it's own build tool....
And we can reduce ant.jar size having into it only the tasks required for
it's building and leaving all the others out of the initial ant.jar.

> > Have I lost my trolley?
> >
> > Stuart.
>
>
>
> --
> Conor MacNeill
> conor@cortexebusiness.com.au
> Cortex eBusiness
> http://www.cortexebusiness.com.au
>
>

Roberto Lo Giacco


RE: [suggestion] re: Bootstrapping Ant

Posted by Conor MacNeill <co...@cortexebusiness.com.au>.
Stuart,

> -----Original Message-----
> From: Stuart Roebuck [mailto:sr@adolos.com]
>
>
> I've probably got this wrong - It wouldn't be the first time!
>
> As far as I understand it, if you download the Ant source you have to
> build it the first time using a two stage build process

If you download a clean image from CVS, you can just type build. The build
scripts will recognize that lib/ant.jar is not present and perform the
bootstrap automatically. The idea is to be like the other Jakarta projects.
The bulk of these seem to use build.bat/build.sh to build the project.

> using two
> different
> shell scripts which are currently maintained to run under Windows and
> Unix.  These scripts rely on the pre-existence of Java and the java
> compiler.
>

I think ant itself, and not just the build scripts rely on the pre-existence
of Java and the java compiler. Not much we can do there :-)


> Why on earth are we using highly platform specific shell scripts
> to build
> a package that was created to allow cross platform builds to be platform
> non-specific?
>

If you look at the build script, you will see that it is mostly a front-end
to the ant scripts. They are not that complex. The ant scripts (ant.bat and
ant) are also platform specific but a highly convenient way to run ant. I
doubt you are suggesting we remove these platform specific scripts, are you?


> Why don't we insist that the CVS source includes a sufficiently
> up to date
> ant.jar (and required libraries) to be able to build itself using
> itself.

There are situations where an existing ant.jar will not be able to build a
new version of ant. Where a new feature is added to ant and also used in
ant's build.xml, it will always be necessary to bootstrap ant. This happens
rarely, but it does happen.

> This may make the source distribution larger but it seems to make a lot
> more sense to me at least!
>
> Any thoughts?
>

Having the ant.jar in CVS is unnecessary, so why bother? It is not that
difficult to build ant purely from source.

> Have I lost my trolley?
>
> Stuart.



--
Conor MacNeill
conor@cortexebusiness.com.au
Cortex eBusiness
http://www.cortexebusiness.com.au