Compile phase modified to run as a separate thread.
Added compile-time support via -jikes and -javac options.
Java+ now deals with one input directory (srcDir) and two output
directories, dstDir and binDir such that non-java resource files
(.gif files, etc) can now be maintained in srcDir alongside the
sources that use them. They are copied to the binary directory
(binDir) when they change. binDir and dstDir can be the same.
Miscellaneous option name changes to adopt consistent
terminology for directories and suffixes: src = precompiler source,
dst = precompiler output and/or compiler input, bin = compiler
output.
Added -skipDir and -skipSuffix options to allow specific srcDir
subdirectories and suffixes to be excluded from processing
(e.g. CVS, .bak, etc). "Invisible" files/directories (names
beginning with ".") are skipped automatically and unconditionally.
Changed default srcSuffix and dstSuffix both be ".java". The
earlier default javaSuffix of ".java+" proved pointless.
Renamed ShellInterface to Make, AntInterface to Ant, and
GraphicalInterface to Gui.
Enhanced java+.sh with options for launching any of the three
interfaces.
Removed MacOSX support from the main-line sources. The linux
build environment produces a portable jar file that is enhanced
with OSX support as a separate (manual) step. Phooey.
Release 1.3: Jan 13, 2003
Installed Jikes 1.1.8 from IBM site and modified pbproject to use
it. Builds MUCH faster now. The primary concern is that "source file
encoding" must be set to none.
MakeInterface was not storing generated files in the right directory
due to inconsistencies in handling srcDir/srcSuffix versus input files
on the command line. All three interfaces now support a "project"
option for specifying the project directory instead of deriving this
(inconsistently) from the input file parent directory, which is relevant
only to GraphicalInterface.
Release 1.2: Jan 10, 2003
Introduced a Configuration class to unify settings handling
across the three interfaces. Added an explicit validation step;
very little was done until now.
Name changes in the arguments for the Ant and Make interfaces
for consistency. Updated documentation accordingly.
Dropped the -basePath argument to MakeInterface.
Bundled MRJStubs.jar into java+.jar to simplify shell scripts,
at the cost of a noticeable download size increase.
Turned debug symbols off in the compile phase. Need to develop
test cases for tweaks such as this; they're too easy to forget to
undo.
Repaired bug in MakeInterface in which srcDir argument was ignored
and only command line arguments were processed. If this argument is specified,
files with the matching suffix will be added to those specified on the
command line.
Release 1.1: Jan 7, 2003
Lost the defaults.properties file in tinkering with
Ant, which caused
New to throw NullPointer exceptions. Deleted it altogether; it wasn't really
necessary since the code is fully defaulted already.
Support usage within Ant
Moved shell argument handling logic from Lexer to Make
Added build.xml file to build Java+ in Ant. Experiments
with the "osxize" ant task to build Mac OSX executables
was partially successful but osxize inserts its own icon
and creator type and drops the help files.
Revised the help menu to use BrowserLauncher to present
documentation in the user's own browser. Help Viewer has been
a headache all along. Doesn't support style sheets, mangles
tables, etc. This seems to work fine on Mac OSX but hasn't been
tested elsewhere yet.
Reorganized documentation into several sections:
Documentation, GUI, Make and Ant.
Release 1.0: Jan 4, 2003
Implemented constant keys for localized strings based on user request. Bundle keys are now computed as the hash of the string contents, with collisions handled by appending a period and a unique number. This should help to keep multiple translated bundle files in sync.
Fixed null pointer exception when Open dialog is cancelled.
Fixed failure to update the display properly after Save dialog.
Removed newlines from the automatically generated bndl declaration, which was causing line numbering to be off.
Updated all style sheets to the standard virtual school look and feel, which seems to have killed Apple's Help Viewer altogether. Posted request for advice to the Apple Developers list.
Hide initial open/close window when opened via clickable document.
Revised log output to show only files actually processed; not those skipped because outputs were up to date.
Added precompile time in msec to log output.
Released as 1.0 since all planned features are in place. Only bug-fixes and unplanned enhancements should be necessary from here on.
Release 0.5: Jan 3, 2003
Let users control digraph choice in response to user request
Input directory wasn't being recognized unless it happened to have been saved in the project configuration file. Fixed related problem with input suffix.
Excepted Java comments and string/char constants from digraph recognition since unterminated digraphs might occur there naturally (Lexer had several of these).
Constructed a Java+ icon by adding a red plus over Project Builder's default icon.
Release 0.4: Jan 1, 2003
Added scripts directory with a rudimentary java+.sh script for launching Java+ on other Unix platforms. Verified that command line and graphical interfaces work under Linux by converting the JWAA and MyBank applications to Java+.
Localization is now entirely automatic, thanks to new logic that recognizes the first class declaration in each file and creates a ResourceBundle declaration immediately thereafter if the bundle option is set. The earlier manual approach had the problem that changing the bundle option required manual editing going both ways; switching it on triggered a compile failure because the bndl variable didn't exist and switching it off triggered a run-time failure if the properties file was not found.
Added logic to recognize Java comments explicitly rather than just processing it as Java code and hoping for the best.
Be alert for bugs in this release. Although the changes have been extensively tested, there were nontrivial changes in the core processing logic.
The "include file" logic that Java+ inherited from MLS was removed altogether.
Cleaned up error/log reporting to occur on the fly, not just on conclusion.
Release 0.3: Dec 29, 2002
Enhanced to represent Java+ strings in the Java output as Java comments to aid debugging and to ensure that line numbers are the same in both files.
Eliminated the version numbers from the download file names. I don't see any point to it and it definitely complicates versioning.
Release 0.2: Dec 28, 2002
Fixed bug in newline handling for ResourceBundle output. Newlines were being omitted
Enabled multiple open documents. Opening the first document hides the initial new/open button window. Closing the last one redisplays it. Closing the new/open button window terminates the application. File menu is working correctly now.
Numerous documentation nits and typos
Released 0.2 to osx.freshmeat.net.
Release 0.1: Dec 26, 2002
Java+'s icon is the default Project Builder icon. I haven't explored Apple's icon construction tools yet.
Platform-independent build and usage instructions are not available yet.
Project Builder breakpoints may drift when files are precompiled.