<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>org.rhq</groupId>
        <artifactId>rhq-enterprise-server-plugins-parent</artifactId>
        <version>3.0.0</version>
    </parent>

    <groupId>org.rhq</groupId>
    <artifactId>rhq-serverplugin-rhnhosted</artifactId>
    <packaging>jar</packaging>

    <name>RHQ Enterprise Server RHN Hosted Plugin</name>
    <description>Provides ability to communicate with RHN Hosted</description>

    <scm>
        <connection>scm:svn:http://svn.rhq-project.org/repos/rhq/trunk/modules/enterprise/server/plugins/rhnhosted/</connection>
        <developerConnection>scm:svn:http://svn.rhq-project.org/repos/rhq/trunk/modules/enterprise/server/plugins/rhnhosted/</developerConnection>
    </scm>

    <properties>
        <scm.module.path>modules/enterprise/server/plugins/rhnhosted/</scm.module.path>
    </properties>

    <dependencies>

        <!-- Internal Deps -->

        <dependency>
            <groupId>org.rhq</groupId>
            <artifactId>rhq-core-client-api</artifactId>
            <version>${project.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.4</version>
        </dependency>

        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.8.0</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.4</version>
        </dependency>

        <!-- Bouncy Castle -->
        <dependency>
            <groupId>bouncycastle</groupId>
            <artifactId>bcprov-jdk15</artifactId>
            <version>140</version>
        </dependency>

        <dependency>
            <groupId>bouncycastle</groupId>
            <artifactId>bcpg-jdk15</artifactId>
            <version>140</version>
        </dependency>

        <!-- Apache WS XMLRPC -->
        <dependency>
            <groupId>org.apache.xmlrpc</groupId>
            <artifactId>xmlrpc-client</artifactId>
            <version>3.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlrpc</groupId>
            <artifactId>xmlrpc-common</artifactId>
            <version>3.1.2</version>
        </dependency>

        <!-- JAXB -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.1</version>
        </dependency>

        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.1.3</version>
        </dependency>
    </dependencies>


    <build>

        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
                <includes>
                    <include>test-log4j.xml</include>
                </includes>
            </testResource>
        </testResources>

        <plugins>

            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <excludedGroups>${rhq.testng.excludedGroups}</excludedGroups>
                    <!--
                        <argLine>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y</argLine>
                    -->
                    <systemProperties>
                        <property>
                            <!--
                                set this to true if you want to run a test with RHNProvider against RHN Hosted. It will sync packages & kickstart
                                trees This should be set to false by default
                            -->
                            <name>RunRHNProviderTest</name>
                            <value>false</value>
                        </property>
                        <property>
                            <!--
                                set this to true if you want to run a more exhaustive test. This prop will trigger the InputStreams to be read fully
                                while comparing the resulting md5sum with the expected value. This will take longer to run, so by default it is left
                                to false
                            -->
                            <name>RunRHNMD5SumTests</name>
                            <value>false</value>
                        </property>
                        <property>
                            <!--
                                set this to true if you want the temp xmlrpc data read to be saved. by default the files are stored in /tmp and will
                                be deleted after use.
                            -->
                            <name>RhnXmlrpcSaveTempFiles</name>
                            <value>false</value>
                        </property>
                        <property>
                            <name>log4j.configuration</name>
                            <value>test-log4j.xml</value>
                        </property>
                    </systemProperties>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <includeScope>runtime</includeScope>
                            <excludeTransitive>false</excludeTransitive>
                            <outputDirectory>${project.build.outputDirectory}/lib</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxb2-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>xjc</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <packageName>org.rhq.enterprise.server.plugins.rhnhosted.xml</packageName>
                    <outputDirectory>${project.build.outputDirectory}/generated-source</outputDirectory>
                </configuration>
            </plugin>

        </plugins>
    </build>

    <profiles>

        <profile>
            <id>dev</id>

            <properties>
                <rhq.rootDir>../../../../..</rhq.rootDir>
                <rhq.containerDir>${rhq.rootDir}/${rhq.defaultDevContainerPath}</rhq.containerDir>
                <rhq.deploymentDir>${rhq.containerDir}/jbossas/server/default/deploy/${rhq.earName}/rhq-serverplugins</rhq.deploymentDir>
            </properties>

            <build>
                <plugins>

                    <plugin>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <version>1.1</version>
                        <executions>

                            <execution>
                                <id>deploy</id>
                                <phase>package</phase>
                                <configuration>
                                    <tasks>
                                        <mkdir dir="${rhq.deploymentDir}" />
                                        <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
                                        <echo>*** Updating ${deployment.file}...</echo>
                                        <jar destfile="${deployment.file}" basedir="${project.build.outputDirectory}" />
                                    </tasks>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>

                            <execution>
                                <id>undeploy</id>
                                <phase>clean</phase>
                                <configuration>
                                    <tasks>
                                        <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
                                        <echo>*** Deleting ${deployment.file}...</echo>
                                        <delete file="${deployment.file}" />
                                    </tasks>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>

                            <execution>
                                <id>deploy-jar-meta-inf</id>
                                <phase>package</phase>
                                <configuration>
                                    <tasks>
                                        <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
                                        <echo>*** Updating META-INF dir in ${deployment.file}...</echo>
                                        <unjar src="${project.build.directory}/${project.build.finalName}.jar" dest="${project.build.outputDirectory}">
                                            <patternset>
                                                <include name="META-INF/**" />
                                            </patternset>
                                        </unjar>
                                        <jar destfile="${deployment.file}" manifest="${project.build.outputDirectory}/META-INF/MANIFEST.MF" update="true">
                                        </jar>
                                    </tasks>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>

                        </executions>
                    </plugin>

                </plugins>
            </build>
        </profile>

    </profiles>

</project>
