| <?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>2.0.4-alpha</version> |
| <relativePath>../../hadoop-project</relativePath> |
| </parent> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-hdfs-httpfs</artifactId> |
| <version>2.0.4-alpha</version> |
| <packaging>war</packaging> |
| |
| <name>Apache Hadoop HttpFS</name> |
| <description>Apache Hadoop HttpFS</description> |
| |
| <properties> |
| <tomcat.version>6.0.36</tomcat.version> |
| <httpfs.source.repository>REPO NOT AVAIL</httpfs.source.repository> |
| <httpfs.source.repository>REPO NOT AVAIL</httpfs.source.repository> |
| <httpfs.source.revision>REVISION NOT AVAIL</httpfs.source.revision> |
| <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format> |
| <httpfs.build.timestamp>${maven.build.timestamp}</httpfs.build.timestamp> |
| <httpfs.tomcat.dist.dir> |
| ${project.build.directory}/${project.artifactId}-${project.version}/share/hadoop/httpfs/tomcat |
| </httpfs.tomcat.dist.dir> |
| <kerberos.realm>LOCALHOST</kerberos.realm> |
| <test.exclude.kerberos.test>**/TestHttpFSWithKerberos.java</test.exclude.kerberos.test> |
| <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>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.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>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.googlecode.json-simple</groupId> |
| <artifactId>json-simple</artifactId> |
| <scope>compile</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-hdfs</artifactId> |
| <scope>compile</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</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>org.apache.hadoop</groupId> |
| <artifactId>hadoop-hdfs</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> |
| </dependencies> |
| |
| <build> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>true</filtering> |
| <includes> |
| <include>httpfs.properties</include> |
| </includes> |
| </resource> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>false</filtering> |
| <excludes> |
| <exclude>httpfs.properties</exclude> |
| </excludes> |
| </resource> |
| </resources> |
| <testResources> |
| <testResource> |
| <directory>${basedir}/src/test/resources</directory> |
| <filtering>false</filtering> |
| <excludes> |
| <exclude>krb5.conf</exclude> |
| </excludes> |
| </testResource> |
| <testResource> |
| <directory>${basedir}/src/test/resources</directory> |
| <filtering>true</filtering> |
| <includes> |
| <include>krb5.conf</include> |
| </includes> |
| </testResource> |
| </testResources> |
| |
| <plugins> |
| <plugin> |
| <!-- workaround for filtered/unfiltered resources in same directory --> |
| <!-- remove when maven-eclipse-plugin 2.9 is available --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-eclipse-plugin</artifactId> |
| <version>2.6</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <threadCount>1</threadCount> |
| <forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds> |
| <systemPropertyVariables> |
| <java.security.krb5.conf>${project.build.directory}/test-classes/krb5.conf</java.security.krb5.conf> |
| <kerberos.realm>${kerberos.realm}</kerberos.realm> |
| </systemPropertyVariables> |
| <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> |
| <exclude>${test.exclude.kerberos.test}</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>javadoc</goal> |
| </goals> |
| <phase>site</phase> |
| <configuration> |
| <linksource>true</linksource> |
| <quiet>true</quiet> |
| <verbose>false</verbose> |
| <source>${maven.compile.source}</source> |
| <charset>${maven.compile.encoding}</charset> |
| <groups> |
| <group> |
| <title>HttpFs API</title> |
| <packages>*</packages> |
| </group> |
| </groups> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-project-info-reports-plugin</artifactId> |
| <executions> |
| <execution> |
| <configuration> |
| <dependencyLocationsEnabled>false</dependencyLocationsEnabled> |
| </configuration> |
| <goals> |
| <goal>dependencies</goal> |
| </goals> |
| <phase>site</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>src/test/resources/classutils.txt</exclude> |
| <exclude>src/main/conf/httpfs-signature.secret</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/webapp"/> |
| |
| <copy todir="${project.build.directory}/test-classes/webapp"> |
| <fileset dir="${basedir}/src/main/webapp"/> |
| </copy> |
| </target> |
| </configuration> |
| </execution> |
| <execution> |
| <id>site</id> |
| <phase>site</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <target> |
| <xslt in="${basedir}/src/main/resources/httpfs-default.xml" |
| out="${project.build.directory}/site/httpfs-default.html" |
| style="${basedir}/src/site/configuration.xsl"/> |
| </target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-war-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>default-war</id> |
| <phase>package</phase> |
| <goals> |
| <goal>war</goal> |
| </goals> |
| <configuration> |
| <warName>webhdfs</warName> |
| <webappDirectory>${project.build.directory}/webhdfs</webappDirectory> |
| </configuration> |
| </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>testKerberos</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <test.exclude.kerberos.test>_</test.exclude.kerberos.test> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <forkMode>once</forkMode> |
| <forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds> |
| <systemPropertyVariables> |
| <java.security.krb5.conf>${project.build.directory}/test-classes/krb5.conf</java.security.krb5.conf> |
| <kerberos.realm>${kerberos.realm}</kerberos.realm> |
| <httpfs.http.hostname>localhost</httpfs.http.hostname> |
| </systemPropertyVariables> |
| <includes> |
| <include>**/TestHttpFSWithKerberos.java</include> |
| </includes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <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-httpfs-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"> |
| |
| which cygpath 2> /dev/null |
| if [ $? = 1 ]; then |
| BUILD_DIR="${project.build.directory}" |
| else |
| BUILD_DIR=`cygpath --unix '${project.build.directory}'` |
| fi |
| cd $BUILD_DIR/tomcat.exp |
| tar xzf ${basedir}/downloads/apache-tomcat-${tomcat.version}.tar.gz |
| </echo> |
| <exec executable="sh" dir="${project.build.directory}" failonerror="true"> |
| <arg line="./tomcat-untar.sh"/> |
| </exec> |
| |
| <move file="${project.build.directory}/tomcat.exp/apache-tomcat-${tomcat.version}" |
| tofile="${httpfs.tomcat.dist.dir}"/> |
| <delete dir="${project.build.directory}/tomcat.exp"/> |
| <delete dir="${httpfs.tomcat.dist.dir}/webapps"/> |
| <mkdir dir="${httpfs.tomcat.dist.dir}/webapps"/> |
| <delete file="${httpfs.tomcat.dist.dir}/conf/server.xml"/> |
| <copy file="${basedir}/src/main/tomcat/server.xml" |
| toDir="${httpfs.tomcat.dist.dir}/conf"/> |
| <copy file="${basedir}/src/main/tomcat/logging.properties" |
| toDir="${httpfs.tomcat.dist.dir}/conf"/> |
| <copy toDir="${httpfs.tomcat.dist.dir}/webapps/ROOT"> |
| <fileset dir="${basedir}/src/main/tomcat/ROOT"/> |
| </copy> |
| <copy toDir="${httpfs.tomcat.dist.dir}/webapps/webhdfs"> |
| <fileset dir="${project.build.directory}/webhdfs"/> |
| </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"> |
| |
| which cygpath 2> /dev/null |
| if [ $? = 1 ]; then |
| BUILD_DIR="${project.build.directory}" |
| else |
| BUILD_DIR=`cygpath --unix '${project.build.directory}'` |
| fi |
| cd $BUILD_DIR |
| tar czf ${project.artifactId}-${project.version}.tar.gz ${project.artifactId}-${project.version} |
| </echo> |
| <exec executable="sh" dir="${project.build.directory}" failonerror="true"> |
| <arg line="./dist-maketar.sh"/> |
| </exec> |
| </target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |