JastAddModules is an implementation of the module type system presented in the paper "Modules as Object-Oriented Types" submitted for ICSE 2009. It is a module-aware Java compiler written in JastAdd. The binary distribution of JastAddModules can be found in JastAddModules-bin.jar An ant task is also provided as part of the distribution. The following shows an example of the use of the jastaddmodules task: Attributes: outdir - directory where the class files are placed. verbose - enables/disables verbose compiler output. Default is false. jastaddframework - enables/disables support for jastadd features. Should be false. debug - enables/disables module debug information. Default is false. instancemodule - selects the module to be used as the root instance. Only the dependencies of the instance module are instantiated. This is a required attribute if there are any module files in the compilation. mainclass - the module qualified name of the Main class. This is used to generate the "run" script. The run script itself will be placed in outdir. This attribute is optional. classpath - classpath to be used in the compilation. Both : and ; path separators are allowed. fileset - the set of files that are to be included in the compilation. A small example of the use of the jastaddmodules task is also provided in examples/ICSE09PAPER_MODULE_WEAK_INTERFACES The jastaddmodules ant task is tested with ant 1.6.5. Limitations: The current implementation requires all classes that belong to a module to be in source, not a class file. No support for forName(String) class loading is provided for classes inside a module. One can still use .getClass() and .class for those classes.