123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732 |
- <?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. See accompanying LICENSE file.
- -->
- <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-dist</artifactId>
- <version>2.6.3</version>
- <relativePath>../../hadoop-project-dist</relativePath>
- </parent>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-hdfs</artifactId>
- <version>2.6.3</version>
- <description>Apache Hadoop HDFS</description>
- <name>Apache Hadoop HDFS</name>
- <packaging>jar</packaging>
- <properties>
- <hadoop.component>hdfs</hadoop.component>
- <is.hadoop.component>true</is.hadoop.component>
- <require.fuse>false</require.fuse>
- <require.libwebhdfs>false</require.libwebhdfs>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-annotations</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-auth</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-common</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-common</artifactId>
- <scope>test</scope>
- <type>test-jar</type>
- </dependency>
- <dependency>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty-util</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>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>commons-daemon</groupId>
- <artifactId>commons-daemon</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet.jsp</groupId>
- <artifactId>jsp-api</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-minikdc</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>tomcat</groupId>
- <artifactId>jasper-runtime</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>xmlenc</groupId>
- <artifactId>xmlenc</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.htrace</groupId>
- <artifactId>htrace-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-kms</artifactId>
- <classifier>classes</classifier>
- <type>jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-kms</artifactId>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <startKdc>${startKdc}</startKdc>
- <kdc.resource.dir>${kdc.resource.dir}</kdc.resource.dir>
- <runningWithNative>${runningWithNative}</runningWithNative>
- </systemPropertyVariables>
- <properties>
- <property>
- <name>listener</name>
- <value>org.apache.hadoop.test.TimedOutTestsListener</value>
- </property>
- </properties>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo.jspc</groupId>
- <artifactId>jspc-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>hdfs</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>compile</goal>
- </goals>
- <configuration>
- <compile>false</compile>
- <workingDirectory>${project.build.directory}/generated-sources/java</workingDirectory>
- <webFragmentFile>${project.build.directory}/hdfs-jsp-servlet-definitions.xml</webFragmentFile>
- <packageName>org.apache.hadoop.hdfs.server.namenode</packageName>
- <sources>
- <directory>${basedir}/src/main/webapps/hdfs</directory>
- <includes>
- <include>*.jsp</include>
- </includes>
- </sources>
- </configuration>
- </execution>
- <execution>
- <id>secondary</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>compile</goal>
- </goals>
- <configuration>
- <compile>false</compile>
- <workingDirectory>${project.build.directory}/generated-sources/java</workingDirectory>
- <webFragmentFile>${project.build.directory}/secondary-jsp-servlet-definitions.xml</webFragmentFile>
- <packageName>org.apache.hadoop.hdfs.server.namenode</packageName>
- <sources>
- <directory>${basedir}/src/main/webapps/secondary</directory>
- <includes>
- <include>*.jsp</include>
- </includes>
- </sources>
- </configuration>
- </execution>
- <execution>
- <id>journal</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>compile</goal>
- </goals>
- <configuration>
- <compile>false</compile>
- <workingDirectory>${project.build.directory}/generated-sources/java</workingDirectory>
- <webFragmentFile>${project.build.directory}/journal-jsp-servlet-definitions.xml</webFragmentFile>
- <packageName>org.apache.hadoop.hdfs.server.journalservice</packageName>
- <sources>
- <directory>${basedir}/src/main/webapps/journal</directory>
- <includes>
- <include>*.jsp</include>
- </includes>
- </sources>
- </configuration>
- </execution>
- <execution>
- <id>datanode</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>compile</goal>
- </goals>
- <configuration>
- <compile>false</compile>
- <workingDirectory>${project.build.directory}/generated-sources/java</workingDirectory>
- <webFragmentFile>${project.build.directory}/datanode-jsp-servlet-definitions.xml</webFragmentFile>
- <packageName>org.apache.hadoop.hdfs.server.datanode</packageName>
- <sources>
- <directory>${basedir}/src/main/webapps/datanode</directory>
- <includes>
- <include>*.jsp</include>
- </includes>
- </sources>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.codehaus.mojo.jspc</groupId>
- <artifactId>jspc-compiler-tomcat5</artifactId>
- <version>2.0-alpha-3</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.4.1</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl104-over-slf4j</artifactId>
- <version>1.4.1</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>add-jsp-generated-sources-directory</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>${project.build.directory}/generated-sources/java</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <configuration>
- <skipTests>false</skipTests>
- </configuration>
- <executions>
- <execution>
- <id>create-jsp-generated-sources-directory</id>
- <phase>initialize</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <mkdir dir="${project.build.directory}/generated-sources/java" />
- </target>
- </configuration>
- </execution>
- <execution>
- <id>create-web-xmls</id>
- <phase>compile</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <loadfile property="hdfs.servlet.definitions" srcFile="${project.build.directory}/hdfs-jsp-servlet-definitions.xml"/>
- <loadfile property="secondary.servlet.definitions" srcFile="${project.build.directory}/secondary-jsp-servlet-definitions.xml"/>
- <loadfile property="datanode.servlet.definitions" srcFile="${project.build.directory}/datanode-jsp-servlet-definitions.xml"/>
- <loadfile property="journal.servlet.definitions" srcFile="${project.build.directory}/journal-jsp-servlet-definitions.xml"/>
- <echoproperties destfile="${project.build.directory}/webxml.properties">
- <propertyset>
- <propertyref regex=".*.servlet.definitions"/>
- </propertyset>
- </echoproperties>
- <filter filtersfile="${project.build.directory}/webxml.properties"/>
- <copy file="${basedir}/src/main/webapps/proto-hdfs-web.xml"
- tofile="${project.build.directory}/webapps/hdfs/WEB-INF/web.xml"
- filtering="true"/>
- <copy file="${basedir}/src/main/webapps/proto-secondary-web.xml"
- tofile="${project.build.directory}/webapps/secondary/WEB-INF/web.xml"
- filtering="true"/>
- <copy file="${basedir}/src/main/webapps/proto-datanode-web.xml"
- tofile="${project.build.directory}/webapps/datanode/WEB-INF/web.xml"
- filtering="true"/>
- <copy file="${basedir}/src/main/webapps/proto-journal-web.xml"
- tofile="${project.build.directory}/webapps/journal/WEB-INF/web.xml"
- filtering="true"/>
- <copy toDir="${project.build.directory}/webapps">
- <fileset dir="${basedir}/src/main/webapps">
- <exclude name="**/*.jsp"/>
- <exclude name="**/proto-*-web.xml"/>
- </fileset>
- </copy>
- </target>
- </configuration>
- </execution>
- <execution>
- <id>create-log-dir</id>
- <phase>process-test-resources</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <delete dir="${test.build.data}"/>
- <mkdir dir="${test.build.data}"/>
- <mkdir dir="${hadoop.log.dir}"/>
- <copy todir="${project.build.directory}/test-classes/webapps">
- <fileset dir="${project.build.directory}/webapps">
- <exclude name="proto-*-web.xml"/>
- </fileset>
- </copy>
- </target>
- </configuration>
- </execution>
- <execution>
- <phase>pre-site</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <tasks>
- <copy file="src/main/resources/hdfs-default.xml" todir="src/site/resources"/>
- <copy file="src/main/xsl/configuration.xsl" todir="src/site/resources"/>
- </tasks>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-maven-plugins</artifactId>
- <executions>
- <execution>
- <id>compile-protoc</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>protoc</goal>
- </goals>
- <configuration>
- <protocVersion>${protobuf.version}</protocVersion>
- <protocCommand>${protoc.path}</protocCommand>
- <imports>
- <param>${basedir}/../../hadoop-common-project/hadoop-common/src/main/proto</param>
- <param>${basedir}/src/main/proto</param>
- </imports>
- <source>
- <directory>${basedir}/src/main/proto</directory>
- <includes>
- <include>ClientDatanodeProtocol.proto</include>
- <include>ClientNamenodeProtocol.proto</include>
- <include>DatanodeProtocol.proto</include>
- <include>HAZKInfo.proto</include>
- <include>InterDatanodeProtocol.proto</include>
- <include>JournalProtocol.proto</include>
- <include>NamenodeProtocol.proto</include>
- <include>QJournalProtocol.proto</include>
- <include>acl.proto</include>
- <include>xattr.proto</include>
- <include>datatransfer.proto</include>
- <include>fsimage.proto</include>
- <include>hdfs.proto</include>
- <include>encryption.proto</include>
- <include>inotify.proto</include>
- </includes>
- </source>
- <output>${project.build.directory}/generated-sources/java</output>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <excludePackageNames>org.apache.hadoop.hdfs.protocol.proto</excludePackageNames>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>CHANGES.txt</exclude>
- <exclude>CHANGES.HDFS-1623.txt</exclude>
- <exclude>.gitattributes</exclude>
- <exclude>.idea/**</exclude>
- <exclude>src/main/conf/*</exclude>
- <exclude>src/main/docs/**</exclude>
- <exclude>dev-support/findbugsExcludeFile.xml</exclude>
- <exclude>dev-support/checkstyle*</exclude>
- <exclude>dev-support/jdiff/**</exclude>
- <exclude>dev-support/*tests</exclude>
- <exclude>src/main/native/*</exclude>
- <exclude>src/main/native/config/*</exclude>
- <exclude>src/main/native/m4/*</exclude>
- <exclude>src/test/empty-file</exclude>
- <exclude>src/test/all-tests</exclude>
- <exclude>src/test/resources/*.tgz</exclude>
- <exclude>src/test/resources/data*</exclude>
- <exclude>src/test/resources/editsStored*</exclude>
- <exclude>src/test/resources/empty-file</exclude>
- <exclude>src/main/native/util/tree.h</exclude>
- <exclude>src/test/aop/org/apache/hadoop/hdfs/server/datanode/DataXceiverAspects.aj</exclude>
- <exclude>src/main/webapps/datanode/robots.txt</exclude>
- <exclude>src/main/docs/releasenotes.html</exclude>
- <exclude>src/contrib/**</exclude>
- <exclude>src/site/resources/images/*</exclude>
- <exclude>src/main/webapps/static/bootstrap-3.0.2/**</exclude>
- <exclude>src/main/webapps/static/dust-full-2.0.0.min.js</exclude>
- <exclude>src/main/webapps/static/dust-helpers-1.1.1.min.js</exclude>
- <exclude>src/main/webapps/static/jquery-1.10.2.min.js</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <profiles>
- <profile>
- <id>native-win</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- <os>
- <family>windows</family>
- </os>
- </activation>
- <properties>
- <runningWithNative>true</runningWithNative>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <executions>
- <execution>
- <id>enforce-os</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireOS>
- <family>windows</family>
- <message>native-win build only supported on Windows</message>
- </requireOS>
- </rules>
- <fail>true</fail>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>make</id>
- <phase>compile</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <mkdir dir="${project.build.directory}/native"/>
- <exec executable="cmake" dir="${project.build.directory}/native"
- failonerror="true">
- <arg line="${basedir}/src/ -DGENERATED_JAVAH=${project.build.directory}/native/javah -DJVM_ARCH_DATA_MODEL=${sun.arch.data.model} -DREQUIRE_LIBWEBHDFS=${require.libwebhdfs} -DREQUIRE_FUSE=${require.fuse} -G 'Visual Studio 10 Win64'"/>
- </exec>
- <exec executable="msbuild" dir="${project.build.directory}/native"
- failonerror="true">
- <arg line="ALL_BUILD.vcxproj /nologo /p:Configuration=RelWithDebInfo /p:LinkIncremental=false"/>
- </exec>
- <!-- Copy for inclusion in distribution. -->
- <copy todir="${project.build.directory}/bin">
- <fileset dir="${project.build.directory}/native/target/bin/RelWithDebInfo"/>
- </copy>
- </target>
- </configuration>
- </execution>
- <execution>
- <id>native_tests</id>
- <phase>test</phase>
- <goals><goal>run</goal></goals>
- <configuration>
- <skip>${skipTests}</skip>
- <target>
- <property name="compile_classpath" refid="maven.compile.classpath"/>
- <property name="test_classpath" refid="maven.test.classpath"/>
- <macrodef name="run-test">
- <attribute name="test"/>
- <sequential>
- <echo message="Running @{test}"/>
- <exec executable="${project.build.directory}/native/RelWithDebInfo/@{test}" failonerror="true" dir="${project.build.directory}/native/">
- <env key="CLASSPATH" value="${test_classpath}:${compile_classpath}"/>
- <!-- HADOOP_HOME required to find winutils. -->
- <env key="HADOOP_HOME" value="${hadoop.common.build.dir}"/>
- <!-- Make sure hadoop.dll and jvm.dll are on PATH. -->
- <env key="PATH" value="${env.PATH};${hadoop.common.build.dir}/bin;${java.home}/jre/bin/server;${java.home}/bin/server"/>
- </exec>
- <echo message="Finished @{test}"/>
- </sequential>
- </macrodef>
- <run-test test="test_libhdfs_threaded"/>
- <echo message="Skipping test_libhdfs_zerocopy"/>
- <run-test test="test_native_mini_dfs"/>
- </target>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>native</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <properties>
- <runningWithNative>true</runningWithNative>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>make</id>
- <phase>compile</phase>
- <goals><goal>run</goal></goals>
- <configuration>
- <target>
- <mkdir dir="${project.build.directory}/native"/>
- <exec executable="cmake" dir="${project.build.directory}/native"
- failonerror="true">
- <arg line="${basedir}/src/ -DGENERATED_JAVAH=${project.build.directory}/native/javah -DJVM_ARCH_DATA_MODEL=${sun.arch.data.model} -DREQUIRE_LIBWEBHDFS=${require.libwebhdfs} -DREQUIRE_FUSE=${require.fuse}"/>
- </exec>
- <exec executable="make" dir="${project.build.directory}/native" failonerror="true">
- <arg line="VERBOSE=1"/>
- </exec>
- <!-- The second make is a workaround for HADOOP-9215. It can
- be removed when version 2.6 of cmake is no longer supported . -->
- <exec executable="make" dir="${project.build.directory}/native" failonerror="true"></exec>
- </target>
- </configuration>
- </execution>
- <execution>
- <id>native_tests</id>
- <phase>test</phase>
- <goals><goal>run</goal></goals>
- <configuration>
- <skip>${skipTests}</skip>
- <target>
- <property name="compile_classpath" refid="maven.compile.classpath"/>
- <property name="test_classpath" refid="maven.test.classpath"/>
- <macrodef name="run-test">
- <attribute name="test"/>
- <sequential>
- <echo message="Running @{test}"/>
- <exec executable="${project.build.directory}/native/@{test}" failonerror="true" dir="${project.build.directory}/native/">
- <env key="CLASSPATH" value="${test_classpath}:${compile_classpath}"/>
- <!-- Make sure libhadoop.so is on LD_LIBRARY_PATH. -->
- <env key="LD_LIBRARY_PATH" value="${env.LD_LIBRARY_PATH}:${project.build.directory}/native/target/usr/local/lib:${hadoop.common.build.dir}/native/target/usr/local/lib"/>
- </exec>
- <echo message="Finished @{test}"/>
- </sequential>
- </macrodef>
- <run-test test="test_libhdfs_threaded"/>
- <run-test test="test_libhdfs_zerocopy"/>
- <run-test test="test_native_mini_dfs"/>
- </target>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>parallel-tests</id>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>create-parallel-tests-dirs</id>
- <phase>test-compile</phase>
- <configuration>
- <target>
- <exec executable="sh">
- <arg value="-c"/>
- <arg value="for i in {1..${testsThreadCount}}; do mkdir -p ${test.build.data}/$i; mkdir -p ${hadoop.tmp.dir}/$i; done"/>
- </exec>
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <forkCount>${testsThreadCount}</forkCount>
- <argLine>-Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -DminiClusterDedicatedDirs=true</argLine>
- <systemPropertyVariables>
- <test.build.data>${test.build.data}/${surefire.forkNumber}</test.build.data>
- <hadoop.tmp.dir>${hadoop.tmp.dir}/${surefire.forkNumber}</hadoop.tmp.dir>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
- </project>
|