Hi Gabe,

I think I found it. Your Resmgr depends on your Crawler, which in turn
depends on Workflow Manager, which creates
the reciprocal dependency.

Check out Maven POM dependency excludes. That should fix it for ya.

You can also see the transitive dependencies on your project by typing:

mvm dependency:tree

Cheers,
Chris


On 2/28/13 3:40 PM, "Resneck, Gabriel M (388J)"
<gabriel.m.resn...@jpl.nasa.gov> wrote:

>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.outputEncodin
>g
>>
>
>               <!-- 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-s
>v
>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.w...@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.mattm...@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.resn...@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 =)
>>>
>

Reply via email to