evolvis Maven Base Project
The evolvis Maven Base Project (eMBP) tries to make your life easier when you're doing Java development on evolvis.org by providing you with Maven archetypes that automatically set your project up with the most common repositories, dependencies and configuration for source code management, issue tracking and continuous integration.
- default libraries
- pre-configured build tools
- evolvis issue and feature tracker
- evolvis mailing lists
- scm access
- Maven release repository configuration
General Usage of the base POM
If you want to use the base POM in an existing project to have a number of useful defaults and libraries, you can do so by adding the following to your root POM:
<parent> <groupId>org.evolvis</groupId> <artifactId>evolvis-mvn-base</artifactId> <version>XXXXXX</version> </parent>
XXXXXX: Find the latest version here: (look for the latest evolvis-mvn-base-xxx): https://evolvis.org/scm/viewvc.php/evo-mvn-base/tags/
Take a look at the POM to get an overview of what it currently provides at https://evolvis.org/scm/viewvc.php/evo-mvn-base/trunk/evolvis-mvn-base/pom.xml?view=markup
Using the base POM through archetypes
Creating a project
You need to have the Maven Eclipse Integration plugin installed. Create a new "Maven Project", deselect "Create a simple project" so Eclipse will ask you about the archetype to use. Eclipse will then prompt you for the basic project properties (like "groupId", "artifactId", etc.) and all the other properties marked as required in the archetype.
When asked for an archetype catalog enter http://maven-repo.evolvis.org/releases/archetype-catalog.xml
On the command line
mvn archetype:generate -DarchetypeCatalog=http://maven-repo.evolvis.org/releases/archetype-catalog.xml
on a command line will present a list with all available archetypes on evolvis.org. Enter the number of the archetype you want to used and Maven will ask you to provide the properties for the selected archetype.
Living with a project generated from an eMBP archetype
All eMBP archetypes depend on a common parent POM which provide repositories, common libraries and build plugin configuration. It also defines versions for all libraries and Maven plugins it includes. This parent POM is defined in your project POM with a strict version dependency. You can override all the versions and settings if you need to.
The evolvis-java-archetype provides a general template for a Java6 project without any dependencies on a specific technology. Use this as a starting point if there is no archetype yet which is tailored to your specific needs.
mvn archetype:generate -DarchetypeCatalog=http://dev-repo.tarent.de/releases/archetype-catalog.xml
- The human-readable name of the project, also used in license files
- The author or owning company of the project, also used in license files
- The mail address to contact about the project, also used in license files
- The unix name of the evolvis project the Maven project belongs to. Used for resolving the SCM path
- The internal numeric ID used by evolvis to identify this project (appears in tracker URLs, e.g.). Used to identify the project's tracker for issueManagement
- The username to be used for writing to the SCM (e.g. for tagging, if maven-release-plugin is used)