The goal is to develop a strategy to migrate all existing Glast projects from Maven1 to Maven2 is as unobtrusive a way as possible. The reasons to switch to maven2 are
We will not be able to move all projects over-night, so we need a strategy for which order to move projects, and how projects which have moved can continue to co-exist with projects which have not moved. We will need to provide clear instructions to developers to allow them to move their projects.
We should start with some simple projects, like org-glast-groupmanager.
All projects have to specify in the pom file the repositories where to find the parent. So the following code is required in every project:
<repositories> <repository> <id>glast-maven2</id> <name>GLAST Maven 2 central repository</name> <url>http://glast-ground.slac.stanford.edu/maven2</url> </repository> <repository> <id>glast-maven2-snapshots</id> <name>GLAST Maven2 central SNAPSHOTS repository</name> <url>http://glast-ground.slac.stanford.edu/maven2/SNAPSHOTS</url> </repository> </repositories> |
A jar project should inherit from org-glast-maven-jar-project; so in your pom add:
<parent> <groupId>glast</groupId> <artifactId>org-glast-maven-jar-project</artifactId> <version>1.2</version> </parent> |
A jar project should inherit from org-glast-maven-war-project; so in your pom add:
<parent> <groupId>glast</groupId> <artifactId>org-glast-maven-war-project</artifactId> <version>1.2</version> </parent> |
The final name of the war file is to be set in the pom file as:
<build> <finalName>ServerMapping</finalName> </build> |
This name is the name of the produced war file and it must be identical to the Application's context. It is also used by the Maven Tomcat Deploy plugin to find the production deployment server.
Maven2 expects the source files to be located in src/main/webapp. Some of our projects have the source code in src/webapp. To tell maven2 to look in the latter location add the following to your pom file:
<build> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <warSourceDirectory>${basedir}/src/webapp</warSourceDirectory> </configuration> </plugin> </plugins> </build> |
CVS repositories cannot be inherited by the parent pom, so each project will have to add the following lines to their pom file:
<scm> <connection>scm:cvs:pserver:anoncvs@glast-java.slac.stanford.edu:/cvs/java:${artifactId}</connection> <developerConnection>scm:cvs:ext:@glast-java.slac.stanford.edu:/cvs/java:${artifactId}</developerConnection> <url>http://www-glast.stanford.edu/cgi-bin/viewcvs/${artifactId}/?root=java</url> </scm> |
To be able to deploy to a tomcat server it is necessary to provide the manager's username and password. This can be done in a file called settings.xml located in your HOME\.m2 directory.
For GLAST you have to add the glastServer server element as shown below:
<?xml version="1.0" encoding="UTF-8"?> <settings> <servers> <server> <id>glastServer</id> <username>glast</username> <password>GammaRay</password> </server> </servers> </settings> |
To have the version number picked up automatically from the pom file add the following lines to web.xml
<context-param> <param-name> version </param-name> <param-value> ${pom.version} </param-value> </context-param> |
and the following to the jsp:
Version: ${initParam.version} |
Module Name |
Converted |
In Hudson |
Comments |
Contact |
---|---|---|---|---|
org-glast-maven-project |
|
|
|
max |
org-glast-maven-jar-project |
|
|
|
max |
org-glast-maven-jar-archetype |
|
|
|
max |
org-glast-maven-war-project |
|
|
|
max |
org-glast-maven-war-archetype |
|
|
|
max |
org-glast-maven-aida-project |
|
|
|
max |
org-glast-tomcat-deploy-maven-plugin |
|
|
|
max |
org-glast-base-web |
|
|
|
max |
org-glast-base-application |
|
|
|
max |
org-glast-servermapping |
|
|
|
max |
org-glast-groupmanager |
|
|
Unnecessary dependence on aidatld. Still on branch |
tony |
org-glast-dataportal-astro-model |
|
|
|
tony |
org-glast-datahandling-common |
|
|
|
tony |
org-glast-telemetry-trending |
|
|
|
max |
org-glast-telemetry-trending-web |
|
|
|
max |
org-glast-installer-gui |
|
|
|
tony |
org-glast-releasemanager |
|
|
|
tony |
TomcatConfigurationBuilder |
|
|
|
tony |
org-glast-dataportal-astro |
|
|
|
tony |
org-glast-reports-web |
|
|
|
max |
org-glast-resources |
|
|
|
charlotte |
oracle |
|
|
|
tony |
org-glast-dataportal-history |
|
|
|
tony |
org-glast-runquality-web |
|
|
|
karen |
org-glast-historyprocessing-web |
|
|
|
karen |
org-glast-latba-web |
|
|
|
dan k |
org-glast-dataportal-model |
|
|
Version 1.8 but depends on SNAPSHOTs |
tony |
org-glast-dataportal-portal |
|
|
|
tony |
org-glast-jobcontrol |
|
|
Version 1.8 |
tony |
org-glast-servermon-web |
|
|
|
max |
org-glast-asp-skimmer |
|
|
|
tony |
org-glast-dataportal-simpleskimmer |
|
|
Unnecessary dependence on aidatld |
tony |
org-glast-latcatalog-web |
|
|
|
roberto |
org-glast-shiftschedule-web |
|
|
|
charlotte |
org-glast-dataportal-skimmer-fits |
|
|
|
tony |
org-glast-aspdataviewer-web |
|
|
|
roberto |
org-glast-dataportal-wired |
|
|
|
tony |
org-glast-skimmer-web |
|
|
|
tony |
org-glast-dataportal-xroot-gateway |
|
|
|
tony |
org-glast-dataprocessing-web |
|
|
|
max |
org-glast-dataqualitymonitoring |
|
|
|
max |
org-glast-dataqualitymonitoring-web |
|
|
|
max |
org-glast-systemtests-web |
|
|
|
max |
org-glast-dataserver-portal |
|
|
|
tony |
org-glast-cas-client-example |
|
|
|
tony |
org-glast-dataserver-web |
|
|
|
tony |
org-glast-cas-server |
|
|
|
tony |
org-glast-downloadmanager |
|
|
|
tony |
org-glast-pipeline-client |
|
|
|
tony |
org-glast-commons-web |
|
|
|
max |
org-glast-confluence |
|
|
|
tony |
org-glast-countdown-clock |
|
|
|
tony |
org-glast-pipeline-server |
|
|
|
dan |
org-glast-datacat-client |
|
|
Version is 2.3.2 but depends on SNAPSHOTs. Test do not work |
dan |
org-glast-pipeline-web |
|
|
|
tony |
org-glast-datacat-sp |
|
|
Version is 2.2.1, but depends on SNAPSHOTs |
dan |
org-glast-datacatalog-web |
|
|
|
tony |
org-silicondetecor-web |
|
|
|
karen |
org-glast-groupmanager-example |
|
|
|
tony |
tomcat |
|
|
|
tony |
org-glast-datacat-server |
|
|
crawler |
tony |
org-glast-isoc-cfgwebbrowser |
|
|
|
jim |
org-glast-fcwebview |
|
|
|
jim |
org-glast-isoc-mpwebview |
|
|
|
jim |
These should be either upgraded to current projects or demoted to obsolete.
Module Name |
Converted |
In Hudson |
Comments |
Contact |
---|---|---|---|---|
org-glast-fcmonitor |
|
|
Obsolete? |
bryson |
org-glast-isoc-common |
|
|
|
steve |
org-glast-logging |
|
|
Is this a duplicate of org-glast-isoc-logging? |
steve |
org-glast-isoc-logging |
|
|
|
steve, jim, max |
org-glast-telemetry-apidstats |
|
|
|
david d |
org-glast-telemetry-monitor-web |
|
|
|
david d |
org-glast-calibrationtrending |
|
|
Obsolete |
max |
org-glast-calibrationtrending-web |
|
|
Obsolete |
max |
org-glast-mc-requests |
|
|
|
|
org-glast-clock |
|
|
|
|
org-glast-util-grep |
|
|
|
tony |
org-glast-visitor-web |
|
|
|
tony |
org-glast-dataflow-web |
|
|
|
|
org-glast-glossary |
|
|
|
|
org-glast-tld-timeline |
|
|
|
|
org-glast-telemetry-rtdisplay-web |
|
|
|
|
org-glast-elog-base |
|
|
|
|
org-glast-monitor |
|
|
|
|
org-glast-elog-web |
|
|
|
|
They will be moved to a different directory (obsolete) in the cvs repository.
Module Name |
Converted |
In Hudson |
Comments |
Contact |
---|---|---|---|---|
org-glast-fcwebview-portlet |
|
|
Obsolete |
max |
org-glast-portlet |
|
|
Obsolete |
max |
org-glast-portlet-base |
|
|
Obsolete |
max |
org.glast.portlet |
|
|
Obsolete |
max |
org-glast-portlets |
|
|
Obsolete |
max |
org-glast-skeleton-portlet |
|
|
Obsolete |
max |
org-glast-portal-theme |
|
|
Obsolete |
max |
org-glast-grbmonitoring-web |
|
|
Obsolete |
roberto |
org-glast-asdc-sourceviewer |
|
|
Obsolete |
roberto |
org-glast-asp-sourceviewer |
|
|
Obsolete |
roberto |
datacatalog-web |
|
|
Obsolete |
tony |
org-glast-datamonitoring |
|
|
Obsolete |
max |
org-glast-web-base-application |
|
|
Obsolete |
max |
org-glast-datamonitoring-web |
|
|
Obsolete |
max |
org-glast-trendable-db |
|
|
Obsolete |
max |
org-glast-pipeline-log |
|
|
Obsolete |
tony |
org-glast-pipeline-xml |
|
|
Obsolete |
tony |
org-glast-pipeline-core |
|
|
Obsolete |
tony |
org-glast-batch |
|
|
Obsolete |
tony |
org-glast-telemetry-trends |
|
|
Obsolete |
max |
org-glast-sourcemonitoring |
|
|
Obsolete |
max |
org-glast-sourcemonitoring-web |
|
|
Obsolete |
max |
org-glast-maven-web-project |
|
|
Obsolete |
max |
org-glast-fastmonitoring |
|
|
Obsolete |
max |
org-glast-fastmonitoring-web |
|
|
Obsolete |
max |
org-glast-maven-plugin-parent |
|
|
Obsolete |
matt |
org-glast-maven-xmlbeans-plugin |
|
|
Obsolete |
matt |
org-glast |
|
|
Obsolete |
matt |
org.glast.test |
|
|
Obsolete |
matt |
org-glast-hello |
|
|
Obsolete |
matt |
org-glast-profile |
|
|
Obsolete |
matt |
org-glast-common |
|
|
Obsolete |
matt |