Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
Maven's primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal there are several areas of concern that Maven attempts to deal with:
Please consult http://maven.apache.org for general organisation and usage of Maven.
ABS is an executable modelling language designed for specifying, modelling and executing adaptable systems. The tools and techniques for analysing and using ABS are centred around the HATS methodology for Software Product Line Engineering (SPLE).
SPLE applies the concept of variabilities between versions of software system whereby generic artifacts (with variabilities) are kept in an artifact repository of the product line for reuse. Maven dependency management provides the technological implementation to push/pull/maintain such artifacts in this repository.
Maven is - at its heart - a plugin execution framework; all work is done by plugins. We have consequently developed a Maven plugin for ABS (abs-maven-plugin) that provides the following functionalities