This is a Java port of the GNU getopt functions based on the versions
contained in glibc 2.0.6. I have attempted to keep the functionality
and programmer's interface as faithful to the original as possible.
However, due to differences between Java and C, some minor changes
has to me made. (Given the obtuse interface in the clib version,
perhaps some major changes should have been made). This should not
affect the way options appear to be parsed to the end user of program
that uses this Java getopt. The use of these classes are completely
documented in the javadoc comments, so I will not repeat that info here.
Note that since these objects are part of a package called "gnu.getopt",
they need to be in a subdirectory called gnu/getopt somewhere in your
CLASSPATH. This includes the "MessagesBundle" files.
I am not aware of any bugs. If you find one though, please send email
to me at arenn@urbanophile.com. The more detailed a bug report the better.
Bug fixes are also welcome at the same address. Please reference
release number "1.0.13". If you use this code, it would be helpful
if you let me know so that I can let you know if anything changes or
if any major bugs have been found/fixed.
I have included a Makefile for compiling the code. If you do not have
access to make, then you can simply do a "javac *.java" at the OS
command line (or follow your vendor's instructions for compiling a
Java class). To build the documentation, do a "make docs"
or "javadoc -public *.java". Note that the images needed by the html
generated by javadoc are not included. You will need to get those
from some other Java documentation package.
Note that the Makefile is not compliant with the GNU makefile
standards as I anticipate that at some point a master makefile will
be created for various GNU Java packages. And it is serious overkill
to create a megabloat makefile (kinda like this megabloat README) for
such a simple package.
There is sample code showing how to use getopt available in the
GetoptDemo.java file.
NEW: A support file for the "ant" build process was contributed. Here are
some brief things you can do with it. Note that I have not ever used this
so it is doubly AS IS.
Get ant from jakarta project (see jakarta.apache.org/ant), and run it with
one of these target (all is default target):
ant prepare: create the needed directories
ant classes: compile the java classes
ant jar: create the jar archive
ant javadoc: create the javadoc
ant all: create jar and javadoc
ant clean: clean everything
Happy hacking,
Aaron.
arenn@urbanophile.com
http://www.urbanophile.com/arenn/