|
@@ -0,0 +1,147 @@
|
|
|
+<?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</artifactId>
|
|
|
+ <version>3.0.0-SNAPSHOT</version>
|
|
|
+ <relativePath>../hadoop-project</relativePath>
|
|
|
+ </parent>
|
|
|
+ <groupId>org.apache.hadoop</groupId>
|
|
|
+ <artifactId>hadoop-native-core</artifactId>
|
|
|
+ <version>3.0.0-SNAPSHOT</version>
|
|
|
+ <description>Apache Hadoop Native Client</description>
|
|
|
+ <name>Apache Hadoop Native Client</name>
|
|
|
+ <packaging>jar</packaging>
|
|
|
+
|
|
|
+ <dependencies>
|
|
|
+ <dependency>
|
|
|
+ <groupId>org.apache.hadoop</groupId>
|
|
|
+ <artifactId>hadoop-hdfs</artifactId>
|
|
|
+ <scope>test</scope>
|
|
|
+ <type>test-jar</type>
|
|
|
+ </dependency>
|
|
|
+ <dependency>
|
|
|
+ <groupId>org.apache.hadoop</groupId>
|
|
|
+ <artifactId>hadoop-yarn-server-tests</artifactId>
|
|
|
+ <scope>test</scope>
|
|
|
+ <type>test-jar</type>
|
|
|
+ </dependency>
|
|
|
+ </dependencies>
|
|
|
+
|
|
|
+ <profiles>
|
|
|
+ <profile>
|
|
|
+ <id>native</id>
|
|
|
+ <activation>
|
|
|
+ <activeByDefault>false</activeByDefault>
|
|
|
+ </activation>
|
|
|
+ <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/main/native"/>
|
|
|
+ </exec>
|
|
|
+ <exec executable="make" dir="${project.build.directory}/native" failonerror="true">
|
|
|
+ <arg line="VERBOSE=1"/>
|
|
|
+ </exec>
|
|
|
+ </target>
|
|
|
+ </configuration>
|
|
|
+ </execution>
|
|
|
+ <execution>
|
|
|
+ <id>native_tests</id>
|
|
|
+ <phase>test</phase>
|
|
|
+ <goals><goal>run</goal></goals>
|
|
|
+ <configuration>
|
|
|
+ <target>
|
|
|
+ <property name="test_classpath" refid="maven.test.classpath"/>
|
|
|
+ <exec executable="sh" failonerror="true" dir="${project.build.directory}/native/">
|
|
|
+ <arg value="-c"/>
|
|
|
+ <arg value="echo CLASSPATH=$CLASSPATH"/>
|
|
|
+ <env key="CLASSPATH" value="${test_classpath}"/>
|
|
|
+ </exec>
|
|
|
+ <exec executable="sh" failonerror="true" dir="${project.build.directory}/native/">
|
|
|
+ <arg value="-c"/>
|
|
|
+ <arg value="[ x$SKIPTESTS = xtrue ] || make test"/>
|
|
|
+ <env key="CLASSPATH" value="${test_classpath}"/>
|
|
|
+ <env key="SKIPTESTS" value="${skipTests}"/>
|
|
|
+ </exec>
|
|
|
+ </target>
|
|
|
+ </configuration>
|
|
|
+ </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-antrun-plugin</artifactId>
|
|
|
+ <executions>
|
|
|
+ <execution>
|
|
|
+ <id>pre-dist</id>
|
|
|
+ <phase>prepare-package</phase>
|
|
|
+ <goals>
|
|
|
+ <goal>run</goal>
|
|
|
+ </goals>
|
|
|
+ <configuration>
|
|
|
+ <target>
|
|
|
+ <!-- Using Unix script to preserve symlinks -->
|
|
|
+ <echo file="${project.build.directory}/dist-copynativelibs.sh">
|
|
|
+ BUILD_DIR="${project.build.directory}"
|
|
|
+ TAR='tar cf -'
|
|
|
+ UNTAR='tar xfBp -'
|
|
|
+ LIB_DIR="${BUILD_DIR}/native"
|
|
|
+ if [ -d $${LIB_DIR} ] ; then
|
|
|
+ TARGET_DIR="${BUILD_DIR}/${project.artifactId}-${project.version}/lib/native"
|
|
|
+ mkdir -p $${TARGET_DIR}
|
|
|
+ cd $${LIB_DIR}
|
|
|
+ $$TAR lib* | (cd $${TARGET_DIR}/; $$UNTAR)
|
|
|
+ fi
|
|
|
+ </echo>
|
|
|
+ <exec executable="sh" dir="${project.build.directory}" failonerror="true">
|
|
|
+ <arg line="./dist-copynativelibs.sh"/>
|
|
|
+ </exec>
|
|
|
+ </target>
|
|
|
+ </configuration>
|
|
|
+ </execution>
|
|
|
+ </executions>
|
|
|
+ </plugin>
|
|
|
+ </plugins>
|
|
|
+ </build>
|
|
|
+ </profile>
|
|
|
+ </profiles>
|
|
|
+</project>
|