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.
- Schmant has tools for working with project repositories, for instance Eclipse workspaces.
- Schmant has a lot of XML and text processing tools.
- Recursive tasks can run tasks for each file and/or directory that matches a filter criterion.
- 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
- 04/13/2009: Schmant Emma task package 1.0 released
- This is the first release of the Schmant Emma task package. It contains tasks for running Emma code coverage analysis on Java programs. Read more on the Schmant Emma task package page.
- 04/13/2009: Schmant 0.9.1 released
- Version 0.9.1 is a small feature and bugfix release. One new feature is that it is now possible to run build scripts in Zip files.
- 04/01/2009: Schmant Hudson plugin released.
- The Schmant Hudson plugin enables Schmant builds in the continuous integration server Hudson. Read more on the plugin page.
- 03/22/2009: Schmant 0.9 released.
- In this version, the roles of tasks and task factories have been slightly modified. The JavaWorkspaceBuilderTF task for building project repositories (Eclipse workspaces, IntelliJ IDEA projects) is introduced. The Task Author's Guide documents how tasks and task factories are implemented and how they can be packaged into task packages.
