<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>
      <artifactId>rhq-scripting-parent</artifactId>
      <groupId>org.rhq</groupId>
      <version>4.8.0</version>
   </parent>
   <artifactId>rhq-scripting-javascript</artifactId>
   <version>4.8.0</version>
   <name>RHQ Javascript support</name>
   <description>Provides RHQ scripting in Javascript using Rhino</description>

   <dependencies>
      <dependency>
         <groupId>${project.groupId}</groupId>
         <artifactId>rhq-scripting-api</artifactId>
         <version>${project.version}</version>
      </dependency>

      <dependency>
         <groupId>org.mozilla</groupId>
         <artifactId>rhino</artifactId>
         <version>1.7R4</version>
         <!-- we actually repackage Rhino inside our jar -->
         <scope>provided</scope> 
      </dependency>
   </dependencies>

   <properties>
      <failIfNoTests>true</failIfNoTests>
   </properties>
   
   <build>
      <plugins>
         <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>jarjar-maven-plugin</artifactId>
            <executions>
               <execution>
                  <phase>package</phase>
                  <goals>
                     <goal>jarjar</goal>
                  </goals>
                  <configuration>
                     <includes>
                        <include>org.mozilla:rhino</include>
                     </includes>
                     <rules>
                        <keep>
                           <pattern>*.**</pattern>
                        </keep>                          
                     </rules>
                  </configuration>
               </execution>
            </executions>
         </plugin>

         <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
               <excludedGroups>${rhq.testng.excludedGroups}</excludedGroups>
               <argLine>${jacoco.unit-test.args} -Djava.security.manager
                  -Djava.security.policy==${project.build.testOutputDirectory}/allow-all.policy</argLine>
               <!-- This is important, because some of the tests try to exit 
                  the JVM. -->
               <failIfNoTests>${failIfNoTests}</failIfNoTests>
            </configuration>
         </plugin>
      </plugins>
   </build>

   <profiles>

      <profile>
         <id>dev</id>

         <properties>
            <rhq.rootDir>../../..</rhq.rootDir>
            <rhq.containerDir>${rhq.rootDir}/${rhq.devContainerServerPath}</rhq.containerDir>
            <rhq.deploymentDir>${rhq.containerDir}/${rhq.earLibDir}</rhq.deploymentDir>
         </properties>

         <build>
            <plugins>

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

                     <execution>
                        <id>deploy</id>
                        <phase>install</phase>
                        <configuration>
                           <tasks>
                              <mkdir dir="${rhq.deploymentDir}" />
                              <property name="deployment.file"
                                 location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
                              <echo>*** Updating
                                 ${deployment.file}...</echo>
                              <copy tofile="${deployment.file}" file="${project.build.directory}/${project.build.finalName}.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>
