Hi everyone,

Well im writing this, after and irc discussion on #gentoo-java about the dev-java/ant 
problems, so discussion can continue here.

- Actually we have a ant ebuild that its practically a minimal ant.

- Karltk pointed the following: "USE="junit" emerge dev-java/ant <- I expect the junit 
targets to work now and they don't.

The Problem:
- When your emerge ant you want to have support for optional ant tasks that depend on 
other packages like junit. The thing is that you can't depend on junit cause junit 
needs ant to build, and ant with junit support need junit, so we have a circular 
dependency.
Also this happens with at least these 
packages:regexp,oro,bsf,bsh,antlr,jdepend,js,bcel,jython.

The proposed solutions:

1.- Have a dev-java/mini-ant package that builds all these packages before it builds 
ant, and it provides a ant virtual.
- Problems with this approach: Actually portage will not unmerge mini-ant to install 
ant, cause they will conflict cause of jars and script to run.

2.- I made a new ebuild dev-java/ant-1.5.4-r2, that its actually masked and when it 
installs, it also downloads a packages of jars just to compile ant, then after 
compling ant depending on use flags, it will install before ant is merged, all the 
dependencies.
- Problems with this approach: User will have to download a tar file of almost 6.2 Mb 
and the ant sources to install just ant.

3.- Another proposal was to have ant cut into pieces, like having:
base-ant package, an optional-junit package, and so on.
- This proposal sounds good but:
The problem its how i update package.env file to add optional-junit.jar, etc, to 
classpath, so ant can use java-config --classpath=ant and have all the later files 
installed on the ant classpath. Also Tomcat 4 and 5 have a catalina-ant.jar that if 
added to ant classpath, ant can install webapps directly on tomcat with the webapp 
manager, so this is for me a MUST feature of portage or portage-ng (Appending files 
automatically on package.env files without overwriting them, maybe forgetting about 
these files can be ok, but to remove that we need to think about a way of replacing it 
:) ) .

Well thats exactly now the dev-java/ant status, after checking, this also happens with 
dev-java/maven package.


Hope to hear from people here. :)

-- 
Adrian Almenar
Gentoo Linux Developer

PGP Key:
http://dev.gentoo.org/~strider/strider.asc
Key fingerprint = E226 3A43 09FD 8C67 0BAA 300D C8A8 CE61 71AA BCB1

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to