Welcome
Welcome to the home page of Schmant – a scriptable build tool for building software artifacts.
Schmant provides an environment for running build scripts and a set of tools (tasks) that the scripts can use. Schmant can, and will probably mostly, be used for building Java applications. The immediate goal for Schmant is to be comparable to Apache Ant in features, but nicer and easier to work with.
Schmant uses the scripting support in Java 6, so build scripts can be written in any scripting language that has a JSR 223-compatible script engine, such as JavaScript, BeanShell or Jython. Other notable features of Schmant are:
- TaskExecutor:s can be used for running different build tasks in parallel threads.
- Schmant build scripts may use EntityFS classes and methods for working with directories and files.
- Single Ant tasks or entire Ant scripts can be run using the AntTF task. It makes it easier to migrate away from Ant in small, manageable steps.
- Third-party tasks can be bundled and distributed in task packages.
- Build scripts can work with project repositories, for instance Eclipse workspaces.
- Since build scripts run in a Java virtual machine, they have access to the entire Java class library, as well as any number of user-supplied classes.
A good starting point for reading more about Schmant is the Schmant introduction. The user's guide contains code examples for all features listed above. The task factory reference contains reference documentation for all tasks that are shipped with Schmant.
Schmant requires Java 6.0 or later to run, but it can build applications targeted for any Java version. Or even C applications, given that someone implements tasks for that…
Schmant development is sponsored by Holocene Software.
News
- 02/10/2008: Schmant 0.7.1 released.
- Schmant 0.7.1 adds support for IntelliJ IDEA projects through the IntelliJWorkspace object. The documentation has been revised and extended. See the change log for details.
- 11/16/2007: New Schmant site design
- A new design for the Schmant site. Big thanks to everyone involved!
- 10/25/2007: Schmant 0.7 released.
- This release adds support for exporting and tagging/branching Subversion projects through the SvnExportTF and SvnCopyTF tasks. The ExtJarsignerTF task for signing JAR files has been added. The documentation has been improved and extended and the error reports from build scripts that fail has been improved. For more details, see the change log.
- 08/03/2007: Schmant 0.6 released.
- The focus for this release has been on testing and documentation. A number of bugs have been fixed and the documentation is updated and extended. There are two new tasks, GZipTF and ForEachSourceTF. The
RenameTFwas removed since it did the same as MoveTF. For more details, see the change log.
