Building AndroMDA

Building AndroMDA from the source is quite easy, just follow these steps:

  1. Make sure you have Maven2 installed correctly and M2_HOME/bin is in your PATH (so that Windows finds "mvn.bat" and *nix finds "mvn").
  2. Unpack andromda-distribution-*-source.zip into a directory of your choice.
  3. "MAVEN_OPTS=-XX:MaxPermSize=256m -Xmx512m" must be set in your environment variables.
  4. Change to the directory where you unpacked the contents, and then type: mvn

That's it! The contents will be installed into your local maven repository.

The same rules apply if you want to build from the SVN version. Just checkout the andromda module from AndroMDA SVN, and proceed as before.

Maven goals

Different goals can be called in order to build the sources, it is even possible to call goals in the different sub-projects, that's because we are using the Maven Multi-Project plugin.

  • Using the -o command line parameter will tell Maven to work offline and not to download any dependencies, this will speed up the build process.
  • It's possible to disable the tests by using -Dmaven.test.skip=true.
  • Or to run the tests and ignore failures by using -Dmaven.test.failure.ignore=true or -fae (fail at end).
  • See the maven-surefire-plugin for details.

Global goals

These goals can be executed in the root of the AndroMDA source tree.

  • mvn
    Calls the default goal: install (see below).
  • mvn clean
    Cleans everything: deletes /target directories, *.log* files and files with the .exc extension.
  • mvn install
    Builds and installs all AndroMDA components (without *-javadoc.jar and distribution) and samples into the local Maven repository.
  • mvn install -Pandromda-full,local
    Builds and installs all AndroMDA components (including *-javadoc.jar and distribution) and samples into the local Maven repository.
  • mvn deploy
    Deploys all libraries into the local directory.
  • mvn site -Pandromda-site
    Builds the documentation for all modules. Skips code generation and tests. Run after mvn install, without clean.
  • mvn site -Pandromda-site-lite
    Builds the documentation for all modules. Same as andromda-site without checkstyle, JIRA, SCM changes reports.
  • mvn site:deploy -Pandromda-site,local
    Deploys the documentation to local directory

Plugin goals

Some helpful goals:

  • mvn andromda-cartridge:update
    Updates the cartridge expected output with the current cartridge output. Invoke it when you are inside the cartridge root directory.
  • mvn -Dbootstrap.artifacts=true
    Creates repository/metafacade/meta-cartridge bootstrap artifacts used to generate code for UML metafacades and meta cartridge.