Difference between revisions of "Integration of Maven Components"
From Gcube Wiki
(→Mavenizer) |
(→Mavenizer) |
||
Line 18: | Line 18: | ||
* make legacy components available for Maven components in the local Maven repository for compile-time dependency resolution purposes | * make legacy components available for Maven components in the local Maven repository for compile-time dependency resolution purposes | ||
− | + | '''To trigger execution of mavenizer on a given legacy component, it is enough to have a | |
+ | |||
<pre> | <pre> | ||
[gabriele@gabriele-work maven-builder]$ bin/mavenize --help | [gabriele@gabriele-work maven-builder]$ bin/mavenize --help |
Revision as of 13:03, 3 April 2012
Introduction
This guide is meant to provide gCube's Developers with all information needed to properly configure a Maven-based gCube component in ETICS to succesfully integrate with other components in the system.
Glossary
- gCube maven component: a gCube component which uses Maven ad building tool
- gCube legacy component: a gCube component (most probably developed before iMarine project) which uses the classical building system based on ant
Maven Reposiotries
- gCube Snapshots
- gCube Releases
- gCube Externals
Mavenizer
Mavenizer is a tool created with the intent of making gCube legacy components compatible with new maven components. It is able to generate a pom.xml on-the-fly from information available on component's profile.xml and ETICS configuration and upload artifacts on gCube repositories. It is meant to be used by ETICS during its builds to mavenize legacy components with a twofold benefit:
- being able to have those components in gCube Maven Repositories
- make legacy components available for Maven components in the local Maven repository for compile-time dependency resolution purposes
To trigger execution of mavenizer on a given legacy component, it is enough to have a
[gabriele@gabriele-work maven-builder]$ bin/mavenize --help USAGE: bin/mavenize [flags] flags: -g,--groupId: the groupId to use in the mvn commandline (default: 'org.gcube') -k,--packaging: the type of the artifact. Default is 'jar'. (default: 'jar') -n,--artifactId: the artifactId to use in the mvn commandline. If not specified, it will be the etics module's name (default: '') -v,--version: the version to use in the mvn commandline. If not specified, it will be the etics module version (default: '') -f,--file: artifact file to mavenize. If not specified, a search will be done in the etics module home trying to find a suitable artifact (default: '') -d,--[no]forcedeploy: force deployment of artifact on remote repository (default: false) -s,--[no]dryrun: no act. Perform just a simulation (default: false) -l,--loglevel: log level. Accepted values are 0, 1, 2 (default: 1) -h,--[no]help: show this help (default: false)