Fractal | Fractal ADL | Cecilia Examples | Minus


The Cecilia Maven archetype is meant to create a minimalistic source tree structure and pom.xml file to build Cecilia applications using Maven.

In this way, you can have an already filled template that you can start modifying to suit your specific needs, but still relying on Cecilia application conventions and facilities, such as:

  • *.c/*.h, *.idl and *.fractal files following Cecilia source tree conventions
  • configuration of some Maven plugins developed to support Cecilia, such as the maven-ceciliaadl-plugin to build your main Fractal ADL definition file.

The archetype configures also the repositories needed to retrieve Cecilia artifacts that are stored remotely on the OW2 servers.


To create a Cecilia application using this archetype, from the command line type:

mvn archetype:create -DarchetypeGroupId=org.objectweb.fractal.cecilia \
    -DarchetypeArtifactId=maven-archetype-cecilia-application \
    -DarchetypeVersion=THIS_ARCHETYPE_VERSION \

where THIS_ARCHETYPE_VERSION is the version of this archetype. Usually it is suggested to use as archetype version the version number of the latest Cecilia release.

The command will create a folder YOUR_PROJECT_ARTIFACTID with the project template (separation of folders and minimal working configuration of the pom.xml). You can of course customize the creation by passing different values for YOUR_PROJECT_GROUPID and YOUR_PROJECT_ARTIFACTID, as well as another value for your project version, changing the value of the -Dversion property.

The archetypes provides a dumb application to show you the organization of files and the execution of the compilation. Specifically, there is a composite Main component definition (inside src/main/cecilia), which contains a sub component (implemented by src/main/cecilia/main.c) implementing the boot.api.Main interface.

To execute the minimalistic template application you can execute:

mvn clean compile

which will create an executable file in the "target" directory.

More on Maven archetypes

If you want to know more about Maven archetype, you can look at the Guide to creating and using Maven archetypes.

2007-2009 © ObjectWeb Consortium  | Last Published: 2009-04-21 13:56  | Version: 2.1.0