<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">

    <parent>
	<groupId>org.apache.sandesha2</groupId>
		<artifactId>sandesha2-parent</artifactId>
        <version>1.2</version>
    </parent>
    
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.sandesha2</groupId>
    <artifactId>sandesha2-client-constants</artifactId>
    <packaging>jar</packaging>
    <name>Sandesha2 - Client</name>

    <build>
        <sourceDirectory>src/main/java</sourceDirectory>
        <testSourceDirectory>src/main/java</testSourceDirectory>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.1</version>
                <executions>
                    <execution>
                        <id>create-test-resources</id>
                        <phase>process-test-resources</phase>
                        <configuration>
                            <tasks>

                                <!--copy sandesha client classes from core module-->
                                <copy overwrite="yes"
                                      file="../core/target/classes/org/apache/sandesha2/client/SandeshaClientConstants.class"
                                      tofile="target/classes/org/apache/sandesha2/client/SandeshaClientConstants.class"/>
                                <copy overwrite="yes"
                                      file="../core/target/classes/org/apache/sandesha2/client/SandeshaListener.class"
                                      tofile="target/classes/org/apache/sandesha2/client/SandeshaListener.class"/>
                                <copy overwrite="yes"
                                      file="../core/target/classes/org/apache/sandesha2/client/SequenceReport.class"
                                      tofile="target/classes/org/apache/sandesha2/client/SequenceReport.class"/>


                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>		


            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.4</source>
                    <target>1.4</target>
                </configuration>
            </plugin>

           </plugins>

    </build>
    
    <dependencies>
    	<dependency>
            <groupId>org.apache.sandesha2</groupId>
            <artifactId>sandesha2-core</artifactId>
            <version>${sandesha2.version}</version>
        </dependency>
    </dependencies>

</project>
