Make in Java (JMK) is an application which is used to ensure that a set of files is in a consistent state. If JMK detects an inconsistency, it executes commands that correct the inconsistency. JMK is based on the make utility which is part of most Unix systems, but is designed to be easily run on a variety of machines and operating systems.
Ant is another Java based build tool. Some people prefer it because:
Instead of a model where Ant is extended with shell based commands, it is extended using Java classes. Instead of writing shell commands, the configuration files are XML based calling out a target tree where various tasks get executed. Each task is run by an object which implements a particular Task interface.
JMK has two string mapping functions in
edu.neu.ccs.jmk.StringUtils. One of them produces the localized
form of a path from a machine independent path. The other one performs the
inverse mapping. The correct operation of JMK depends on the fact that each of
these functions are the inverses of each other. If one allowed slashes in a
machine independent path to be escaped, how is one to write the correct
The author thinks the most important improvement that should be made to JMK is to make sequences of commands into first class objects that can be manipulated just as functions and lists of strings can be. The change would allow the application of the full power of the expression interpreter to the task of creating command sequences, which are constructed as the makefile is read in.
In reality, the author has not had much time to devote to JMK. He currently plans to administer the JMK development site on SourceForge, and make sure the various suggestions he has received are posted to a public area at that site.
Become a developer! The best way to see that your ideas are shared with all is to get involved.