JEnable is structured as a single Java class in the default package
to make it as easy to deploy as possible. It does not require anything in the classpath
except the standard Java libraries. It has not been tested with JDK 1.1, but should
be compatible.
The command line is as follows:
p>
java [-cp .] JEnable [-options] [path-list]
The "-cp ." parameter for the JVM is only required if the local directory is not
on the default classpath (or with the directory the JEnable.class file
is in in place of '.' if the file is not in the local directory).
Options are as follows:
p>
| -b | backup directory tree with base directory as next argument. When
this option is given each modified file (not including files which only have their
extensions changed) is copied to a tree under the supplied base directory. |
| -d | disabled token list as next argument. Each token in the comma
separated list which follows is disabled in the new configuration. |
| -e | enabled token list as next argument. Each token in the comma
separated list which follows is enabled in the new configuration. |
| -m | modified listing, list modified files as they're
processed. |
| -p | preserve last modify timestamp on modified files. Modified files
keep their previous last modify timestamps. |
| -q | quiet execution, skip normal summary of files processed
and modified for each path supplied. |
| -t | tilde suffix for modified file backup. The original version of
each modified file is renamed with a '~' appended to the original file name, within the
original directory. |
| -v | verbose listing, list all files as they're processed. |
Multiple options may be concatenated together with a single leading hyphen, or can
be listed separately.
The optional path list gives the paths to be matched for source files to be processed.
The paths are in Ant-like form. They always use the forward slash '/' as the separator
between directory names. Multiple paths can be supplied as a single argument with comma ','
separators between the paths. Each name in the path may include '*' wildcards, and the
special directory pattern '**' matches any number of intervening directories. For instance,
the path:
p>
"src/**/util/*"
matches every file name with "java" or "javx" extension in every subdirectory named
"util" within the tree under the "src" directory.
If a path ends with a file extension, only files matching that extension (which may include
wildcards) are matched by that path. Files with extensions ending in the tilde '~' character
are not matched by wildcard characters, but can explicitly be named by a path and matched in
that manner. If a path does not end with a file extension, only files with "java" and "javx"
extensions will be matched.
Any number of paths may be given as arguments. If no paths are given, the program
reads from standard input and writes to standard output for filter-type operation. On
some systems it may be necessary to use quotes around the paths to avoid automatic
path matching by the shell.
When supplied with a path list JEnable by default prints to standard output
counts of files processed and modified for each path. Options allows silent execution, or
listings of individual files modified or processed. If an error occurs in processing
a source file all changes to that file are discarded and an error message is written to
standard error.