Gentoo Archives: gentoo-dev

From: Dylan Carlson <absinthe@g.o>
To: gentoo-dev@g.o, java@g.o
Subject: [gentoo-dev] [rfc] Java: deprecate 'dojar'; switch to eclass
Date: Wed, 23 Apr 2003 20:56:14
Message-Id: 200304231656.09225.absinthe@gentoo.org
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 Greetings,
5
6 Currently, 'dojar' is a script part of each sys-apps/portage release. I am
7 proposing to deprecate all Java ebuild functions from Portage and move
8 them into the Java eclass.
9
10 In terms of what this means:
11
12 1. It's easier to implement new functions in an eclass.
13 2. We can roll out new functions faster instead of waiting for them to get
14 checked into Portage and go through Portage's qa cycle.
15 3. dojar would be immediately enhanced to allow more control over how
16 CLASSPATH gets set in package.env.
17
18 I would take initial responsibility for bumping all ebuilds that currently
19 use 'dojar' to use the new eclass when it's ready. Currently only (6)
20 ebuilds outside of dev-java use 'dojar': portagemaster, postgresql,
21 jboss, orion, tomcat, pdflib.
22
23 dojar would be replaced with java_dojar().
24
25 My initial plans for enhancing jar file installation will be for
26 correctness in /usr/share/${PN}/package.env. I will be giving ebuilds the
27 chance to prepend and/or append to the CLASSPATH setting. (Order
28 sometimes matters.)
29
30 For example, see bug #10360. To solve this bug, I would add the following
31 to the ant ebuild:
32
33 JAVA_DEP_PREPEND="junit"
34
35 Multiple packages (space separated) could be supplied here. The packages
36 can be whatever the developer wants, providing that the package(s)
37 indicated exist and have a package.env. Additionally, there is
38 JAVA_DEP_APPEND if one wants some dependencies at the _end_ of the
39 CLASSPATH. In this case, it doesn't matter whether junit gets prepended
40 or appended, as long as it ends up in the CLASSPATH.
41
42 What happens next? In the example of #10360, the java eclass would in turn
43 process that variable by reading junit's package.env, get the CLASSPATH
44 and prepend that to the CLASSPATH it is writing for ant's package.env.
45
46 This would close the bug and would also solve a lot of other similar bugs
47 down the line.
48
49 Comments? Flames? Agreements?
50
51 Cheers,
52 Dylan Carlson
53
54 Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x708E165F
55 Key fingerprint = 3AEA DE38 FE42 15A6 C0E2 730E 3D04 BCC1 708E 165F
56 -----BEGIN PGP SIGNATURE-----
57 Version: GnuPG v1.2.1 (GNU/Linux)
58
59 iD8DBQE+pv3fPQS8wXCOFl8RAgxeAJ9RvDhRbNJiKhKWrMfoCk+edhecBwCdGKWx
60 7AoM4bO9yj1Jq2m6QLXBC90=
61 =cybU
62 -----END PGP SIGNATURE-----
63
64
65 --
66 gentoo-dev@g.o mailing list