<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-core-parent</artifactId>
      <version>3.0.0</version>
   </parent>

   <groupId>org.rhq</groupId>
   <artifactId>rhq-core-client-api</artifactId>
   <packaging>jar</packaging>

   <name>RHQ Client API</name>
   <description>Server and Client APIs for invoking operations on the RHQ plugin container</description>

   <dependencies>

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

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

      <!-- TODO: This is a fix for the Javac bug requiring annotations to be
                 available when compiling dependent classes; it is fixed in JDK 6. -->

      <dependency>
         <groupId>jboss.jboss-embeddable-ejb3</groupId>
         <artifactId>hibernate-all</artifactId>
         <version>1.0.0.Alpha9</version>
         <scope>provided</scope>
         <!-- set scope to 'provided', so Hibernate annotations can be used in the entities -->
      </dependency>

      <dependency>
         <groupId>jboss.jboss-embeddable-ejb3</groupId>
         <artifactId>jboss-ejb3-all</artifactId>
         <version>1.0.0.Alpha9</version>
         <scope>provided</scope>
      </dependency>

      <dependency>
         <groupId>javax.xml.bind</groupId>
         <artifactId>jaxb-api</artifactId>
         <!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
      </dependency>

      <dependency>
         <groupId>com.sun.xml.bind</groupId>
         <artifactId>jaxb-impl</artifactId>
         <!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
         <!--<scope>test</scope>  not sure about this -->
      </dependency>

      <dependency>
         <groupId>org.codehaus.groovy</groupId>
         <artifactId>groovy-all</artifactId>
         <scope>test</scope>
      </dependency>

   </dependencies>

   <build>
      <plugins>
         <plugin>
            <groupId>com.sun.tools.xjc.maven2</groupId>
            <artifactId>maven-jaxb-plugin</artifactId>
            <version>1.1</version>
            <executions>
               <execution>
                  <goals>
                     <goal>generate</goal>
                  </goals>
               </execution>
            </executions>
            <configuration>
              <generateDirectory>${basedir}/target/generated-sources/xjc</generateDirectory>
            </configuration>
         </plugin>
         
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
               <source>1.5</source>
            </configuration>
         </plugin>

         <plugin>
            <groupId>org.codehaus.groovy.maven</groupId>
            <artifactId>gmaven-plugin</artifactId>
             <executions>
                <execution>
                   <goals>
                      <!--<goal>generateTestStubs</goal>-->
                      <goal>testCompile</goal>
                   </goals>
                </execution>
             </executions>

         </plugin>
      </plugins>
   </build>

   <pluginRepositories>
      <pluginRepository>
         <id>java.net</id>
         <name>java.net Maven Repository</name>
         <url>http://download.java.net/maven/1/</url>
         <layout>legacy</layout>
         <snapshots>
            <enabled>false</enabled>
         </snapshots>
      </pluginRepository>
   </pluginRepositories>

   <repositories>
      <repository>
         <id>java.net</id>
         <name>java.net Maven Repository</name>
         <url>http://download.java.net/maven/1/</url>
         <layout>legacy</layout>
         <snapshots>
            <enabled>false</enabled>
         </snapshots>
      </repository>
   </repositories>

   <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}/lib</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>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>
