From afde3fe2a384a2dac4dc1016b87c61d6566267cf Mon Sep 17 00:00:00 2001 From: dchandler Date: Sat, 22 Mar 2003 03:07:57 +0000 Subject: [PATCH] Double spacing so I don't hate to read it. Mentions how to maintain WylieWord. --- htdocs/BuildSystems.html | 576 ++++++++++++++++++++------------------- 1 file changed, 295 insertions(+), 281 deletions(-) diff --git a/htdocs/BuildSystems.html b/htdocs/BuildSystems.html index 31b5869..706a753 100644 --- a/htdocs/BuildSystems.html +++ b/htdocs/BuildSystems.html @@ -15,23 +15,23 @@

David Chandler has put together a build system for Jskad, the - translation tool, Tibbibl, and for the fonts. In the CVS + translation tool, Tibbibl, and for the fonts.  In the CVS repository, you'll find that the build system once worked for Savant - and QuillDriver as well. This document describes them, and should - be updated if we put together build systems for the two diacritics - packages and for Wylie Word (but see e-mail to + and QuillDriver as well.  This document describes them, and + should be updated if we put together build systems for the two + diacritics packages and for Wylie Word (but see e-mail to thdl-devel@lists.sourceforge.net that tells why we probably will continue to require Wylie Word developers to edit from within MS Word on account of the difficulty of using CVS with VBA).

- What is a build system, you ask? A build system is a set of - clear, repeatable procedures that software developers go by to - compile, run, test, create documentation, and cut releases. Our - build systems are fully automated, which provides a good basis for - collaborative development. Even for individual development, a good - build system gives you the confidence to make big organizational - changes and saves you time in the long run. + What is a build system, you ask?  A build system is a + set of clear, repeatable procedures that software developers go by + to compile, run, test, create documentation, and cut releases.  + Our build systems are fully automated, which provides a good basis + for collaborative development.  Even for individual + development, a good build system gives you the confidence to make + big organizational changes and saves you time in the long run.

Table of Contents

@@ -116,28 +116,28 @@
  • sandbox -- a directory on your local machine - that mirrors one in our project's CVS repository. You get one by - using the command 'cvs checkout'. It's called a - sandbox because you can safely play in it; your work will not - affect others until you commit your changes to the repository. - (Though if you really wanted to, you could create a CVS branch and - then even your commits (to that branch) wouldn't affect the work - of others on the trunk, or main branch.) + that mirrors one in our project's CVS repository.  You get + one by using the command 'cvs checkout'.  It's + called a sandbox because you can safely play in it; your work will + not affect others until you commit your changes to the + repository.  (Though if you really wanted to, you could + create a CVS branch and then even your commits (to that branch) + wouldn't affect the work of others on the trunk, or main branch.)
  • ssh, scp, sftp -- the software that SourceForge uses to allow you to log in to their server without worrying about the security of - your password of the subsequent communications. ssh logs you in, - scp and sftp allow you to copy files to and from - thdltools.sourceforge.net. Windows users should + your password of the subsequent communications.  ssh logs you + in, scp and sftp allow you to copy files to and from + thdltools.sourceforge.net.  Windows users should either get these tools with Cygwin or should install PuTTY; the latter is probably easier.
  • - Ant -- a.k.a. Apache Ant. Software we use to compile and package - Java programs for distrution. + Ant -- a.k.a. Apache Ant.  Software we use to compile and + package Java programs for distrution.
  • @@ -147,12 +147,12 @@

    Ant is built from the ground up as a full-featured, extensible - build system for Java programs. If you use Ant, your + build system for Java programs.  If you use Ant, your classpath-related headaches disappear (after clearing initial hurdles), and you can be sure that the build will work the same on Linux and the Mac as it does on Windows XP, because Ant itself is - a Java program. I compile, test, run, and build releases using - Ant, and really like it. + a Java program.  I compile, test, run, and build releases + using Ant, and really like it.

    @@ -166,14 +166,14 @@

    To install Apache's Jakarta Ant (or "Apache Ant" or simply "Ant"), - you'll first need a JDK installed. I recommend getting Sun's latest - 1.4 JDK (yes, it's available for Linux too). Next, see the Apache Ant website. - Their instructions for installation are pretty good, but you may - have trouble if you're on Windows and you don't know how to set - environment variables (try Control + you'll first need a JDK installed.  I recommend getting Sun's + latest 1.4 JDK (yes, it's available for Linux too).  Next, see + the Apache Ant + website.  Their instructions for installation are pretty good, + but you may have trouble if you're on Windows and you don't know how + to set environment variables (try Control Panel->System->Advanced->Environment Variables) and the - like. One thing they don't tell you is that their binary + like.  One thing they don't tell you is that their binary distribution ships with a ton of documentation in $ANT_HOME/docs/ that can all safely be deleted if you care about disk space. @@ -181,26 +181,26 @@

    I recommend installing Ant yourself, and not using a package manager - such as apt-get or rpm. This is because the ordinary installation - has a well-known $ANT_HOME/lib directory in which we'll - wish to place a couple of JARs ( - junit.jar and Vamp), as described below. I've had - personal experience with an RPM that made it impossible for me to - make Ant aware of extra JARs, so stay away from RPMs and other - packages. + such as apt-get or rpm.  This is because the ordinary + installation has a well-known $ANT_HOME/lib directory + in which we'll wish to place a couple of JARs ( junit.jar and Vamp), as + described below.  I've had personal experience with an RPM that + made it impossible for me to make Ant aware of extra JARs, so stay + away from RPMs and other packages.

    To test your installation, use cvs to checkout either the - Fonts module or the Jskad module. The - Fonts module has a simpler Ant build file + Fonts module or the Jskad module.  + The Fonts module has a simpler Ant build file (Fonts/build.xml) than the Jskad module - has, so perhaps it's better for testing. The Jskad - module should be good to go as well, though, because we have a - multi-buildfile system that delegates less common build activities - (ones that require tweaking of your Ant installation) to supporting - buildfiles and keeps the main buildfile, - Jskad/build.xml, free of nonstandard constructs. + has, so perhaps it's better for testing.  The + Jskad module should be good to go as well, though, + because we have a multi-buildfile system that delegates less common + build activities (ones that require tweaking of your Ant + installation) to supporting buildfiles and keeps the main buildfile, + Jskad/build.xml, free of nonstandard constructs.  Change directory to whichever module you choose and run the following command:

    @@ -210,24 +210,24 @@

    The output shouldn't alarm you, and it should conclude with "BUILD - SUCCESSFUL". If you have any trouble, see Ant's FAQs and then + SUCCESSFUL".  If you have any trouble, see Ant's FAQs and then e-mail David Chandler.

    Now that you have a good installation of Ant itself, you probably - will want to install both JUnit and Vamp. These steps can wait + will want to install both JUnit and Vamp.  These steps can wait until later if you're not sure you'll be testing our software or - packaging our software for release. Here are the steps to install - them: + packaging our software for release.  Here are the steps to + install them: