Date: Wed, 29 Dec 2004 23:12:26 +0100 (CET) From: Herve Quiroz <hq@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: docs/75636: [PATCH] Update the Porter's handbook - Java section Message-ID: <200412292212.iBTMCQOw087198@arabica.esil.univ-mrs.fr> Resent-Message-ID: <200412292220.iBTMKJh4018027@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 75636 >Category: docs >Synopsis: [PATCH] Update the Porter's handbook - Java section >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-doc >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Wed Dec 29 22:20:19 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Herve Quiroz >Release: FreeBSD 5.3-STABLE i386 >Organization: >Environment: System: FreeBSD 5.3-STABLE #1: Mon Dec 6 04:02:19 CET 2004 i386 >Description: Document the latest features from bsd.java.mk and detail a new policy regarding the 'java'category: - USE_ANT - HAVE_JIKES - JAVALIBDIR - New entries in SUB_LIST - Additional notes regarding the 'java' category - Improve the PLIST_FILES JAR file hint (use %%JAVAJARDIR%%) NOTE: There are several statements such as: "... (see <makevar>MAKEVAR</makevar>, documented <link>here</link>) ..." Another approach would be to use: "... (see <link><makevar>MAKEVAR</makevar></link>) ..." But I will let that up to you. NOTE2: I don't know where to document the JAVA_PREFERRED_PORT mechanism but I doubt this is the right place. Probably on the FreeBSD Java project homepage, if someone feels like updating it... NOTE3: We should also consider adding a statement regarding the use of javavmwrapper in application launcher shell scripts. I'm not quite sure about this one though. >How-To-Repeat: >Fix: Index: book.sgml =================================================================== RCS file: /var/fcvs/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml,v retrieving revision 1.510 diff -u -r1.510 book.sgml --- book.sgml 22 Dec 2004 23:51:15 -0000 1.510 +++ book.sgml 29 Dec 2004 21:56:53 -0000 @@ -1536,7 +1536,10 @@ <row> <entry><filename>java</filename></entry> <entry>Software related to the Java language.</entry> - <entry></entry> + <entry><filename>java</filename> shall not be the only + category for a port. Porters are also encouraged not to + use <filename>java</filename> as the main category of a + port.</entry> </row> <row> @@ -4297,7 +4300,10 @@ <command>jikes</command> (by setting <literal>'no'</literal> or <literal>'yes'</literal>). In the later case, <filename role="package">devel/jikes</filename> will be added to build - dependencies of the port.</entry> + dependencies of the port. In any case that <command>jikes</command> + is actually used in place of <command>javac</command>, then the + <makevar>HAVE_JIKES</makevar> variable is defined by + <filename>bsd.java.mk</filename>.</entry> </row> </tbody> </tgroup> @@ -4435,6 +4441,11 @@ JDKs used <filename>${JAVA_HOME}/lib/classes.zip</filename>.</entry> </row> + <row> + <entry><makevar>HAVE_JIKES</makevar></entry> + <entry>Defined whenever <command>jikes</command> is used by + the port (see <makevar>USE_JIKES</makevar> above).</entry> + </row> </tbody> </tgroup> </table> @@ -4469,10 +4480,41 @@ Default: <filename>${JAVASHAREDIR}/classes</filename>.</entry> </row> + <row> + <entry><makevar>JAVALIBDIR</makevar></entry> + <entry>The directory where JAR files installed by other + ports are located. Default: + <filename>${LOCALBASE}/share/java/classes</filename>.</entry> + </row> </tbody> </tgroup> </table> + <para>The related entries are defined in both + <makevar>PLIST_SUB</makevar> (documented + <link linkend="porting-plist">here</link>) and + <makevar>SUB_LIST</makevar>.</para> + + </sect2> + + <sect2 id="java-building-with-ant"> + <title>Building with Ant</title> + + <para>When the port is to be built using Apache Ant, it has to + define <makevar>USE_ANT</makevar>. Ant is thus considered to be + the sub-make command. When no <literal>do-build</literal> target + is defined by the port, a default one will be set that simply + runs Ant according to <makevar>MAKE_ENV</makevar>, + <makevar>MAKE_ARGS</makevar> and <makevar>ALL_TARGETS</makevar>. + This is similar to the <makevar>USE_GMAKE</makevar> mechanism, + which is documented <link linkend="makefile-build">here</link>. + </para> + + <para>If <command>jikes</command> is used in place of + <command>javac</command> (see <makevar>USE_JIKES</makevar> + <link linkend="java-variables">above</link>), then Ant will + automatically use it to build the port.</para> + </sect2> <sect2 id="java-best-practices"> @@ -4487,7 +4529,7 @@ statement (where <filename>myport.jar</filename> is the name of the JAR file installed as part of the port):</para> - <programlisting>PLIST_FILES+= ${JAVAJARDIR:S,^${PREFIX}/,,}/myport.jar</programlisting> + <programlisting>PLIST_FILES+= %%JAVAJARDIR%%/myport.jar</programlisting> <para>When porting a Java application, the port usually installs everything under a single directory (including its JAR @@ -4548,6 +4590,10 @@ the issue you are trying to resolve is related to either a JDK implementation or <filename>bsd.java.mk</filename>.</para> + <para>Similarly, there is a defined policy regarding the + <makevar>CATEGORIES</makevar> of a Java port, which is detailed + <link linkend="makefile-categories">here</link>.</para> + </sect2> </sect1> >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412292212.iBTMCQOw087198>