Commit graph

62 commits

Author SHA1 Message Date
dchandler
149eecc4fb Added a thdl-nightly-build target for nightly builds on
iris.lib.virginia.edu.  This will need to be edited to use the real
path on iris.
2003-06-19 01:58:59 +00:00
dchandler
1ae7948fed Nightly builds are now done using pserver CVS updates. The
'dc-nightly-build' target no longer does a cvs update, because that's
not always going to work.
2003-06-19 01:11:33 +00:00
dchandler
ced830a7d3 Renamed TMW_RTF_TO_THDL_WYLIE TibetanConverter. 2003-06-15 19:19:23 +00:00
dchandler
56d5ac7210 TM->TMW and TMW->TM conversion in RTF is now supported. I've
noticed that formatting is mostly OK but sometimes gets bungled slightly.
I tried everything I could think of, and now I'm passing the buck to Java's
RTF support.

TMW_RTF_TO_THDL_WYLIE (now misnamed) support TMW->TM
conversion (but not TM->TMW).  There is an automated test case for a
TMW->TM conversion.

I have full confidence in this conversion.  Even the smallest glitch in the core
functionality (not formatting) would surprise me.
2003-05-31 23:18:17 +00:00
dchandler
ec7fec695f Added some automated JUnit tests for TMW_RTF_TO_THDL_WYLIE. 2003-05-18 17:17:52 +00:00
dchandler
e2a9720d9b I've added a command-line converter,
org.thdl.tib.input.TMW_RTF_TO_THDL_WYLIE.  It converts RTF files
consisting of TMW characters to the corresponding THDL Extended Wylie.

It supports --find-some-non-tmw mode, which allows you to ensure that no
unusual characters will spoil the conversion.  The converter has built-in
intelligence that allows it to handle Tahoma '{', '}', and '\\' characters
properly.

The converter works on mixed Roman/TMW also, but --find-some-non-tmw
and --find-all-non-tmw modes are not as useful.

Invoke org.thdl.tib.input.TMW_RTF_TO_THDL_WYLIE, which resides in
Jskad's jar, with no command-line options to see usage information.
2003-05-18 14:14:47 +00:00
dchandler
5e55d05cfe To make it easier to add a keyboard for third parties, all .rtf files
in Jskad/source now go into the Jskad jar.
2003-05-15 00:57:34 +00:00
dchandler
78dc46a979 Jskad keyboards are now configured via keyboards.ini, a file that has
comments that explain its function.  It's quite simple.  This is in
response to Jeff C. H. Wu's request.
2003-05-14 03:25:36 +00:00
dchandler
59175ccfd6 Added a few tests for the ACIP keyboard, which I've improved a bit.
Noted some failures.  "Fixed" the code to do what I want it to do for
the (no sanskrit stacking, tibetan stacking) case [which is exercised
by this keyboard only].
2003-04-14 23:55:00 +00:00
dchandler
efa8fc1f25 DuffPane now has the start of a unit test suite. Invoke it via 'ant
clean check'.  Right now there are tests to ensure that typing certain
sequences of keys in the Extended Wylie keyboard gives the expected
Extended Wylie back when "Tools/Convert Tibetan to Wylie" is invoked.

The syntactically illegal d.wa now converts to Tibetan and then back
to d.wa (not dwa, as it did); likewise with the illegal g.wa.  wa
doesn't take any prefixes, but I prefer clean end-to-end
behavior. (jeskd doesn't go end-to-end, though.)

Note that you cannot successfully run the DuffPane tests on a Linux
box unless your DISPLAY variable is set correctly.  Thus, my nightly
builds will fail with an Error (as opposed to a Failure).
2003-04-14 05:22:27 +00:00
dchandler
e95e41aef0 At Andres's request, the handheld version of the translation tool no
longer bothers with the TMW fonts, which don't work anyway on such
devices.
2003-04-02 04:06:30 +00:00
dchandler
08d2a5d702 Added a test for org.thdl.tib.text.tshegbar.UnicodeCodepointToThdlWylie. 2003-03-22 04:55:17 +00:00
dchandler
16cbfb6033 Moved ad-hoc test.java test cases to UnicodeGraphemeClusterTest.java,
a JUnit test which can be run via 'ant check'.  Removed test.java and
its build process.
2003-03-22 03:55:39 +00:00
dchandler
395eca7bb1 Moved ad-hoc test.java test cases to LegalTshegBarTest.java, a JUnit
test which can be run via 'ant check'.
2003-03-22 03:46:32 +00:00
dchandler
879b477902 Made some ad-hoc tests in test.java into JUnit tests, run by 'ant
check'.

NORM_NFD was replaced with NORM_NFKD in three cases in testMostlyNFKD.
2003-03-22 03:24:56 +00:00
dchandler
1205210b36 Removed every last trace of QuillDriver and Savant from this file. 2003-03-22 02:48:21 +00:00
eg3p
744cc70796 I removed all tasks relating to Savant and QuillDriver.
I could have also removed the references to extensions
such as xalan.jar, xercesImpl.jar and so forth, but Iwasn't
sure if Tibbibl needed them or not.
2003-03-14 00:31:45 +00:00
dchandler
b49c441e6e Minor touch-up to my previous commit. I'd left out the invocation of
the JUnit tests and subsequent report generation.
2003-02-10 04:37:04 +00:00
dchandler
bb19c4f6d1 You may no longer put xml-apis.jar, xercesImpl.jar, or xalan.jar in
Jskad/extensions.  If you're lazy, you can move them to
extensions/drop-ins, but the correct thing to do is to move x*.jar to
$ANT_HOME/lib [next to vamp.jar, if you're already set up for Java Web
Start builds].  This is a side effect of improving the nightly builds.

Nightly builds now feature an HTML summary of the JUnit test results,
a datestamp, and full API docs in two flavors.

If you use a patched vamp.jar [e-mail me] that can run when an X11
display is not available (there is not an analogous problem for
Windows servers, I suspect), all you have to do to put up a nightly
builds site is to set up CVS access so that no password is requires
using SSH public-key crypto (sf.net documents how to do so well) and
then use the following daily cron job on your Unix box:

#! /bin/sh
renice +19 -p $$ >/dev/null 2>&1
su -l joe-user /bin/sh -c /var/www/thdl/nightly/doTheBuild.sh

where joe-user is an unprivileged user who has installed Ant properly
(see the updated BuildSystems.html on the developer's site off of
thdltools.sf.net) and set himself up a Jskad sandbox with a Fonts
sandbox underneath it in, e.g., /var/www/thdl/nightly/Jskad.  Here's
doTheBuild.sh:

#! /bin/sh
JSKAD=/var/www/thdl/nightly/Jskad
DEST=/var/www/thdl/nightly/builds
HISTORY=/var/www/thdl/nightly/history
DATE=`date`
if test ! -d $DEST; then \
     echo "$DEST does not exist ($DATE)." >> history; exit 1; fi
(cd $JSKAD && ant dc-nightly-build \
 && rm -fr ${DEST}/* \
 && cp dist/nightlyBuild.zip $DEST \
 && cd $DEST \
     && unzip nightlyBuild.zip)
if test $? != 0; then echo "NIGHTLY BUILDS FAILED on $DATE" >> $HISTORY; exit 2; fi
DDDATE=`date`
echo "Success on start=$DATE end=$DDDATE" >> $HISTORY
exit 0
2003-02-10 04:22:38 +00:00
dchandler
56de29cf4f jskad-all-in-one-dist, and thus jskad-jws, was botched.
nightly-build now cleans only ${bin} so that ${dist}'s files stay
around.

We now unwar all JAR files.
2003-02-03 08:21:37 +00:00
dchandler
69b07cda65 Added some utility targets pour moi.
Better error checking.

There's now a nightly builds HTML page, for use with a script like the
following:

#! /bin/sh
JSKAD=/www/nightly/Jskad
DEST=/www/nightly/builds
HISTORY=/www/nightly/history
DATE=`date`
if test ! -d $DEST; then \
     echo "$DEST does not exist ($DATE)." >> history; exit 1; fi
(rm -fr ${DEST}/* && cd $JSKAD && cvs -f -z3 update -dP && ant dc-nightly-build \
 && cp dist/nightlyBuild.zip $DEST && cd $DEST && unzip nightlyBuild.zip \
 && rm nightlyBuild.zip && \
  (cd docs \
   && mv private-javadocs-*.zip private-javadocs-today.zip \
   && mv public-javadocs-*.zip public-javadocs-today.zip \
   && mkdir public && mkdir private && \
    (cd public \
     && unzip ../public-javadocs-today.zip) && \
    (cd private \
     && unzip ../private-javadocs-today.zip)) \
 && \
  (cd source \
   && mv THDL-Tools-src-*.zip THDL-Tools-src-today.zip))
if test $? != 0; then echo "NIGHTLY BUILD FAILED on $DATE" >> $HISTORY; exit 2; fi
(cd $JSKAD && ant check)
DDATE=`date`
if test $? != 0; then echo "'ant check' FAILED on $DATE" >> $HISTORY; exit 3; fi
DDDATE=`date`
echo "Success on start=$DATE build=$DDATE check=$DDDATE" >> $HISTORY
exit 0
2003-02-03 06:24:52 +00:00
dchandler
72ee4fc7d2 Added the initial version of Tibbibl, which Nathaniel Garson of UVa
e-mailed to me.  Tibbibl is an editor for XML-based bibliographies of
Tibetan texts.  All I did was change the package from org.thdl.xml to
org.thdl.tib.bibl and add boilerplate; no changes to Than's code were
made.

Tibbibl features a diacritic input tool which Jskad might want to
swipe.
2003-02-01 05:08:02 +00:00
dchandler
32a08c06c3 Gives a nice error message now if Fonts/TibetanMachineWeb cannot be found. 2003-01-27 04:27:51 +00:00
dchandler
a31fed2ea7 We're now set up to support automated unit tests. Besides the fact
that I like unit tests, my Unicode conversion work is going to have to
be thorougly tested for reasons I will outline in
http://thdltools.sf.net/BuildSystems.html later today.

Added the freely licensed JUnit 3.8.1 binary to the repository, along
with some README files.  Added a new supporting buildfile,
junitbuild.xml.  'ant clean check' is now good to go (though it uses
the text UI for JUnit, and some developers may want the Swing GUI)

Also, I cleaned up build.xml a bit, including adding all buildfiles
(but not junit.jar and things like that) to the source distribution
('ant src-dist') rather than just build.xml.
2003-01-12 20:24:01 +00:00
dchandler
fdfedb4419 Added some tests for org.thdl.tib.text.tshegbar. These tests are preliminary,
and for this package only.

I'm committing in order to sync with my laptop, really.  This stuff will disappear
and reappear in better form later, after a holiday of coding and eggless,
alcohol-free nog.
2002-12-20 04:34:56 +00:00
dchandler
35425f3753 So that javadoc build works again, this property is now just a string, not a
location.

Andres, this may mean that you need to do something different to build
javadocs with links to local JDOM/Sun javadocs.
2002-12-09 02:18:03 +00:00
dchandler
983a9e2045 ThdlVersion.java is now generated before making Javadocs. 2002-12-09 01:58:17 +00:00
dchandler
53aa2e2309 Added jskad_doc.html (a revision of which is up at
http://iris.lib.virginia.edu/tibet/tools/jskad_doc.html) to the repository.  The
build puts this into Jskad's JARs, but Jskad itself does not allow for viewing
it.  In Java, that's a ten-minute job, but I haven't done it.
2002-12-07 17:53:24 +00:00
dchandler
a3a1923d42 I haven't tested this, but it should make it easier to experiment with the links
from our Javadocs to Sun's Javadocs.
2002-12-01 18:53:09 +00:00
dchandler
efa69fe225 At Andres' request, I added ConsoleScannerFilter to the build of both the
Standalone version and the Handheld version.
2002-11-28 02:51:29 +00:00
dchandler
cfb111eeb1 Added a nightly-build target that creates a zip file
dist/nightlyBuild.zip.  As the suggestive name implies, coupling this
with a shell script like '(cvs -f -q update -dP && ant nightly-build
&& scp dist/nightlyBuild.zip && ssh 'cd wherever/ && unzip foo') ||
email_error_message' would yield a nightly build process for us.
2002-11-18 22:16:07 +00:00
dchandler
0e70c7fb97 No longer including JMF or Savant in the JWS or self-contained JARs. 2002-11-18 17:16:34 +00:00
dchandler
d200b03d66 Updated the build system so that you must do a cvs checkout of the
'Fonts' module inside the 'Jskad' module.  I.e., you must now have the
tree like so:

Jskad/
   source/
   dist/
   Fonts/
       TibetanMachineWeb/
   .
   .
   .

This is because the THDL tools now optionally (and by default) load
the TibetanMachineWeb fonts automatically.

Updated the build system so that the 'web-start-releases' and
'self-contained-dist' targets JAR up optional JARs to create
double-clickable, self-contained joy.  Even the TMW fonts are in the
JARs now.

Changed the strings describing two Jskad keyboards so that "keyboard"
is no longer in the description.  It's in the label next to the combo
box.

Jskad now saves preferences on exit or when the user selects a menu
item (that is there for debugging mainly) to ~/my_thdl_preferences.txt
on *nix or C:\my_thdl_preferences.txt on Win32.  I don't know the
correct Mac location.

There's a new paradigm for telling org.thdl.util.ThdlOptions that a
user preference has been changed.  If, for example, a combo box is
manipulated so that the ACIP keyboard is selected, then you must call
a certain method in ThdlOptions.
2002-11-18 16:12:25 +00:00
dchandler
5ffb813019 Jskad's "About" dialog box now lists the time of compilation. Ant
creates source/org/thdl/util/ThdlVersion.java when you execute the
jskad-compile target.
2002-11-16 19:18:44 +00:00
dchandler
9f232fc5e2 The JARs built no longer have "-JWS" and "-vanilla" suffixes.
Instead, there are dist/lib-jws/ and dist/lib-vanilla/ directories.
2002-11-16 18:04:47 +00:00
dchandler
5d212a0671 Now you can truly compile without either JMF or QT4J in your
extensions/ directory tree.  If and only if they are present,
integration with them is compiled in.

Removed a FIXME that I'd fixed a long time ago.
2002-11-16 16:35:25 +00:00
eg3p
1e6ab8eeec Made sure that MessageBundle files are copied over
to Savant binary directories, now that Savant is using
these internationalization files.
2002-11-02 20:22:42 +00:00
dchandler
92fd1bf0b6 Added AcipToWylie to the tt-standalone build. 2002-11-02 17:09:36 +00:00
dchandler
f26dd53da3 Changed the build so that Savant and QuillDriver's builds include
Smart*Player.java, which are accessed via reflection.  Cleaned up the
code a bit so that it would compile in so doing.

Changed the 'options.txt' preferences file to reflect the new method
of selecting media players.
2002-10-27 19:12:13 +00:00
dchandler
d211930e68 At Edward's request, the codebase for Java Web Start releases may now
be specified on the command line via
'ant -Djnlp.codebase="http://foo.bar/baz"'.

This means that dist/ no longer contains .jnlp files; they are created by Ant
instead.
2002-10-25 11:56:05 +00:00
dchandler
010d8cb972 At Edward's request, Vamp is no longer required to build our tools. It is still
required by anyone who wishes to cut a Java Web Start release.

This should make it easier for a new developer to get up to speed.
2002-10-25 11:04:24 +00:00
dchandler
86a729ee08 Javadocs are generated using a classpath with all the extras. The included
files list is now foolproof, also.
2002-10-25 10:58:44 +00:00
dchandler
36e8959817 Updated the classes and resource in tt-servlet to meet Andres's specs. 2002-10-25 00:21:34 +00:00
dchandler
002f49323a There are now two ways to specify servlet classes, and the second
is completely general.
2002-10-24 13:53:27 +00:00
dchandler
f38290efd2 If you've used 'ant -Dj2ee.sdk.home="C:\j2sdkee1.3.1\lib"', then the dist
and compile targets will build the servlet form of the translation tool.  If you
haven't, they won't build it.

Added comments.

Made it easier to change the build classpath inside a target while retaining
reusability.

Fixed typo: ttbin should've been ttservletbin.
2002-10-23 01:08:52 +00:00
dchandler
6a8753df3b Updated this to keep up with the new documentation on our build systems. 2002-10-20 22:40:49 +00:00
dchandler
7f24759ff6 You can now easily extend the classpath by putting .zip files into
extensions/drop-ins/.
2002-10-18 02:57:57 +00:00
eg3p
7cb7f14759 Changed qd-compile to compile org/thdl/tib/text/TibetanHTML.java, necessary for xsl transformations. 2002-10-15 21:14:31 +00:00
dchandler
eeabe3df80 Leave the Java Web Start WAR file on disk unless ant is invoked with the
-Ddelete.the.war= option.

Added 'ant -Dkeystore=foo' and 'ant -Dkey.alias' properties to ease
the creation of Java Web Start releases.
2002-10-15 02:14:54 +00:00
dchandler
08e4e2fc57 Added a flexible mechanism for persistent boolean-, integer-, and
string-valued preferences built atop java.util.Properties.

How it works: the jvm is asked first, and then the user's prefs file, if it exists,
then the system-wide prefs file, and then the built-in preferences.  Finally, for
robustness, a default may be optionally hard-coded in the source.

I made several things configurable, too:

the default Tibetan keyboard
the default font sizes and faces
whether you want developer-only features enabled
Savant's file extension (.savant)
etc.

The only known problems are the following:

The default location for the user's preferences file is windows-specific,
arbitrary, and not in the user documentation.  Likewise for the location of the
system-wide preferences file.  You can change them using 'java -D', though.

There is no "Save preferences" option yet, and closing the program does
not save preferences either.
2002-10-14 04:06:05 +00:00