<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-parent</artifactId>
      <version>3.0.1.GA</version>
   </parent>

   <groupId>org.rhq</groupId>
   <artifactId>rhq-enterprise-server-ear</artifactId>
   <packaging>ear</packaging>

   <name>RHQ Enterprise Server EAR</name>
   <description>RHQ enterprise server EAR</description>

   <scm>
      <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/ear/</connection>
      <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/ear/</developerConnection>
   </scm>

   <properties>
      <scm.module.path>modules/enterprise/server/ear/</scm.module.path>
      <earDirectory>${project.build.directory}/${project.build.finalName}</earDirectory>

      <!-- dependency versions -->
      <!-- <seam.version>1.2.1.GA</seam.version> -->
   </properties>

   <dependencies>

      <!-- Internal Deps -->

      <!-- ** EJB-JARs -->

      <dependency>
         <groupId>org.rhq</groupId>
         <artifactId>rhq-enterprise-server</artifactId>
         <version>${project.version}</version>
         <type>ejb</type>
      </dependency>

      <dependency>
         <groupId>org.rhq</groupId>
         <artifactId>rhq-core-domain</artifactId>
         <version>${project.version}</version>
         <type>ejb</type>
      </dependency>

      <!-- ** WARs -->

      <dependency>
         <groupId>org.rhq</groupId>
         <artifactId>rhq-portal</artifactId>
         <version>${project.version}</version>
         <type>war</type>
      </dependency>

      <dependency>
         <groupId>org.rhq</groupId>
         <artifactId>rhq-coregui</artifactId>
         <version>${project.version}</version>
         <type>war</type>
      </dependency>



      <dependency>
         <groupId>org.rhq</groupId>
         <artifactId>rhq-webdav</artifactId>
         <version>${project.version}</version>
         <type>war</type>
      </dependency>

      <dependency>
         <groupId>org.rhq</groupId>
         <artifactId>rhq-content_http</artifactId>
         <version>${project.version}</version>
         <type>war</type>
      </dependency>

      <!-- ** SARs -->
      <!--
         <dependency> <groupId>org.rhq</groupId> <artifactId>rhq-enterprise-server-agent-sar</artifactId>
         <version>${project.version}</version> <type>sar</type> </dependency>
      -->

      <!-- 3rd Party Deps -->

      <!-- ** WARs -->

      <dependency>
         <groupId>jboss</groupId>
         <artifactId>jboss-remoting-servlet-invoker</artifactId>
         <version>2x.r3040.jon</version>
         <type>war</type>
      </dependency>

      <!-- ** JARs -->

      <!--
         <dependency> <groupId>jboss</groupId> <artifactId>jboss-seam</artifactId> <version>${seam.version}</version>
         </dependency>
      -->

   </dependencies>

   <build>

      <finalName>rhq</finalName>

      <resources>

         <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
         </resource>

      </resources>

      <plugins>

         <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.1</version>
            <executions>
               <execution>
                  <phase>generate-sources</phase>
                  <configuration>
                     <tasks>
                        <mkdir dir="${earDirectory}/license" />
					  <copy todir="${earDirectory}/license" file="${basedir}/src/main/license/license.xml" />
                     </tasks>
                  </configuration>
                  <goals>
                     <goal>run</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>

         <plugin>
            <artifactId>maven-ear-plugin</artifactId>
            <configuration>
               <displayName>RHQ</displayName>
               <workDirectory>${earDirectory}</workDirectory>
               <resourcesDir>${basedir}/target/classes</resourcesDir>
               <defaultJavaBundleDir>lib</defaultJavaBundleDir>
               <unpackTypes>war,ejb,sar</unpackTypes>
               <modules>

                  <!-- ** WARs -->

                  <webModule>
                     <groupId>${project.groupId}</groupId>
                     <artifactId>rhq-portal</artifactId>
                     <bundleFileName>rhq-portal.war</bundleFileName>
                     <contextRoot>/</contextRoot>
                  </webModule>


                   <webModule>
                      <groupId>org.rhq</groupId>
                      <artifactId>rhq-coregui</artifactId>
                      <bundleFileName>coregui.war</bundleFileName>
                      <contextRoot>/coregui</contextRoot>
                   </webModule>


                  <!--  included unless exclude.webdav property is set to true. -->
                  <webModule>
                     <groupId>${project.groupId}</groupId>
                     <artifactId>rhq-webdav</artifactId>
                     <excluded>${exclude-webdav}</excluded>
                     <bundleFileName>rhq-webdav.war</bundleFileName>
                     <contextRoot>/webdav</contextRoot>
                  </webModule>

                  <!--  used to expose content through http -->
                  <webModule>
                     <groupId>${project.groupId}</groupId>
                     <artifactId>rhq-content_http</artifactId>
                     <excluded>${exclude-content_http}</excluded>
                     <bundleFileName>rhq-content_http.war</bundleFileName>
                     <contextRoot>/content</contextRoot>
                  </webModule>

                  <!-- ** EJB-JARs -->

                  <ejbModule>
                     <groupId>${project.groupId}</groupId>
                     <artifactId>rhq-enterprise-server</artifactId>
                     <bundleFileName>rhq-enterprise-server-ejb3.jar</bundleFileName>
                  </ejbModule>

                  <ejbModule>
                     <groupId>${project.groupId}</groupId>
                     <artifactId>rhq-core-domain</artifactId>
                     <bundleFileName>rhq-core-domain-ejb3.jar</bundleFileName>
                  </ejbModule>

                  <!-- ** SARs -->
                  <!--
                     <sarModule> <groupId>${project.groupId}</groupId>
                     <artifactId>rhq-enterprise-server-agent-sar</artifactId>
                     <bundleFileName>rhq-agent.sar</bundleFileName> </sarModule>
                  -->

                  <!-- ** JARs -->

                  <!--
                     <jarModule> <groupId>jboss</groupId> <artifactId>jboss-seam</artifactId> <bundleDir>lib</bundleDir>
                     <includeInApplicationXml>true</includeInApplicationXml> </jarModule>
                  -->

               </modules>
            </configuration>
         </plugin>

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

               <execution>
                  <id>copy-core-agent-plugins</id>
                  <phase>process-resources</phase>
                  <goals>
                     <goal>copy</goal>
                  </goals>
                  <configuration>
                     <artifactItems>
                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>rhq-platform-plugin</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>rhq-agent-plugin</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>rhq-jmx-plugin</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>
                     </artifactItems>
                     <outputDirectory>${earDirectory}/rhq-downloads/rhq-plugins</outputDirectory>
                  </configuration>
               </execution>

               <execution>
                  <id>copy-core-server-plugins</id>
                  <phase>process-resources</phase>
                  <goals>
                     <goal>copy</goal>
                  </goals>
                  <configuration>
                     <artifactItems>
                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>rhq-serverplugin-disk</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>rhq-serverplugin-url</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>rhq-serverplugin-yum</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>rhq-core-perspective</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq.server</groupId>
                           <artifactId>alert-email</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>alert-irc</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>alert-mobicents</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>alert-microblog</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>alert-operations</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                           <artifactId>alert-roles</artifactId>
                           <version>${project.version}</version>
                        </artifactItem>

<!--  TODO:jdk6 - temporarily disabled because of jdk6 requirement
                        <artifactItem>
                           <groupId>org.rhq</groupId>
                            <artifactId>alert-scriptlang</artifactId>
                            <version>${project.version}</version>
                        </artifactItem>
-->

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                            <artifactId>alert-snmp</artifactId>
                            <version>${project.version}</version>
                        </artifactItem>

                        <artifactItem>
                           <groupId>org.rhq</groupId>
                            <artifactId>alert-subject</artifactId>
                            <version>${project.version}</version>
                        </artifactItem>
                     </artifactItems>
                     <outputDirectory>${earDirectory}/rhq-serverplugins</outputDirectory>
                  </configuration>
               </execution>

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

   <profiles>

        <profile>
            <id>bundle-plugins</id>
            <activation>
                <property>
                    <name>java.home</name>
                </property>
            </activation>

            <build>
                <plugins>
                  <plugin>
                      <artifactId>maven-dependency-plugin</artifactId>
                      <executions>

                        <execution>
                          <id>copy-bundle-agent-plugins</id>
                          <phase>process-resources</phase>
                          <goals>
                             <goal>copy</goal>
                          </goals>
                          <configuration>
                             <artifactItems>
                               <artifactItem>
                                 <groupId>org.rhq</groupId>
                                 <artifactId>rhq-ant-bundle-plugin</artifactId>
                                 <version>${project.version}</version>
                               </artifactItem>

                               <artifactItem>
                                 <groupId>org.rhq</groupId>
                                 <artifactId>rhq-filetemplate-bundle-plugin</artifactId>
                                 <version>${project.version}</version>
                               </artifactItem>
                             </artifactItems>

                             <outputDirectory>${earDirectory}/rhq-downloads/rhq-plugins</outputDirectory>
                           </configuration>
                         </execution>

                        <execution>
                          <id>copy-bundle-server-plugins</id>
                          <phase>process-resources</phase>
                          <goals>
                             <goal>copy</goal>
                          </goals>
                          <configuration>
                             <artifactItems>
                               <artifactItem>
                                 <groupId>org.rhq</groupId>
                                 <artifactId>rhq-serverplugin-ant-bundle</artifactId>
                                 <version>${project.version}</version>
                               </artifactItem>

                               <artifactItem>
                                 <groupId>org.rhq</groupId>
                                 <artifactId>rhq-serverplugin-filetemplate-bundle</artifactId>
                                 <version>${project.version}</version>
                               </artifactItem>
                             </artifactItems>

                             <outputDirectory>${earDirectory}/rhq-serverplugins</outputDirectory>
                           </configuration>
                         </execution>
                      </executions>
                  </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>jboss-plugins</id>
             <activation>
                <property>
                   <name>java.home</name>
                </property>
             </activation>

             <build>
               <plugins>
                 <plugin>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <executions>

                       <execution>
                          <id>copy-jboss-plugins</id>
                          <phase>process-resources</phase>
                          <goals>
                             <goal>copy</goal>
                          </goals>
                          <configuration>
                             <artifactItems>

                                <artifactItem>
                                   <groupId>org.rhq</groupId>
                                   <artifactId>rhq-augeas-plugin</artifactId>
                                   <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                   <groupId>org.rhq</groupId>
                                   <artifactId>rhq-apache-plugin</artifactId>
                                   <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.jboss.on</groupId>
                                  <artifactId>jopr-tomcat-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.jboss.on</groupId>
                                  <artifactId>jopr-jboss-as-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.jboss.on</groupId>
                                  <artifactId>jopr-hibernate-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.jboss.on</groupId>
                                  <artifactId>jopr-rhq-server-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.jboss.on</groupId>
                                  <artifactId>jopr-jboss-cache-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.jboss.on</groupId>
                                  <artifactId>jopr-jboss-as-5-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.jboss.on</groupId>
                                  <artifactId>jopr-jboss-cache-v3-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                             </artifactItems>
                             <outputDirectory>${earDirectory}/rhq-downloads/rhq-plugins</outputDirectory>
                          </configuration>
                       </execution>

                    </executions>
                 </plugin>
              </plugins>
           </build>
        </profile>

        <profile>
            <id>linux-plugins</id>
             <activation>
                <property>
                   <name>java.home</name>
                </property>
             </activation>

             <build>
               <plugins>
                 <plugin>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <executions>

                       <execution>
                          <id>copy-linux-plugins</id>
                          <phase>process-resources</phase>
                          <goals>
                             <goal>copy</goal>
                          </goals>
                          <configuration>
                             <artifactItems>

                                <artifactItem>
                                   <groupId>org.rhq</groupId>
                                   <artifactId>rhq-augeas-plugin</artifactId>
                                   <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                   <groupId>org.rhq</groupId>
                                   <artifactId>rhq-cron-plugin</artifactId>
                                   <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-script-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

<!-- TODO:jdk6 temporarily disabled because of jdk6 requirement
                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-script2-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>
-->

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-grub-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-hosts-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-cobbler-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-sudoers-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-netservices-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-samba-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-postfix-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-aliases-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-sshd-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>
<!-- TODO:jdk6 - temporarily disabled because of jdk6 requirement

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-virt-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-kickstart-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

-->
                             </artifactItems>
                             <outputDirectory>${earDirectory}/rhq-downloads/rhq-plugins</outputDirectory>
                          </configuration>
                       </execution>

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

        </profile>

        <profile>
            <id>misc-plugins</id>
             <activation>
                <property>
                   <name>java.home</name>
                </property>
             </activation>

             <build>
               <plugins>
                 <plugin>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <executions>

                       <execution>
                          <id>copy-misc-plugins</id>
                          <phase>process-resources</phase>
                          <goals>
                             <goal>copy</goal>
                          </goals>
                          <configuration>
                             <artifactItems>

                                <artifactItem>
                                   <groupId>org.rhq</groupId>
                                   <artifactId>rhq-hudson-plugin</artifactId>
                                   <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                   <groupId>org.rhq</groupId>
                                   <artifactId>rhq-iis-plugin</artifactId>
                                   <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-database-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-postgres-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-mysql-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-oracle-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-snmptrapd-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-twitter-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                                <artifactItem>
                                  <groupId>org.rhq</groupId>
                                  <artifactId>rhq-filetemplate-bundle-plugin</artifactId>
                                  <version>${project.version}</version>
                                </artifactItem>

                             </artifactItems>
                             <outputDirectory>${earDirectory}/rhq-downloads/rhq-plugins</outputDirectory>
                          </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.deploymentName>${project.build.finalName}.ear</rhq.deploymentName>
            <rhq.deploymentDir>${rhq.containerDir}/jbossas/server/default/deploy/${rhq.deploymentName}</rhq.deploymentDir>
         </properties>

         <build>
            <plugins>

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

                     <execution>
                        <id>deploy</id>
                        <phase>package</phase>
                        <configuration>
                           <tasks>
                              <mkdir dir="${earDirectory}/license" />
                              <copy todir="${earDirectory}/license" file="${basedir}/src/main/license/license.xml" />
                              <property name="deployment.dir" location="${rhq.deploymentDir}" />
                              <echo>*** Copying updated files from
                                 target${file.separator}${project.build.finalName}${file.separator} to
                                 ${deployment.dir}${file.separator}...</echo>
                              <copy todir="${deployment.dir}" verbose="${rhq.verbose}">
                                 <fileset dir="${basedir}/target/${project.build.finalName}" />
                              </copy>
                              <property name="deployment.descriptor.file" location="${deployment.dir}/META-INF/application.xml" />
                              <echo>*** Touching ${deployment.descriptor.file} to force redeployment of
                                 ${rhq.deploymentName}...</echo>
                              <touch file="${deployment.descriptor.file}" />
                           </tasks>
                        </configuration>
                        <goals>
                           <goal>run</goal>
                        </goals>
                     </execution>

                     <execution>
                        <id>deploy-ear-meta-inf</id>
                        <phase>package</phase>
                        <configuration>
                           <tasks>
                              <unjar src="${project.build.directory}/${project.build.finalName}.ear" dest="${rhq.deploymentDir}">
                                 <patternset>
                                    <include name="META-INF/**" />
                                 </patternset>
                              </unjar>
                           </tasks>
                        </configuration>
                        <goals>
                           <goal>run</goal>
                        </goals>
                     </execution>

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

                  </executions>
               </plugin>

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

   </profiles>

</project>

