ac2470071d8b98d7a7fec03c53994b0df57e8910
[jalview.git] / utils / jalopy / docs / build.html
1
2     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3   <html><head>
4       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5    <title>Chapter&nbsp;2.&nbsp;Building</title><link rel="stylesheet" href="site.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="manual.html" title="Jalopy User Manual"><link rel="up" href="part-core.html" title="Part&nbsp;I.&nbsp;Jalopy core"><link rel="previous" href="installation.html" title="Chapter&nbsp;1.&nbsp;Installation"><link rel="next" href="usage.html" title="Chapter&nbsp;3.&nbsp;Usage"><link rel="preface" href="dedication.html" title="Dedication"><link rel="preface" href="acknowledge.html" title="Acknowledgements"><link rel="preface" href="introduction.html" title="Introduction"><link rel="part" href="part-core.html" title="Part&nbsp;I.&nbsp;Jalopy core"><link rel="chapter" href="installation.html" title="Chapter&nbsp;1.&nbsp;Installation"><link rel="chapter" href="build.html" title="Chapter&nbsp;2.&nbsp;Building"><link rel="chapter" href="usage.html" title="Chapter&nbsp;3.&nbsp;Usage"><link rel="chapter" href="settings.html" title="Chapter&nbsp;4.&nbsp;Settings"><link rel="part" href="part-plugins.html" title="Part&nbsp;II.&nbsp;Plug-ins"><link rel="chapter" href="plugin-ant.html" title="Chapter&nbsp;5.&nbsp;Ant Plug-in task"><link rel="chapter" href="plugin-console.html" title="Chapter&nbsp;6.&nbsp;Console Application"><link rel="chapter" href="plugin-eclipse.html" title="Chapter&nbsp;7.&nbsp;Eclipse Plug-in"><link rel="chapter" href="plugin-jbuilder.html" title="Chapter&nbsp;8.&nbsp;JBuilder OpenTool"><link rel="chapter" href="plugin-jdev.html" title="Chapter&nbsp;9.&nbsp;JDeveloper Extension"><link rel="chapter" href="plugin-jedit.html" title="Chapter&nbsp;10.&nbsp;jEdit Plug-in"><link rel="chapter" href="plugin-netbeans.html" title="Chapter&nbsp;11.&nbsp;NetBeans/Sun ONE Studio module"><link rel="appendix" href="dependencies.html" title="Appendix&nbsp;A.&nbsp;Library Dependencies"><link rel="appendix" href="license-bsd.html" title="Appendix&nbsp;B.&nbsp;The Jalopy BSD License"><link rel="appendix" href="license-antlr.html" title="Appendix&nbsp;C.&nbsp;ANTLR SOFTWARE RIGHTS"><link rel="appendix" href="license-apache.html" title="Appendix&nbsp;D.&nbsp;The Apache Software License, Version 1.1"><link rel="appendix" href="license-gnu.html" title="Appendix&nbsp;E.&nbsp;GNU GENERAL PUBLIC LICENSE Version 2, June 1991"><link rel="appendix" href="license-gnu-doc.html" title="Appendix&nbsp;F.&nbsp;GNU Free Documentation License Version 1.1, March 2000"><link rel="appendix" href="license-common-public.html" title="Appendix&nbsp;G.&nbsp;Common Public License Version 1.0"><link rel="appendix" href="license-sun-public.html" title="Appendix&nbsp;H.&nbsp;SUN PUBLIC LICENSE Version 1.0"><link rel="index" href="ix01.html" title="Index"><link rel="subsection" href="build.html#build-prerequisites" title="2.1.&nbsp;Prerequisites"><link rel="subsection" href="build.html#build-build" title="2.2.&nbsp;Building">
6       <meta name="description" content="Jalopy Java Source Code Formatter Beautifier Pretty Printer"> 
7       <meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" l gen true for "http://jalopy.sf.net" r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://jalopy.sf.net" r (n 0 s 0 v 0 l 0))'> 
8     </head><body id="toppage" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table width="700" border="0" cellpadding="0" cellspacing="0" align="left"><tbody><tr><td><table cellpadding="0" cellspacing="0" width="100%" style="border:1px solid #336699"><tbody><tr><td height="16"></td></tr><tr><td bgcolor="#3399cc" height="1"></td></tr><tr style="border:none"><td style="border:none"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td class="logo">JALOPY</td><td class="sublogo" valign="bottom">Java Source Code Formatter Beautifier Pretty Printer</td></tr></tbody></table></td></tr><tr><td bgcolor="#3399cc" height="1"></td></tr><tr><td height="10"></td></tr><tr><td bgcolor="#ff8000" height="4"></td></tr><tr><td height="20" bgcolor="#336699" style="color:#ffffff;padding-left:10px"><a href="./index.html" class="navlink">Overview</a> &#149;
9                     <a href="./download.html" class="navlink">Download</a> &#149;
10                     <a href="./docs.html" class="navlink">Documentation</a> &#149;
11                     <a href="./plugins.html" class="navlink">Plug-ins</a> &#149;
12                     <a href="./links.html" class="navlink">Links</a> &#149;
13                     <a href="./contact.html" class="navlink">Contact</a></td></tr><tr><td height="1" bgcolor="#ffffff"></td></tr></tbody></table></td></tr><tr valign="top"><td valign="top" bgcolor="#ffffff"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td height="20" bgcolor="#faebd7" style="padding-left:15px"><a href="./features.html" class="navlink2">Features</a> |
14                     <a href="./history.html" class="navlink2">History</a> |
15                     <a href="./manual.html" class="navlink2">Manual</a> |
16                     <a href="./faq.html" class="navlink2">FAQ</a> |
17                     <a href="./api/index.html" class="navlink2">Javadoc</a></td></tr><tr><td height="20" bgcolor="#ffffff"></td></tr><tr><td bgcolor="#eeeecc" height="17" align="right" style="font-size:10px;padding-right:3px">
18                     This page generated: <strong>June 8 2004</strong></td></tr></tbody></table><table border="0" width="100%" cellspacing="0" cellpadding="5"><tr><td><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;2.&nbsp;Building</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="installation.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;I.&nbsp;Jalopy core</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="usage.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="build"></a>Chapter&nbsp;2.&nbsp;Building</h2></div></div><div></div></div><a class="indexterm" name="d0e706"></a><p>
19 Explains the steps involved in building Jalopy from the sources.
20 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="build-prerequisites"></a>2.1.&nbsp;Prerequisites</h4></div></div><div></div></div><a class="indexterm" name="d0e716"></a><p>
21 The following software must be installed separately, in order to build from the
22 sources:
23 </p><div class="table"><a name="tab-build-prerequisites"></a><p class="title"><b>Table&nbsp;2.1.&nbsp;Software needed to build from the sources</b></p><table summary="Software needed to build from the sources" border="0" style="border-collapse: collapse;"><colgroup><col><col></colgroup><tbody><tr><td style="" valign="top">Jakarta Ant</td><td style="">
24 Jalopy comes with a simple, Ant-based build system. So you first need to obtain and
25 install Ant as outlined in the
26 <a href="http://jakarta.apache.org/ant/manual/install.html" target="_top">Ant manual</a>.
27 The build system is only tested against the Ant 1.5.4 release, but later
28 releases of Ant may also work.
29 </td></tr><tr><td style="" valign="top">Oasis DocBook XML DTD</td><td style="">
30 All documentation is written using DocBook Version 4.2 markup. You can get the DTD
31 from the
32 <a href="http://www.oasis-open.org/committees/docbook/xml/4.2/index.shtml" target="_top">OASIS web site</a>.
33 Unpack the sources into a folder of your choice and remember this path as it will be
34 needed for configuration later on.
35 </td></tr><tr><td style="" valign="top">An XSLT processor</td><td style="">
36 The DocBook markup needs to be transformed in order to make some user-friendly appearance.
37 This is done via XSLT and Michael Kay's Saxon is the processor I found working with the
38 Stylesheet package I use. You should download the current stable production
39 release from SourceForge (<a href="http://saxon.sf.net" target="_top">http://saxon.sf.net</a>)
40 and extract the file <tt class="filename">saxon.jar</tt> into the <tt class="filename">/lib</tt>
41 folder of your Ant installation directory.  I also had to setup saxon to use
42 Xerces as the XML parser by editing the
43 META-INF/services/javax.xml.parsers.SAXParserFactory file inside of
44 saxon.jar and replacing the alfred parser with org.apache.xerces.jaxp.SAXParserFactoryImpl
45 </td></tr><tr><td style="" valign="top">DocBook XSL Stylesheets</td><td style="">
46 To perform the markup translation you need Norman Walsh's XSL Stylesheet package.
47 The version that works for me is 1.62.4. You can get it from SourceForge
48 (<a href="http://docbook.sf.net" target="_top">http://docbook.sf.net</a>).
49 Copy the file <tt class="filename">extensions/saxon651.jar</tt> that
50 comes with the distribution into the <tt class="filename">/lib</tt> folder of your
51 Ant installation directory as this file is needed for sophisticated table generation.
52 </td></tr><tr><td style="" valign="top">A CVS client (optional)</td><td style="">
53 If you plan to get the sources directly from CVS you need a CVS client. If your system
54 does not come with one pre-installed (most Linux machines at least have the command-line
55 client installed by default), you will certainly want to visit any of several good sites
56 such as <a href="http://www.cvshome.org/" target="_top">http://www.cvshome.org/</a>
57 which <a href="http://www.cvshome.org/dev/codes.html" target="_top">lists</a> available CVS clients
58 for different platforms, their strengths and weaknesses. For what it's worth, I prefer
59 <a href="http://www.smartcvs.com" target="_top">SmartCVS</a>.
60 </td></tr></tbody></table></div><p></p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="build-build"></a>2.2.&nbsp;Building</h4></div></div><div></div></div><p>
61 The basic steps to build Jalopy from the sources are:
62 </p><div class="orderedlist"><ol type="1"><li><p>
63 Get and install the needed software as outlined in <a href="build.html#build-prerequisites" title="2.1.&nbsp;Prerequisites">Section&nbsp;2.1, &#8220;Prerequisites&#8221;</a>.
64 Make sure Ant is set up correctly.
65 </p></li><li><p>
66 Get the sources. Either download and unpack the
67 <a href="./download.html#source" target="_top">Jalopy source distribution</a> which
68 contains the complete Jalopy sources. Or grab the needed modules directly from the
69 <a href="http://sourceforge.net/cvs/?group_id=45216" target="_top">CVS</a> tree.</p></li><li><p>
70 Change to the directory where your Jalopy sources reside. You should find a
71 directory layout somewhat similar to the following (each directory represents a
72 module; the minimal needed modules are printed in <span class="emphasis"><em>bold</em></span>):
73 </p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="screen">
74  ..
75    ant/                  The Ant Plug-in
76    <span class="bold"><b>build/</b></span>                The Jalopy build system
77    console/
78    <span class="bold"><b>docu/</b></span>                 All documentation sources
79    eclipse/              The Eclipse Plug-in
80    jbuilder/             The JBuilder Plug-in
81    jdeveloper/           The JDeveloper Plug-in
82    jedit/                The jEdit Plug-in
83    <span class="bold"><b>main/</b></span>                 The core Jalopy sources
84    netbeans/             The NetBeans/Sun ONE Studio Plug-in
85 </pre></td></tr></table><p>
86 Change directory into <tt class="filename">/build</tt> where the master build script
87 lurks.
88 </p></li><li><p>
89 Adjust the global build properties to match your installation. The build
90 system uses quite a few properties to control the build process and
91 specify additional needed resources. You can find and adjust these properties in the file
92 <tt class="filename">build.properties</tt>.
93 </p><p>
94 Luckily you only have to change some common properties to get things running:
95 </p><div class="variablelist"><p class="title"><b>Common build properties</b></p><dl><dt><span class="term">DIR.DOCBOOK.XSL</span></dt><dd><p>
96 Specifies the installation directory of the DocBook XSL Stylesheets package.
97 Note that you have to specify a protocol, e.g. <tt class="filename">file:///G:/XML/docbook-xsl-1.62.4</tt>.
98 </p></dd><dt><span class="term">DIR.DOCBOOK.DTD</span></dt><dd><p>
99 Specifies the path where to find the DocBook XSL DTD.
100 You have to adjust the default path to match your installation.
101 </p></dd><dt><span class="term">LIB.PATH.<i class="replaceable"><tt>&lt;modulename&gt;</tt></i></span></dt><dd><p>
102 Specifies additional library path(s) needed to build a certain module.
103 You have to adjust the default path(s) to match your installation.
104 </p></dd><dt><span class="term">PACKAGE.PATH.<i class="replaceable"><tt>&lt;libraryname&gt;</tt></i></span></dt><dd><p>
105 Specifies the location to a directory containing the package-list file for a
106 given library. This is optional and only needed by Javadoc to resolve links to
107 documentation for externally referenced classes. Change the default path(s)
108 to match your installation.
109 </p></dd></dl></div></li><li><p>
110 Once everything is set up, you can start a build using <span><b class="command">ant</b></span> <i class="parameter"><tt>target</tt></i>
111 where <i class="parameter"><tt>target</tt></i> describes one of the main build targets (those with a
112 description, use <span><b class="command">ant</b></span> <i class="parameter"><tt>-projecthelp</tt></i> to display
113 the available targets). Just typing <span><b class="command">ant</b></span> will build the Jalopy
114 core runtime distribution.
115 </p></li><li><p>
116 When a build is done, you can find the created distribution(s) in the
117 <tt class="filename">tmp~/dist</tt> folder. The build system creates and stores all
118 intermediate files and subdirectories under the <tt class="filename">tmp~</tt>
119 directory.
120 </p></li><li><p>
121 If you make changes to the source code, just run Ant again; this will perform a
122 faster <i class="firstterm">incremental</i> rebuild of the target.
123 </p></li></ol></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="installation.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="part-core.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="usage.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;1.&nbsp;Installation&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;3.&nbsp;Usage</td></tr></table></div></td></tr></table></td></tr><tr><td bgcolor="#eeeecc" height="17" style="font-size:9px;padding-left:5px"><a href="#toppage">to top</a></td></tr><tr><td height="30"><br></td></tr><tr><td height="3"></td></tr><tr><td bgcolor="#336699" height="1"></td></tr><tr><td height="1"></td></tr><tr><td bgcolor="#336699" height="16"></td></tr><tr><td bgcolor="#ff9966" height="4"></td></tr><tr><td class="footer" align="center" height="15" valign="middle">
124             Copyright &copy; 2001-2004, <a class="footer" href="./contact.html">Marco Hunsicker</a>. All rights reserved. Hosted by <a href="http://sourceforge.net">SourceForge.net</a></td></tr></tbody></table><img src="http://sourceforge.net/sflogo.php?group_id=45216&amp;type=1" width="1" height="1" border="0" hspace="0" vspace="0" alt=""></body></html>