Frequently Asked Questions About JMK

What is JMK?

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.

What is Ant?

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.

Why is there no way to escape a slash in a string?

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 inverse function?

Where is JMK development headed?

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.

How can you help?

Become a developer! The best way to see that your ideas are shared with all is to get involved.