blob: 2fd245af1ac4845f8097717dfea96765438d992e [file] [log] [blame]
<?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.7.1.0.0</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>