And indeed, there is so much more TODO...

Invicta is a good start.  However, there are numerous modifications and improvements we can think of, that will make Invicta into the powerful build management tool we want it to be.  Following is a list of these ideas; if you can think of others, we'd love to hear them; if you are willing to help - even better.


For editing Project Definition Files, a Web definition utility is planned.  This simple tool will have a standard tree-list view: the tree will display a list of components, products, their properties and dependencies; the list will show the relevant details of the currently selected item in the tree.  For example, when a component is selected in the tree, the component's name and directory will appear in the list.



Although it is currently possible to create custom types, the possible types of  products and their attributes is constant and cannot be modified or extended by Invicta's users. Therefore, a mechanism for supporting customizable product types is required:

  • Allow developers to create their own types of products.

  • Making the project definition XML files be dynamic instead of being DTD validated. For example, a new custom product type named 'zip' is created. This product type defines the attribute 'compressionLevel'. As shown in the following example, Invicta should support specifying 'zip' as the product type, although its not part of the pre-defined types, and the additional 'compressionLevel' attribute, which is not defined in the original DTD file.

        <product type="zip" file="" compressionLevel="5"/>

  • Allow template handlers and type definitions to access the additional custom product types.

Another way of making Invicta useful is to embed it in a popular IDE.  This way, a developer will not have to leave his developing suite in order to build the project he is working on.  The first target of implementation is Eclipse, mainly for being currently the most popular open-source IDE in the Java software development world. 

Currently the ANT build script generated by Invicta can be easily used within IDE application such as Eclipse. However, being able to invoke Invicta and to manage its project definition as part of a standard IDE usage, is still missing and is definitely wanted.


The ability to add Dumpers is one of Invicta's strong points.  Clearly many Dumpers can be thought of to extend Invicta's capabilities.  The ones we think are the most useful still missing are: