| <?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> |
| <groupId>org.apache.hadoop</groupId> |
| <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>servlet-api</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>jetty</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>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.mortbay.jetty</groupId> |
| <artifactId>jetty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>jetty-util</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>jsp-api-2.1</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.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.mortbay.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> |
| </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> |