7 | | Maven is only used for the ebxml parts. GN itself works with Ant. Integration of Maven tasks within Ant is not difficult and might be done at a later stage. |
| 11 | == Overview == |
| 12 | In Bolsena hacking event 2009, we decided to move from ant build to maven. |
| 13 | |
| 14 | === Maven structure === |
| 15 | |
| 16 | [[Image(maven.png)]] |
| 17 | |
| 18 | * GeoServer : no more embedded in GeoNetwork |
| 19 | * CSW client : removed |
| 20 | * jetty : via Maven (see Run the application) |
| 21 | |
| 22 | === Maven build === |
| 23 | ==== Build the application ==== |
| 24 | {{{ |
| 25 | mvn clean install |
| 26 | }}} |
| 27 | |
| 28 | |
| 29 | ==== Packaging the application ==== |
| 30 | GeoNetwork is distributed as WAR files (intermap.war and geonetwork.war) packaged by maven process. |
| 31 | |
| 32 | |
| 33 | ==== Run the application ==== |
| 34 | Maven plugins for Jetty or Cargo allows to quickly start the application after build. |
| 35 | |
| 36 | ===== War files ==== |
| 37 | Publish war files created by maven to your favorite webapp directory (Tomcat, Jetty). |
| 38 | |
| 39 | ===== Maven plugin / Cargo ===== |
| 40 | See : http://cargo.codehaus.org/ |
| 41 | {{{ |
| 42 | mvn cargo:start |
| 43 | mvn cargo:stop |
| 44 | }}} |
| 45 | ===== Maven plugin / Jetty ===== |
| 46 | {{{ |
| 47 | mvn jetty:run |
| 48 | }}} |
| 49 | Current issue with jetty plugin is that we cannot run more than one application at a time (only geonetwork.war is started, not intermap.war). |
| 50 | |
| 51 | |
| 52 | ==== Create an eclipse workspace ==== |
| 53 | {{{ |
| 54 | mvn eclipse:eclipse |
| 55 | }}} |
| 56 | |
| 57 | === Proposal Type === |
| 58 | * '''Type''': Architecture |
| 59 | * '''App''': !GeoNetwork |
| 60 | * '''Module''': All |
| 61 | |
| 62 | === Links === |
| 63 | |
| 64 | * '''Email discussions''': |
| 65 | * http://n2.nabble.com/Re-switch-to-maven-tp4569552p4569552.html |
| 66 | * http://n2.nabble.com/Maven-tp4009861p4009861.html |
| 67 | * '''IRC discussions''': |
| 68 | |
| 69 | === Voting History === |
| 70 | * |
| 71 | |
| 72 | == Proposal details == |
| 73 | |
| 74 | |
| 75 | == Backwards Compatibility Issues == |
| 76 | None. |
| 77 | |
| 78 | == Risks == |
| 79 | |
| 80 | |
| 81 | == Participants == |
| 82 | * Francois |
| 83 | * Mathieu |
| 84 | * Maven expert very welcomed ! |