Here is the parent POM:
<?xml version='1.0' encoding='UTF-8'?>
<!-- Copyright 2009-2015, by the California Institute of Technology. ALL
RIGHTS RESERVED. United States Government Sponsorship acknowledged.
@author
Cynthia Wong @version $Id: pom.xml 16560 2013-02-11 19:53:49Z resneck $
-->
<project xmlns='http://maven.apache.org/POM/4.0.0'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd'>
<modelVersion>4.0.0</modelVersion>
<groupId>gov.nasa.smap</groupId>
<artifactId>spdm</artifactId>
<version>0.4.0-dev</version>
<packaging>pom</packaging>
<name>SPDM</name>
<description>
This software package contains the software developed for the Science
Processing and Data Management (SPDM) of
Soil Moisture Active Passive Mission (SMAP) Science Data System
(SDS).
</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding
>
<!-- OODT/PCS Components -->
<oodt-version>0.3</oodt-version>
<!-- SPDM properties -->
<spdm-version>0.4.0-dev</spdm-version>
<spdm-releaseId>0.3.0</spdm-releaseId>
<spdm-svn-repo>http://oodt.jpl.nasa.gov/repo/projects/smap/trunk</spdm-sv
n-repo>
<spdm-site-repo>sftp://smap-sds-web.jpl.nasa.gov/smap-sds/local/apache2/h
tdocs/docs/spdm</spdm-site-repo>
<spdm-maven-repo>sftp://smap-sds-web.jpl.nasa.gov/smap-sds/local/apache2/
htdocs/m2repo</spdm-maven-repo>
<spdm-maven-download>http://smap-sds-web.jpl.nasa.gov/m2repo</spdm-maven-
download>
<spdm-modules>filemgr crawler resource workflow pushpull
scripts</spdm-modules>
</properties>
<modules>
<module>${project.artifactId}-filemgr</module>
<module>${project.artifactId}-crawler</module>
<module>${project.artifactId}-resource</module>
<module>${project.artifactId}-workflow</module>
<module>${project.artifactId}-pushpull</module>
<module>${project.artifactId}-scripts</module>
<module>${project.artifactId}-distribution</module>
</modules>
<ciManagement>
<system>Jenkins</system>
<url>https://smap-sds-cm.jpl.nasa.gov/jenkins/job/spdm</url>
</ciManagement>
<inceptionYear>2010</inceptionYear>
<organization>
<name>Soil Moisture Active & Passive</name>
<url>http://smap.jpl.nasa.gov/</url>
</organization>
<scm>
<connection>scm:svn:${spdm-svn-repo}
</connection>
<developerConnection>scm:svn:${spdm-svn-repo}
</developerConnection>
<url>${spdm-svn-repo}</url>
</scm>
<url>http://oodt.jpl.nasa.gov/repo/projects/smap/tags/${spdm-releaseId}</u
rl>
<issueManagement>
<system>JIRA</system>
<url>http://smap-sds-web.jpl.nasa.gov/jira/browse/SPDM</url>
</issueManagement>
<mailingLists>
<mailingList>
<name>SPDM Commit List</name>
<post>[email protected]</post>
</mailingList>
</mailingLists>
<distributionManagement>
<repository>
<id>spdm-maven-repo</id>
<name>SPDM Maven Repository</name>
<url>${spdm-maven-repo}</url>
<uniqueVersion>false</uniqueVersion>
<layout>default</layout>
</repository>
<site>
<id>spdm-site-repo</id>
<name>SMDP Site Repository</name>
<url>${spdm-site-repo}</url>
</site>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.13</version>
</plugin>
</plugins>
</build>
<repositories>
</repositories>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changelog-plugin</artifactId>
<version>2.2</version>
<configuration>
<type>range</type>
<range>240</range>
<headingDateFormat>yyyy-MM-dd</headingDateFormat>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<version>2.6</version>
<configuration>
<xmlPath>${basedir}/changes.xml</xmlPath>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>changes-report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.1.1</version>
</plugin>
</plugins>
</reporting>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Here is the POM of the Workflow Manager. We want the JAR created by this
POM to wind up in the lib directory for the Resource Manager:
<project xmlns='http://maven.apache.org/POM/4.0.0'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd'>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>gov.nasa.smap</groupId>
<artifactId>spdm</artifactId>
<version>0.4.0-dev</version>
</parent>
<groupId>gov.nasa.smap.spdm</groupId>
<artifactId>spdm-workflow</artifactId>
<version>${spdm-version}</version>
<packaging>jar</packaging>
<name>SPDM Workflow Manager</name>
<description>
The SPDM Workflow Manager extends the cas-workflow manager to manage and
schedule the science process pipeline.
</description>
<dependencies>
<dependency>
<groupId>org.apache.oodt</groupId>
<artifactId>cas-workflow</artifactId>
<version>${oodt-version}</version>
</dependency>
<dependency>
<groupId>org.apache.oodt</groupId>
<artifactId>cas-filemgr</artifactId>
<version>${oodt-version}</version>
</dependency>
<dependency>
<groupId>org.apache.oodt</groupId>
<artifactId>cas-pge</artifactId>
<version>${oodt-version}</version>
<exclusions>
<exclusion>
<groupId>net.sf.saxon</groupId>
<artifactId>saxon-dom</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>gov.nasa.smap.spdm</groupId>
<artifactId>spdm-crawler</artifactId>
<scope>runtime</scope>
<version>${spdm-version}</version>
<exclusions>
<exclusion>
<groupId>net.sf.saxon</groupId>
<artifactId>saxon9he</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>gov.nasa.smap.spdm</groupId>
<artifactId>spdm-filemgr</artifactId>
<version>${spdm-version}</version>
</dependency>
<dependency>
<groupId>gov.nasa.smap.spdm</groupId>
<artifactId>spdm-resource</artifactId>
<version>${spdm-version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>9.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Here is the assembly spec for the Workflow Manager:
<assembly>
<id>dist</id>
<formats>
<format>tar.gz</format>
<format>zip</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<baseDirectory>${project.artifactId}-${project.version}</baseDirectory>
<includeSiteDirectory>false</includeSiteDirectory>
<fileSets>
<fileSet>
<directory>${basedir}/src/main/bin</directory>
<outputDirectory>bin</outputDirectory>
<includes/>
<fileMode>755</fileMode>
</fileSet>
<fileSet>
<directory>${basedir}/src/main/resources/etc</directory>
<outputDirectory>etc</outputDirectory>
<includes/>
</fileSet>
<fileSet>
<directory>${basedir}/src/main/resources/logs</directory>
<outputDirectory>logs</outputDirectory>
</fileSet>
<fileSet>
<directory>${basedir}/src/main/resources/policy</directory>
<outputDirectory>policy</outputDirectory>
<includes/>
</fileSet>
<fileSet>
<directory>${basedir}/src/main/ojdbc-dist</directory>
<outputDirectory>lib</outputDirectory>
<includes/>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<unpack>false</unpack>
<useProjectArtifact>true</useProjectArtifact>
<useTransitiveDependencies>true</useTransitiveDependencies>
<unpackOptions/>
</dependencySet>
</dependencySets>
</assembly>
Here is the POM for the Resource Manager:
<project xmlns='http://maven.apache.org/POM/4.0.0'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd'>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>gov.nasa.smap</groupId>
<artifactId>spdm</artifactId>
<version>0.4.0-dev</version>
</parent>
<groupId>gov.nasa.smap.spdm</groupId>
<artifactId>spdm-resource</artifactId>
<version>${spdm-version}</version>
<packaging>jar</packaging>
<name>SPDM Resource Manager</name>
<description>
The SPDM Resource Manager is an extension of PCS Resource Manager to
manage the job resources.
</description>
<dependencies>
<dependency>
<groupId>org.apache.oodt</groupId>
<artifactId>cas-resource</artifactId>
<version>${oodt-version}</version>
</dependency>
<dependency>
<groupId>gov.nasa.smap.spdm</groupId>
<artifactId>spdm-filemgr</artifactId>
<version>${spdm-version}</version>
</dependency>
<dependency>
<groupId>gov.nasa.smap.spdm</groupId>
<artifactId>spdm-crawler</artifactId>
<scope>runtime</scope>
<version>${spdm-version}</version>
<exclusions>
<exclusion>
<groupId>net.sf.saxon</groupId>
<artifactId>saxon9he</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.oodt</groupId>
<artifactId>cas-pge</artifactId>
<version>${oodt-version}</version>
<exclusions>
<exclusion>
<groupId>net.sf.saxon</groupId>
<artifactId>saxon-dom</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>9.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Aaaaaand, here is the assembly spec for the Resource Manager. I suspect
that this is what I'll have to change, I'm just unsure of what changes I
need to make to move the Workflow Manager JAR into the lib directory:
<assembly>
<id>dist</id>
<formats>
<format>tar.gz</format>
<format>zip</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<baseDirectory>${project.artifactId}-${project.version}</baseDirectory>
<includeSiteDirectory>false</includeSiteDirectory>
<fileSets>
<fileSet>
<directory>${basedir}/src/main/bin</directory>
<outputDirectory>bin</outputDirectory>
<includes/>
<fileMode>755</fileMode>
</fileSet>
<fileSet>
<directory>${basedir}/src/main/resources/etc</directory>
<outputDirectory>etc</outputDirectory>
<includes/>
</fileSet>
<fileSet>
<directory>${basedir}/src/main/resources/logs</directory>
<outputDirectory>logs</outputDirectory>
</fileSet>
<fileSet>
<directory>${basedir}/src/main/resources/policy</directory>
<outputDirectory>policy</outputDirectory>
<includes/>
</fileSet>
<fileSet>
<directory>${basedir}/src/main/ojdbc-dist</directory>
<outputDirectory>lib</outputDirectory>
<includes/>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<unpack>false</unpack>
<useProjectArtifact>true</useProjectArtifact>
<useTransitiveDependencies>true</useTransitiveDependencies>
<unpackOptions/>
</dependencySet>
</dependencySets>
</assembly>
Thanks again for the help!
Gabe =)
On 2/24/13 11:21 AM, "Mattmann, Chris A (388J)"
<[email protected]> wrote:
>Hi Gabe,
>
>Can you post your assembly specs, and your pom.xmls?
>
>WM should depend on RM mainly for the Job interface and JobInput
>interface, so that sounds right, so not sure what you are seeingÅ
>
>Cheers,
>Chris
>
>
>On 2/23/13 11:33 AM, "Resneck, Gabriel M (388J)"
><[email protected]> wrote:
>
>>Hi, all!
>>I know that the OODT community is home to some Maven gurus, and I'm
>>hoping to tap into that expertise.
>>I have recently changed the SMAP code in such a way that our
>>project-specific extensions to the Workflow Manager depend upon our
>>extensions to the Resource Manager. This is actually similar to the
>>setup in OODT 0.5, however, these changes have upset how the Maven
>>assembly plug-in builds our project. Before, the dependency went the
>>other way, which meant that JARs important to the Workflow Manager would
>>make their way into the lib directory of Resource Manager which needed
>>those JARs.
>>Our assembly specification is basically the same as the one used in the
>>core. Does anyone happen to know how I could change it to include the
>>Workflow Manager JAR that we create in the lib directory of the Resource
>>Manager.
>>Thanks heaps!
>>
>>Gabe =)
>>