Generated by:
Craftsman

Craftsman Capabilities

Craftsman supports the concept of "capabilities". These can be thought of as special module characteristics or properties that affect how it is built or what operations a module can be used in. By defining your module as being of specific type, you automatically enable many capabilities and options specific to that kind of module type. In addition, all modules, no matter what their type, support some basic options.

Capability Type Reference

Capabilities are broken down into the following general categories:

Capabilities Explained

Capabilities are structured in an inheritance tree, which supports multiple inheritance. In this layout, a specialized capability type inherits the options and abilities of its parent types. For instance, all children of java-module-with-libs have the option "use-manifest-classpath". The java-ws capability type inherits from java-module-with-libs and java-ws-enabled. This means it inherits the options and abilities from both parents.

Capabilities are assigned by adding a "<capability .../>" entry to your module or bundle definition. See the configuration examples for some typical examples.