<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.gcube.data.transfer</groupId>
    <artifactId>agent-parent</artifactId>
    <version>1.1.0-SNAPSHOT</version>
    <relativePath>..</relativePath>
  </parent>
  <artifactId>agent-service</artifactId>
  <name>The Data Transfer Agent Service</name>
<!-- 
<dependencyManagement>
	<dependencies>
	<dependency>
		<groupId>org.gcube.distribution</groupId>
		<artifactId>maven-bom</artifactId>
		<version>1.0.0-SNAPSHOT</version>
		<type>pom</type>
		<scope>import</scope>		
	</dependency>
	</dependencies>
</dependencyManagement>
   -->
  
<dependencies>
  	<dependency>
  		<groupId>org.gcube.execution</groupId>
  		<artifactId>grs2library</artifactId>
  		<version>2.0.0-SNAPSHOT</version>
  		<scope>provided</scope>
  		
  	</dependency>
  	 <dependency>
  			<groupId>org.gcube.data.access</groupId>
			 <artifactId>tree-manager-library</artifactId>
  			<version>2.0.0-SNAPSHOT</version>

    </dependency>
		 <dependency>
			<groupId>org.gcube.data.access</groupId>
			<artifactId>tree-manager-framework</artifactId>
			<version>2.0.0-SNAPSHOT</version>
			<scope>test</scope>
		</dependency>
	<dependency>
			<groupId>org.gcube.data.access</groupId>
			<artifactId>tree-manager-service</artifactId>
			<version>2.0.0-SNAPSHOT</version>
			<type>gar</type>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.gcube.data.access</groupId>
			<artifactId>tree-repository</artifactId>
			<version>2.0.0-SNAPSHOT</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.gcube.tools</groupId>
			<artifactId>my-container</artifactId>
			<version>1.0.0</version>
			<scope>test</scope>
		</dependency>
		<dependency>
           <groupId>org.gcube.core</groupId>
           <artifactId>gcf</artifactId>
           <version>1.5.0-SNAPSHOT</version>
           <scope>provided</scope>
       </dependency>
	  <dependency>
	  	<groupId>org.gcube.data.transfer</groupId>
	  	<artifactId>agent-library</artifactId>
	  	<version>1.1.0-SNAPSHOT</version>
	  </dependency>
	  	  <dependency>
	  	<groupId>org.gcube.data.transfer</groupId>
	  	<artifactId>agent-stubs</artifactId>
	  	<version>[1.1.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
	  </dependency>
	  <dependency>
	  	<groupId>org.gcube.informationsystem</groupId>
	  	<artifactId>is-client</artifactId>
	  	<version>1.6.0-SNAPSHOT</version>
	  	<scope>test</scope>
	  </dependency>
	  <dependency>
	  	<groupId>org.gcube.informationsystem</groupId>
	  	<artifactId>is-collector-stubs</artifactId>
	  	<version>3.0.0-SNAPSHOT</version>
	  	<scope>test</scope>
	  </dependency>
	  <dependency>
  		<groupId>org.gcube.contentmanagement</groupId>
  		<artifactId>storage-manager-wrapper</artifactId>
 		 <version>1.0.0-SNAPSHOT</version>		 
	</dependency>
	
	<dependency>
  		<groupId>org.gcube.contentmanagement</groupId>
  		<artifactId>storage-manager-core</artifactId>
  		<version>1.0.0-SNAPSHOT</version>
	</dependency>
		<dependency>
			<groupId>org.hsqldb</groupId>
			<artifactId>hsqldb</artifactId>
			<version>2.2.8</version>
		</dependency>

		 <!--jdo related dependencies-->
	  <dependency>
			<groupId>javax.jdo</groupId>
			<artifactId>jdo-api</artifactId>
			<version>3.0</version>
			<exclusions>
            <!--
                exclude the legacy javax.transaction:transaction-api and replace it
                with javax.transaction:jta (it appears to be the same thing)
            -->
            <exclusion>
                <groupId>javax.transaction</groupId>
                <artifactId>transaction-api</artifactId>
            </exclusion>
        </exclusions>			
	  </dependency>
      
      <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>jta</artifactId>
        <version>1.1</version>
      </dependency>

	<!--datanucleus related dependencies-->
		<dependency>
			<groupId>org.datanucleus</groupId>
			<artifactId>datanucleus-api-jdo</artifactId>
			<version>3.0.1</version>
		</dependency>

	    <dependency>
             <groupId>org.datanucleus</groupId>
             <artifactId>datanucleus-core</artifactId>
             <version>3.0.1</version>
             <exclusions>
                <exclusion>
                            <groupId>javax.transaction</groupId>
                            <artifactId>transaction-api</artifactId>
                 </exclusion>
              </exclusions>
		</dependency>
		
        <dependency>
                    <groupId>org.datanucleus</groupId>
                    <artifactId>datanucleus-rdbms</artifactId>
                    <version>3.0.1</version>
        </dependency>
        
        <dependency>
                    <groupId>org.datanucleus</groupId>
                    <artifactId>datanucleus-enhancer</artifactId>
                    <version>3.0.1</version>
        </dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>1.2</version>
			</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-vfs2</artifactId>
			<version>2.0</version>
		</dependency>
		<dependency>
			<groupId>commons-httpclient</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>3.1</version>
		</dependency>
		<dependency>
			<groupId>org.gcube.data.transfer</groupId>
			<artifactId>common</artifactId>
			<version>1.0.1-SNAPSHOT</version>
		</dependency>
</dependencies>

	<build>
	
		<plugins>
		 <plugin>
            <groupId>org.datanucleus</groupId>
            <artifactId>maven-datanucleus-plugin</artifactId>
            <version>3.0.1</version>
            <configuration>
 
                <mappingIncludes>${basedir}</mappingIncludes>
                <verbose>true</verbose>
                <enhancerName>ASM</enhancerName>
                <api>JDO</api>
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>enhance</goal>
                    </goals>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>org.datanucleus</groupId>
                    <artifactId>datanucleus-core</artifactId>
                    <version>3.0.1</version>
                    <exclusions>
                        <exclusion>
                            <groupId>javax.transaction</groupId>
                            <artifactId>transaction-api</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
                <dependency>
                    <groupId>org.datanucleus</groupId>
                    <artifactId>datanucleus-rdbms</artifactId>
                    <version>3.0.1</version>
                </dependency>
                <dependency>
                    <groupId>org.datanucleus</groupId>
                    <artifactId>datanucleus-enhancer</artifactId>
                    <version>3.0.1</version>
                </dependency>

            </dependencies>
        </plugin>
		
			<plugin>
				<groupId>org.gcube.tools</groupId>
				<artifactId>maven-service-plugin</artifactId>
				<executions>
					<execution>
						<id>make-gar</id>
						<goals>
							<goal>gar-gen</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-dependency-plugin</artifactId>
               <version>2.4</version>
               <executions>
                  <execution>
                       <id>install-plugin</id>
                       <phase>generate-test-resources</phase>
                       <goals>
                           <goal>copy-dependencies</goal>
                       </goals>
                       <configuration>
                       		<includeArtifactIds>tree-manager-service</includeArtifactIds>	   
                           	<overWriteSnapshots>true</overWriteSnapshots>
                           	<includeTypes>gar</includeTypes>
                           	<excludeTransitive>false</excludeTransitive>
                           	<outputDirectory>src/test/resources</outputDirectory>
                           	<stripVersion>true</stripVersion>
                       </configuration>   
                   </execution>
                   <execution>
                       <id>install-service</id>
                       <phase>generate-test-resources</phase>
                        <goals>
                           <goal>copy-dependencies</goal>
                       </goals>
                       <configuration>
                       		    
                       		<includeArtifactIds>tree-repository</includeArtifactIds>	   
                           	<overWriteSnapshots>true</overWriteSnapshots>
                           	<includeTypes>jar</includeTypes>
                           	<excludeTransitive>false</excludeTransitive>
                           	<outputDirectory>src/test/resources</outputDirectory>
                           	<stripVersion>true</stripVersion>
                          
                       </configuration>
                   </execution>
                 
                   <execution>
                       <id>install-my-container</id>
                       <phase>generate-test-resources</phase>
                       <configuration>
                           <artifactItems>
                               <artifactItem>
                                   <groupId>org.gcube.tools</groupId>
                                   <artifactId>my-container</artifactId>
                                   <version>1.0.0</version>
                                   <type>tar.gz</type>
                                   <classifier>distro</classifier>
                                   <overWrite>false</overWrite>
                                   <outputDirectory>${project.basedir}</outputDirectory>
                               </artifactItem>
                           </artifactItems>
                           <markersDirectory>${project.basedir}</markersDirectory>
                       </configuration>
                       <goals>
                           <goal>unpack</goal>
                       </goals>
                   </execution>
               </executions>
           </plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-assembly-plugin</artifactId>
						<version>2.2</version>
						<configuration>
							<descriptors>
								<descriptor>../distro/descriptor.xml</descriptor>
							</descriptors>
						</configuration>
						<executions>
							<execution>
								<id>servicearchive</id>
								<phase>install</phase>
								<goals>
									<goal>single</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-dependency-plugin
										</artifactId>
										<versionRange>
											[2.3,)
										</versionRange>
										<goals>
											<goal>copy</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<profiles>
		<profile>
             <id>local-deploy</id>
           <build>
               <plugins>
                   <plugin>
                       <groupId>org.gcube.tools</groupId>
                       <artifactId>maven-service-plugin</artifactId>
                       <executions>
                           <execution>
                               <phase>package</phase>
                               <goals>
                                   <goal>local-deploy</goal>
                               </goals>
                           </execution>
                       </executions>
                   </plugin>
               </plugins>
           </build>
   </profile>
	</profiles>
</project>