<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed 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"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-project</artifactId> <version>3.0.0-alpha2-SNAPSHOT</version> <relativePath>../../hadoop-project</relativePath> </parent> <artifactId>hadoop-kms</artifactId> <version>3.0.0-alpha2-SNAPSHOT</version> <packaging>war</packaging> <name>Apache Hadoop KMS</name> <description>Apache Hadoop KMS</description> <properties> <kms.tomcat.dist.dir> ${project.build.directory}/${project.artifactId}-${project.version}/share/hadoop/kms/tomcat </kms.tomcat.dist.dir> <tomcat.download.url> http://archive.apache.org/dist/tomcat/tomcat-6/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.tar.gz </tomcat.download.url> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minikdc</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-auth</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <scope>compile</scope> <exclusions> <exclusion> <groupId>javax.xml.stream</groupId> <artifactId>stax-api</artifactId> </exclusion> <exclusion> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> </exclusion> <exclusion> <groupId>tomcat</groupId> <artifactId>jasper-compiler</artifactId> </exclusion> <exclusion> <groupId>tomcat</groupId> <artifactId>jasper-runtime</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> </exclusion> <exclusion> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>jsp-api-2.1</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>servlet-api-2.5</artifactId> </exclusion> <exclusion> <groupId>net.java.dev.jets3t</groupId> <artifactId>jets3t</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jdt</groupId> <artifactId>core</artifactId> </exclusion> <exclusion> <groupId>commons-el</groupId> <artifactId>commons-el</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <scope>test</scope> <type>test-jar</type> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>com.codahale.metrics</groupId> <artifactId>metrics-core</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-test</artifactId> <scope>test</scope> </dependency> <!-- 'mvn dependency:analyze' fails to detect use of this dependency --> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk16</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <forkMode>always</forkMode> <threadCount>1</threadCount> <forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds> <properties> <property> <name>listener</name> <value>org.apache.hadoop.test.TimedOutTestsListener</value> </property> </properties> <excludes> <exclude>**/${test.exclude}.java</exclude> <exclude>${test.exclude.pattern}</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>create-web-xmls</id> <phase>generate-test-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <mkdir dir="${project.build.directory}/test-classes/kms-webapp"/> <copy todir="${project.build.directory}/test-classes/kms-webapp"> <fileset dir="${basedir}/src/main/webapp"/> </copy> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <executions> <execution> <id>default-war</id> <phase>prepare-package</phase> <goals> <goal>war</goal> </goals> <configuration> <archiveClasses>true</archiveClasses> <warName>kms</warName> <webappDirectory>${project.build.directory}/kms </webappDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <id>prepare-jar</id> <phase>prepare-package</phase> <goals> <goal>jar</goal> </goals> <configuration> <classifier>classes</classifier> </configuration> </execution> <execution> <id>prepare-test-jar</id> <phase>prepare-package</phase> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <configuration> <excludeFilterFile>${basedir}/dev-support/findbugsExcludeFile.xml </excludeFilterFile> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>docs</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <executions> <execution> <id>docs</id> <phase>prepare-package</phase> <goals> <goal>site</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>dist</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-assemblies</artifactId> <version>${project.version}</version> </dependency> </dependencies> <executions> <execution> <id>dist</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <finalName>${project.artifactId}-${project.version} </finalName> <appendAssemblyId>false</appendAssemblyId> <attach>false</attach> <descriptorRefs> <descriptorRef>hadoop-kms-dist</descriptorRef> </descriptorRefs> </configuration> </execution> </executions> </plugin> <!-- Downloading Tomcat TAR.GZ, using downloads/ dir to avoid downloading over an over --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>dist</id> <goals> <goal>run</goal> </goals> <phase>package</phase> <configuration> <target> <mkdir dir="downloads"/> <get src="${tomcat.download.url}" dest="downloads/apache-tomcat-${tomcat.version}.tar.gz" verbose="true" skipexisting="true"/> <delete dir="${project.build.directory}/tomcat.exp"/> <mkdir dir="${project.build.directory}/tomcat.exp"/> <!-- Using Unix script to preserve file permissions --> <echo file="${project.build.directory}/tomcat-untar.sh"> cd "${project.build.directory}/tomcat.exp" gzip -cd ../../downloads/apache-tomcat-${tomcat.version}.tar.gz | tar xf - </echo> <exec executable="${shell-executable}" dir="${project.build.directory}" failonerror="true"> <arg line="./tomcat-untar.sh"/> </exec> <move file="${project.build.directory}/tomcat.exp/apache-tomcat-${tomcat.version}" tofile="${kms.tomcat.dist.dir}"/> <delete dir="${project.build.directory}/tomcat.exp"/> <delete dir="${kms.tomcat.dist.dir}/webapps"/> <mkdir dir="${kms.tomcat.dist.dir}/webapps"/> <delete file="${kms.tomcat.dist.dir}/conf/server.xml"/> <copy file="${basedir}/src/main/tomcat/server.xml" toDir="${kms.tomcat.dist.dir}/conf"/> <delete file="${kms.tomcat.dist.dir}/conf/ssl-server.xml.conf"/> <copy file="${basedir}/src/main/tomcat/ssl-server.xml.conf" toDir="${kms.tomcat.dist.dir}/conf"/> <delete file="${kms.tomcat.dist.dir}/conf/logging.properties"/> <copy file="${basedir}/src/main/tomcat/logging.properties" toDir="${kms.tomcat.dist.dir}/conf"/> <copy toDir="${kms.tomcat.dist.dir}/webapps/ROOT"> <fileset dir="${basedir}/src/main/tomcat/ROOT"/> </copy> <copy toDir="${kms.tomcat.dist.dir}/webapps/kms"> <fileset dir="${project.build.directory}/kms"/> </copy> </target> </configuration> </execution> <execution> <id>tar</id> <phase>package</phase> <goals> <goal>run</goal> </goals> <configuration> <target if="tar"> <!-- Using Unix script to preserve symlinks --> <echo file="${project.build.directory}/dist-maketar.sh"> cd "${project.build.directory}" tar cf - ${project.artifactId}-${project.version} | gzip > ${project.artifactId}-${project.version}.tar.gz </echo> <exec executable="${shell-executable}" dir="${project.build.directory}" failonerror="true"> <arg line="./dist-maketar.sh"/> </exec> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>