oodt-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Resneck, Gabriel M (388J)" <Gabriel.M.Resn...@jpl.nasa.gov>
Subject Re: Including Workflow Manager in Resource Manager Package using Maven Assembly Plug-In
Date Thu, 28 Feb 2013 23:40:41 GMT
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 &amp; 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>Cynthia.L.Wong@list.jpl.nasa.gov</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)"
<chris.a.mattmann@jpl.nasa.gov> 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)"
><Gabriel.M.Resneck@jpl.nasa.gov> 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 =)
>>


Mime
View raw message