ATL Use Case - Software Build Tools Interoperability (Make, Ant, Maven)
Keywords
Interoperability, Build Tools, Ant, Make, Maven |
Overview
In this use case we present how to bridge different build tools between themselves: Make, Ant, and Maven. Make, one of the most common build tool, has its own syntax and can be used only on UNIX platform. Ant is platform-independent and its syntax is XML-based. It is extended using Java classes. Maven is an extension proposed in addition to Ant functionalities. It proposes an easier creation of plug-in and it allows more reusability contrary to Ant. Maven need two build files: project.xml (project descriptor), and maven.xml. In this case study, from a "Make configuration" we will generate a corresponding "Ant configuration" and "Maven configuration". The overall approach is summarized in the following figure:
For each build tool, we have defined its metamodel by using the KM3 textual format (Ant, Make, Maven). A visual presentation of these metamodels is also available (Ant, Make, Maven). The Injection and Extraction phases were implemented by using XML bridges. As the Ant and Maven files are XML-based, we can inject an XML-based file or extract into an XML-based file the content of a model (conforms to the XML metamodel). As a Make is not an XML-based tool, we have created an ad-hoc solution to transform a Makefile into a corresponding XML file. The Model-to-Model transformation phase was implemented by using ATL model-to-model transformations. Following bridges "Make to Ant" and "Ant to Maven" have been developped with ATL. We provide below a set of screenshots showing the different input/output files provided/created with this use case:
|
Related Use Cases
None at the current time. |
Download
Complete scenario |
Scenario available in the ATL transformation zoo (with source files). |
Metamodels |
All the provided metamodels are expressed in the Ecore format and also in the KM3 textual format. |
Acknowledgement
The present work is being supported by the OpenEmbeDD project, and the Usine Logicielle project of the System@tic Paris Region Cluster. |
General Information
- February 2007
- By Freddy Allilaire, Frédéric Jouault (INRIA)
Please, ask your questions on the M2M newsgroup