<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-jbossas-plugin</artifactId>
   <packaging>jar</packaging>

   <name>JON JBossAS 3.2.x/4.x Plugin</name>
   <description>A plugin for managing JBoss Application Server 3.2.x/4.x</description>

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

   <properties>
      <scm.module.path>jon/plugins/jboss-as/</scm.module.path>
   </properties>

   <dependencies>

      <!-- internal -->

      <!-- TODO: Move this up to the parent pom. -->
      <dependency>
         <groupId>${rhq.groupId}</groupId>
         <artifactId>rhq-core-util</artifactId>
         <version>${rhq.version}</version>
         <scope>provided</scope>
      </dependency>

      <dependency>
         <groupId>${rhq.groupId}</groupId>
         <artifactId>rhq-core-client-api</artifactId>
         <version>${rhq.version}</version>
         <scope>test</scope>
      </dependency>
      
      <dependency>
         <groupId>${project.groupId}</groupId>
         <artifactId>rhq-tomcat-plugin</artifactId>
         <version>${project.version}</version>
      </dependency>
   
      <!-- 3rd-party -->

      <dependency>
         <groupId>ant</groupId>
         <artifactId>ant</artifactId>
         <version>1.6.5</version>
      </dependency>
      
      <dependency>
         <groupId>bsh</groupId>
         <artifactId>bsh</artifactId>
         <version>1.3.0</version>
      </dependency>
      
      <dependency>
         <groupId>dom4j</groupId>
         <artifactId>dom4j</artifactId>
         <version>1.6.1</version>
      </dependency>

      <dependency>
         <groupId>gnu-getopt</groupId>
         <artifactId>getopt</artifactId>
         <!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
         <scope>provided</scope> <!-- by PC -->
      </dependency>  
      
      <dependency>
         <groupId>jboss</groupId>
         <artifactId>jbpm</artifactId>
         <version>3.1.1</version>
      </dependency>

      <dependency>
         <groupId>jboss</groupId>
         <artifactId>jboss-common</artifactId>
         <!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
         <scope>provided</scope> <!-- by PC -->
      </dependency>
      
      <dependency>
         <groupId>jdom</groupId>
         <artifactId>jdom</artifactId>
         <version>1.0</version>
      </dependency>
      
      <dependency>
         <groupId>mc4j</groupId>
         <artifactId>org-mc4j-ems</artifactId>
         <!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
      </dependency>
      
      <dependency>
         <groupId>org.hyperic</groupId>
         <artifactId>sigar</artifactId>
         <!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
         <scope>provided</scope> <!-- by PC -->
      </dependency>
              
   </dependencies>

   <build>      
      <plugins>

         <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.0</version>
            <executions>
               <execution>
                  <id>copy-dependencies</id>
                  <phase>process-resources</phase>
                  <goals>
                     <goal>copy</goal>
                  </goals>
                  <configuration>
                     <artifactItems>
                        <artifactItem>
                           <groupId>jdom</groupId>
                           <artifactId>jdom</artifactId>
                           <version>1.0</version>
                        </artifactItem>
                        <artifactItem>
                           <groupId>bsh</groupId>
                           <artifactId>bsh</artifactId>
                           <version>1.3.0</version>
                        </artifactItem>
                        <artifactItem>
                           <groupId>jboss</groupId>
                           <artifactId>jbpm</artifactId>
                           <version>3.1.1</version>
                        </artifactItem>
                        <artifactItem>
                           <groupId>ant</groupId>
                           <artifactId>ant</artifactId>
                           <version>1.6.5</version>
                        </artifactItem>
                     </artifactItems>
                     <outputDirectory>${project.build.outputDirectory}/lib</outputDirectory>
                  </configuration>
               </execution>
            </executions>
         </plugin>

      </plugins>
   </build>


   <profiles>

      <profile>
         <id>integration-tests</id>
         <activation>
            <property>
               <name>maven.test.skip</name>
               <value>!true</value>
            </property>
         </activation>

         <build>
            <plugins>

               <plugin>
                  <artifactId>maven-antrun-plugin</artifactId>
                  <executions>
                     <execution>
                        <phase>pre-integration-test</phase>
                        <configuration>
                           <tasks>
                              <echo>Setting up plugin dependencies...</echo>
                              <property name="settings.localRepository" location="${user.home}/.m2/repository" />
                              <mkdir dir="target/itest" />
                              <mkdir dir="target/itest/plugins" />
                              <mkdir dir="target/itest/lib" />
                              <copy toDir="target/itest/plugins" flatten="true">
                                 <fileset dir="${settings.localRepository}/">
                                    <include name="org/rhq/rhq-platform-plugin/${rhq.version}/rhq-platform-plugin-${rhq.version}.jar" />
                                    <include name="org/jboss/on/rhq-tomcat-plugin/${project.version}/rhq-tomcat-plugin-${project.version}.jar" />
                                    <include name="org/rhq/rhq-jmx-plugin/${rhq.version}/rhq-jmx-plugin-${rhq.version}.jar" />
                                 </fileset>
                                 <fileset dir="${project.build.directory}">
                                    <include name="${project.artifactId}-${project.version}.jar" />
                                 </fileset>
                              </copy>
                              <unzip dest="target/itest/lib">
                                 <fileset dir="${settings.localRepository}/org/hyperic/sigar-dist/${sigar.version}" 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/itest/lib" flatten="true">
                                 <fileset dir="target/itest/lib">
                                    <include name="**/lib/*" />
                                 </fileset>
                              </move>
                              <delete dir="target/itest/lib/hyperic-sigar-${sigar.version}" />
                           </tasks>
                        </configuration>
                        <goals>
                           <goal>run</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>

               <plugin>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <configuration>
                     <skip>true</skip>
                  </configuration>
                  <executions>
                     <execution>
                        <id>surefire-it</id>
                        <phase>integration-test</phase>
                        <goals>
                           <goal>test</goal>
                        </goals>
                        <configuration>
                           <skip>${maven.test.skip}</skip>
                           <excludedGroups>${rhq.testng.excludedGroups}</excludedGroups>
                           <useSystemClassLoader>false</useSystemClassLoader>
                           <argLine>-Dorg.hyperic.sigar.path=${basedir}/target/itest/lib</argLine>
                           <!--<argLine>-Dorg.hyperic.sigar.path=${basedir}/target/itest/lib -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y</argLine>-->
                           <systemProperties>
                              <property>
                                 <name>project.artifactId</name>
                                 <value>${project.artifactId}</value>
                              </property>
                              <property>
                                 <name>project.version</name>
                                 <value>${project.version}</value>
                              </property>
                           </systemProperties>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>

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

      <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>