<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.jboss.on</groupId>
      <!--  Bypass the jon-plugins-parent which can not have children. It must build after the plugins in order to execute integration tests on them. -->
    <artifactId>jon-parent</artifactId>
    <version>2.1.2.GA</version> 
  </parent>

  <groupId>org.jboss.on</groupId>
  <artifactId>rhq-tomcat-plugin</artifactId>
  <packaging>jar</packaging>

  <name>JON Tomcat Plugin</name>
  <description>A plugin for managing Apache Tomcat servers</description>

   <scm>
      <connection>scm:svn:http://svn.corp.jboss.com/repos/jon/tags/JBossON_2_1_2_GA/jon/plugins/tomcat</connection>
      <developerConnection>scm:svn:http://svn.corp.jboss.com/repos/jon/tags/JBossON_2_1_2_GA/jon/plugins/tomcat</developerConnection>
   </scm>

   <properties>
      <scm.module.path>jon/plugins/tomcat/</scm.module.path>
   </properties>

  <dependencies>
  
     <dependency>
        <groupId>mc4j</groupId>
        <artifactId>org-mc4j-ems</artifactId>
        <!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
     </dependency>

  </dependencies>

  <build>
    <plugins>

       <!-- need to copy/unzip the native libraries to the target directory and tell SystemInfoFactory where they are -->
       <!-- this will only work if the full path to this module's target dir doesn't have spaces in it (SUREFIRE-297) -->
       <plugin>
         <artifactId>maven-antrun-plugin</artifactId>
         <executions>
           <execution>
             <phase>process-test-resources</phase>
             <configuration>
               <tasks>
                 <echo>SIGAR java library version used is ${sigar.version}</echo>
                 <echo>Copying/unzipping SIGAR native libraries (version ${sigar.version}) to local build directory</echo>
                 <copy toDir="target/jboss-sigar">
                    <fileset dir="${settings.localRepository}/org/hyperic/sigar-dist/${sigar.version}" includes="*.zip" />
                 </copy>
                 <unzip dest="target/jboss-sigar">
                    <fileset dir="target/jboss-sigar" includes="*.zip" />
                    <patternset>
                       <include name="**/lib/sigar.jar" />
                       <include name="**/lib/bcel*.jar" />
                       <include name="**/lib/*.so" />
                       <include name="**/lib/*.sl" />
                       <include name="**/lib/*.dll" />
                       <include name="**/lib/*.dylib" />
                    </patternset>
                 </unzip>
                 <move todir="target/jboss-sigar" flatten="true">
                    <fileset dir="target/jboss-sigar">
                       <include name="**/lib/*" />
                    </fileset>
                 </move>
                 <delete dir="target/jboss-sigar/hyperic-sigar-${sigar.version}" />
               </tasks>
             </configuration>
             <goals>
               <goal>run</goal>
             </goals>
           </execution>
         </executions>
       </plugin>

       <plugin>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <excludedGroups>${rhq.testng.excludedGroups}</excludedGroups>
           <useSystemClassLoader>false</useSystemClassLoader>
           <!-- need to point the library path to the location of the native libraries -->
           <argLine>-Dorg.hyperic.sigar.path=${project.build.directory}/jboss-sigar</argLine>
           <!--
           <argLine>-Dorg.hyperic.sigar.path=${project.build.directory}/jboss-sigar -Dsigar.nativeLogging=true -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y</argLine>
            -->
         </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-downloads/rhq-plugins</rhq.deploymentDir>
         </properties>

         <build>
            <plugins>

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

                     <execution>
                        <id>deploy</id>
                        <phase>compile</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>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>
                     
                     <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>

                   </executions>
               </plugin>

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

   </profiles>
</project>