<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<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">
  <parent>
    <artifactId>ambari-infra</artifactId>
    <groupId>org.apache.ambari</groupId>
    <version>2.0.0.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>ambari-infra-assembly</artifactId>
  <name>Ambari Infra Assembly</name>
  <url>http://maven.apache.org</url>

  <properties>
    <mapping.base.path>/usr/lib</mapping.base.path>
    <!-- original url: <solr.tar>http://archive.apache.org/dist/lucene/solr/${solr.version}/solr-${solr.version}.tgz</solr.tar> -->
    <solr.tar>http://public-repo-1.hortonworks.com/ARTIFACTS/dist/lucene/solr/${solr.version}/solr-${solr.version}.tgz</solr.tar>
    <solr.mapping.path>${mapping.base.path}/ambari-infra-solr</solr.mapping.path>
    <solr.package.name>ambari-infra-solr</solr.package.name>
    <solr.client.package.name>ambari-infra-solr-client</solr.client.package.name>
    <solr.client.mapping.path>${mapping.base.path}/${solr.client.package.name}</solr.client.mapping.path>
    <solr.client.dir>${project.basedir}/../ambari-infra-solr-client</solr.client.dir>
    <infra.solr.plugin.dir>${project.basedir}/../ambari-infra-solr-plugin</infra.solr.plugin.dir>
    <infra-manager.package.name>ambari-infra-manager</infra-manager.package.name>
    <infra-manager.dir>${project.basedir}/../ambari-infra-manager</infra-manager.dir>
    <infra-manager.mapping.path>${mapping.base.path}/${infra-manager.package.name}</infra-manager.mapping.path>
    <infra-manager.conf.mapping.path>${infra-manager.mapping.path}/conf</infra-manager.conf.mapping.path>
    <common-fileupload.location.url>http://central.maven.org/maven2/commons-fileupload/commons-fileupload/1.3.3/commons-fileupload-1.3.3.jar</common-fileupload.location.url>
    <common-fileupload.jar.name>commons-fileupload-1.3.3.jar</common-fileupload.jar.name>
    <common-fileupload.old.jar.name>commons-fileupload-1.3.2.jar</common-fileupload.old.jar.name>
  </properties>

  <profiles>

    <profile>
      <id>rpm</id>
      <properties>
        <download.solr>true</download.solr>
      </properties>
      <activation>
        <property>
          <name>build-rpm</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>rpm-maven-plugin</artifactId>
            <version>2.1.4</version>
            <configuration>
              <copyright>2012, Apache Software Foundation</copyright>
              <group>Development</group>
              <description>Maven Recipe: RPM Package.</description>
              <autoRequires>false</autoRequires>
              <prefix>/</prefix>
              <needarch>noarch</needarch>
              <targetOS>linux</targetOS>

              <version>${package-version}</version>
              <release>${package-release}</release>

              <defaultUsername>root</defaultUsername>
              <defaultGroupname>root</defaultGroupname>
            </configuration>
            <executions>
              <execution>
                <id>infra-solr</id>
                <phase>package</phase>
                <goals>
                  <goal>rpm</goal>
                </goals>
                <configuration>
                  <group>Development</group>
                  <name>${solr.package.name}</name>
                  <mappings>
                    <mapping>
                      <directory>${solr.mapping.path}</directory>
                      <sources>
                        <source>
                          <location>${project.build.directory}/solr</location>
                        </source>
                      </sources>
                    </mapping>
                  </mappings>
                </configuration>
              </execution>
              <execution>
                <id>infra-solr-client</id>
                <phase>package</phase>
                <goals>
                  <goal>rpm</goal>
                </goals>
                <configuration>
                  <group>Development</group>
                  <name>${solr.client.package.name}</name>
                  <needarch>noarch</needarch>
                  <targetOS>linux</targetOS>
                  <postinstallScriptlet>
                    <scriptFile>${project.basedir}/src/main/package/rpm/solr-client/postinstall.sh</scriptFile>
                    <fileEncoding>utf-8</fileEncoding>
                  </postinstallScriptlet>
                  <mappings>
                    <mapping>
                      <directory>${solr.client.mapping.path}</directory>
                      <sources>
                        <source>
                          <location>${solr.client.dir}/target/package</location>
                          <excludes>
                            <exclude>libs/checkstyle*.jar</exclude>
                          </excludes>
                        </source>
                      </sources>
                    </mapping>
                  </mappings>
                </configuration>
              </execution>
              <execution>
                <id>infra-manager</id>
                <phase>package</phase>
                <goals>
                  <goal>rpm</goal>
                </goals>
                <configuration>
                  <group>Development</group>
                  <name>${infra-manager.package.name}</name>
                  <postinstallScriptlet>
                    <scriptFile>${project.basedir}/src/main/package/rpm/manager/postinstall.sh</scriptFile>
                    <fileEncoding>utf-8</fileEncoding>
                  </postinstallScriptlet>
                  <postremoveScriptlet>
                    <scriptFile>${project.basedir}/src/main/package/rpm/manager/postremove.sh</scriptFile>
                    <fileEncoding>utf-8</fileEncoding>
                  </postremoveScriptlet>
                  <mappings>
                    <mapping>
                      <directory>${infra-manager.mapping.path}</directory>
                      <sources>
                        <source>
                          <location>${infra-manager.dir}/target/package</location>
                        </source>
                      </sources>
                    </mapping>
                  </mappings>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.7</version>
            <executions>
              <execution>
                <phase>generate-resources</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target name="Download Solr">
                    <get
                      src="${solr.tar}"
                      dest="${project.build.directory}/solr.tgz"
                      usetimestamp="true"
                    />
                    <untar
                      src="${project.build.directory}/solr.tgz"
                      dest="${project.build.directory}/"
                      compression="gzip"
                    />
                    <move todir="${project.build.directory}/solr">
                      <fileset dir="${project.build.directory}/solr-${solr.version}"/>
                    </move>

                    <delete file="${project.build.directory}/solr/server/solr-webapp/webapp/WEB-INF/lib/${common-fileupload.old.jar.name}"/>
                    <get src="${common-fileupload.location.url}" dest="target/${common-fileupload.jar.name}" usetimestamp="true"/>
                    <move file="target/${common-fileupload.jar.name}"
                          toDir="${project.build.directory}/solr/server/solr-webapp/webapp/WEB-INF/lib/"/>

                    <copy file="${infra.solr.plugin.dir}/target/ambari-infra-solr-plugin-${project.version}.jar"
                          toDir="${project.build.directory}/solr/server/solr-webapp/webapp/WEB-INF/lib/"/>
                    <copy file="${infra.solr.plugin.dir}/target/libs/ambari-metrics-common-${project.version}.jar"
                          toDir="${project.build.directory}/solr/server/solr-webapp/webapp/WEB-INF/lib/"/>
                    <copy file="${infra.solr.plugin.dir}/target/libs/commons-logging-1.1.1.jar"
                          toDir="${project.build.directory}/solr/server/solr-webapp/webapp/WEB-INF/lib/"/>
                    <chmod file="${project.build.directory}/solr/bin/**" perm="755"/>
                    <chmod file="${project.build.directory}/solr/server/scripts/**" perm="755"/>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>deb</id>

      <activation>
        <property>
          <name>build-deb</name>
        </property>
      </activation>

      <build>
        <plugins>
          <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.7</version>

            <executions>
              <execution>
                <id>copy-resources</id>
                <phase>package</phase>
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.build.directory}/resources/deb</outputDirectory>
                  <resources>
                    <resource>
                      <directory>${project.basedir}/src/main/package/deb</directory>
                      <excludes>
                        <exclude>solr/postinst</exclude>
                        <exclude>solr-client/postinst</exclude>
                      </excludes>
                      <filtering>false</filtering>
                    </resource>
                    <resource>
                      <directory>${project.basedir}/src/main/package/deb</directory>
                      <includes>
                        <include>solr/postinst</include>
                        <include>solr-client/postinst</include>
                      </includes>
                      <filtering>true</filtering>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.vafer</groupId>
            <artifactId>jdeb</artifactId>
            <version>1.4</version>
            <executions>
              <execution>
                <phase>package</phase>
                <id>jdeb-solr</id>
                <goals>
                  <goal>jdeb</goal>
                </goals>
                <configuration>
                  <controlDir>${basedir}/src/main/package/deb/solr</controlDir>
                  <deb>${basedir}/target/${solr.package.name}_${package-version}-${package-release}.deb</deb>
                  <skip>false</skip>
                  <skipPOMs>false</skipPOMs>
                  <dataSet>
                    <data>
                      <src>${project.build.directory}/solr</src>
                      <type>directory</type>
                      <mapper>
                        <type>perm</type>
                        <user>root</user>
                        <group>root</group>
                        <prefix>${solr.mapping.path}</prefix>
                      </mapper>
                      <excludes>
                        bin/**,server/scripts/**
                      </excludes>
                    </data>
                    <data>
                      <src>${project.build.directory}/solr</src>
                      <type>directory</type>
                      <mapper>
                        <type>perm</type>
                        <user>root</user>
                        <group>root</group>
                        <filemode>755</filemode>
                        <prefix>${solr.mapping.path}</prefix>
                      </mapper>
                      <includes>
                        bin/**,server/scripts/**
                      </includes>
                    </data>
                  </dataSet>
                </configuration>
              </execution>

              <execution>
                <phase>package</phase>
                <id>jdeb-solr-client</id>
                <goals>
                  <goal>jdeb</goal>
                </goals>
                <configuration>
                  <controlDir>${basedir}/src/main/package/deb/solr-client</controlDir>
                  <deb>${basedir}/target/${solr.client.package.name}_${package-version}-${package-release}.deb</deb>
                  <skip>false</skip>
                  <skipPOMs>false</skipPOMs>
                  <dataSet>
                    <data>
                      <src>${solr.client.dir}/target/ambari-infra-solr-client.tar.gz</src>
                      <type>archive</type>
                      <mapper>
                        <type>perm</type>
                        <user>root</user>
                        <group>root</group>
                        <prefix>${solr.client.mapping.path}</prefix>
                      </mapper>
                      <excludes>libs/checkstyle*.jar</excludes>
                    </data>
                  </dataSet>
                </configuration>
              </execution>

              <execution>
                <phase>package</phase>
                <id>jdeb-infra-manager</id>
                <goals>
                  <goal>jdeb</goal>
                </goals>
                <configuration>
                  <controlDir>${basedir}/src/main/package/deb/manager</controlDir>
                  <deb>${basedir}/target/${infra-manager.package.name}_${package-version}-${package-release}.deb</deb>
                  <skip>false</skip>
                  <skipPOMs>false</skipPOMs>
                  <dataSet>
                    <data>
                      <src>${infra-manager.dir}/target/ambari-infra-manager.tar.gz</src>
                      <type>archive</type>
                      <mapper>
                        <type>perm</type>
                        <user>root</user>
                        <group>root</group>
                        <prefix>${infra-manager.mapping.path}</prefix>
                      </mapper>
                    </data>
                  </dataSet>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.7</version>
            <executions>
              <execution>
                <phase>generate-resources</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target name="Download Solr">
                    <get
                      src="${solr.tar}"
                      dest="${project.build.directory}/solr.tgz"
                      usetimestamp="true"
                    />
                    <untar
                      src="${project.build.directory}/solr.tgz"
                      dest="${project.build.directory}/"
                      compression="gzip"
                    />
                    <move todir="${project.build.directory}/solr">
                      <fileset dir="${project.build.directory}/solr-${solr.version}"/>
                    </move>

                    <delete file="${project.build.directory}/solr/server/solr-webapp/webapp/WEB-INF/lib/${common-fileupload.old.jar.name}"/>
                    <get src="${common-fileupload.location.url}" dest="target/${common-fileupload.jar.name}" usetimestamp="true"/>
                    <move file="target/${common-fileupload.jar.name}"
                          toDir="${project.build.directory}/solr/server/solr-webapp/webapp/WEB-INF/lib/"/>

                    <copy file="${infra.solr.plugin.dir}/target/ambari-infra-solr-plugin-${project.version}.jar"
                          toDir="${project.build.directory}/solr/server/solr-webapp/webapp/WEB-INF/lib/"/>
                    <copy file="${infra.solr.plugin.dir}/target/libs/ambari-metrics-common-${project.version}.jar"
                          toDir="${project.build.directory}/solr/server/solr-webapp/webapp/WEB-INF/lib/"/>
                    <copy file="${infra.solr.plugin.dir}/target/libs/commons-logging-1.1.1.jar"
                          toDir="${project.build.directory}/solr/server/solr-webapp/webapp/WEB-INF/lib/"/>
                    <chmod file="${project.build.directory}/solr/bin/**" perm="755"/>
                    <chmod file="${project.build.directory}/solr/server/scripts/**" perm="755"/>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <dependencies>
    <dependency>
      <groupId>org.apache.ambari</groupId>
      <artifactId>ambari-infra-solr-client</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.ambari</groupId>
      <artifactId>ambari-infra-solr-plugin</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.ambari</groupId>
      <artifactId>ambari-infra-manager</artifactId>
      <version>${project.version}</version>
    </dependency>
  </dependencies>


</project>