<?xml version="1.0"?> <!-- 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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>hadoop-yarn-server</artifactId> <groupId>org.apache.hadoop</groupId> <version>3.4.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>hadoop-yarn-server-nodemanager</artifactId> <version>3.4.0-SNAPSHOT</version> <name>Apache Hadoop YARN NodeManager</name> <properties> <!-- Basedir eeded for generating FindBugs warnings using parent pom --> <yarn.basedir>${project.parent.parent.basedir}</yarn.basedir> <container-executor.conf.dir>../etc/hadoop</container-executor.conf.dir> <container-executor.additional_cflags></container-executor.additional_cflags> </properties> <dependencies> <!-- 'mvn dependency:analyze' fails to detect use of this dependency --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <scope>provided</scope> </dependency> <!-- 'mvn dependency:analyze' fails to detect use of this dependency --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-common</artifactId> </dependency> <!-- 'mvn dependency:analyze' fails to detect use of this dependency --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-api</artifactId> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-registry</artifactId> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> </dependency> <dependency> <groupId>org.codehaus.jettison</groupId> <artifactId>jettison</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> </dependency> <dependency> <groupId>org.eclipse.jetty.websocket</groupId> <artifactId>javax-websocket-server-impl</artifactId> </dependency> <dependency> <groupId>org.apache.hadoop.thirdparty</groupId> <artifactId>hadoop-shaded-guava</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <!-- 'mvn dependency:analyze' fails to detect use of this dependency --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-annotations</artifactId> </dependency> <!-- 'mvn dependency:analyze' fails to detect use of this dependency --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <type>test-jar</type> <scope>test</scope> </dependency> <dependency> <groupId>com.google.inject.extensions</groupId> <artifactId>guice-servlet</artifactId> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> </dependency> <dependency> <groupId>com.sun.jersey.jersey-test-framework</groupId> <artifactId>jersey-test-framework-grizzly2</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.github.pjfanning</groupId> <artifactId>jersey-json</artifactId> <exclusions> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> </exclusion> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </exclusion> <exclusion> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-json-provider</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.sun.jersey.contribs</groupId> <artifactId>jersey-guice</artifactId> </dependency> <!-- 'mvn dependency:analyze' fails to detect use of this dependency --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-common</artifactId> <type>test-jar</type> <scope>test</scope> </dependency> <!-- 'mvn dependency:analyze' fails to detect use of this dependency --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-server-common</artifactId> </dependency> <dependency> <groupId>${leveldbjni.group}</groupId> <artifactId>leveldbjni-all</artifactId> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-server-common</artifactId> <type>test-jar</type> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minikdc</artifactId> <scope>test</scope> </dependency> </dependencies> <profiles> <profile> <id>native</id> <build> <plugins> <plugin> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-maven-plugins</artifactId> <executions> <execution> <id>cmake-compile</id> <phase>compile</phase> <goals><goal>cmake-compile</goal></goals> <configuration> <source>${basedir}/src</source> <vars> <HADOOP_CONF_DIR>${container-executor.conf.dir}</HADOOP_CONF_DIR> <JVM_ARCH_DATA_MODEL>${sun.arch.data.model}</JVM_ARCH_DATA_MODEL> </vars> <env> <CFLAGS>${container-executor.additional_cflags}</CFLAGS> </env> </configuration> </execution> <execution> <id>test-container-executor</id> <goals><goal>cmake-test</goal></goals> <phase>test</phase> <configuration> <binary>${project.build.directory}/native/target/usr/local/bin/test-container-executor</binary> <timeout>300</timeout> <results>${project.build.directory}/native-results</results> </configuration> </execution> <execution> <id>cetest</id> <goals><goal>cmake-test</goal></goals> <phase>test</phase> <configuration> <!-- this should match the xml name without the TEST-part down below --> <testName>cetest</testName> <workingDirectory>${project.build.directory}/native/test</workingDirectory> <source>${basedir}/src</source> <binary>${project.build.directory}/native/test/cetest</binary> <args> <arg>--gtest_filter=-Perf.</arg> <arg>--gtest_output=xml:${project.build.directory}/surefire-reports/TEST-cetest.xml</arg> </args> <results>${project.build.directory}/surefire-reports</results> </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> <copy todir="${project.build.directory}/native/test/" overwrite="true"> <fileset dir="${basedir}/src/main/native/container-executor/resources/test" /> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> <activation> <activeByDefault>false</activeByDefault> </activation> </profile> <profile> <id>visualize</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <executions> <execution> <phase>compile</phase> <goals> <goal>java</goal> </goals> <configuration> <mainClass>org.apache.hadoop.yarn.state.VisualizeStateMachine</mainClass> <classpathScope>compile</classpathScope> <arguments> <argument>NodeManager</argument> <argument>org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationImpl, org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerImpl, org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.LocalizedResource</argument> <argument>NodeManager.gv</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>native-win</id> <activation> <os> <family>Windows</family> </os> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <excludes> <exclude>org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.**</exclude> </excludes> </configuration> </plugin> </plugins> </build> </profile> </profiles> <build> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <systemPropertyVariables> <property> <name>container-executor.path</name> <value>${container-executor.path}</value> </property> <property> <name>application.submitter</name> <value>${application.submitter}</value> </property> <property> <name>yarn.log.dir</name> <value>${maven.project.build.directory}/logs</value> </property> </systemPropertyVariables> <excludes> <exclude>**/TestFSDownload.java</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <configuration> <excludes> <exclude>src/main/native/container-executor/impl/compat/fstatat.h</exclude> <exclude>src/main/native/container-executor/impl/compat/openat.h</exclude> <exclude>src/main/native/container-executor/impl/compat/unlinkat.h</exclude> <exclude>src/main/resources/TERMINAL/xterm/**/*</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <executions> <execution> <id>src-compile-protoc</id> <configuration> <skip>false</skip> <additionalProtoPathElements> <additionalProtoPathElement> ${basedir}/../../../../hadoop-common-project/hadoop-common/src/main/proto </additionalProtoPathElement> <additionalProtoPathElement> ${basedir}/../../hadoop-yarn-api/src/main/proto </additionalProtoPathElement> </additionalProtoPathElements> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.google.code.maven-replacer-plugin</groupId> <artifactId>replacer</artifactId> <executions> <execution> <id>replace-generated-sources</id> <configuration> <skip>false</skip> </configuration> </execution> <execution> <id>replace-sources</id> <configuration> <skip>false</skip> </configuration> </execution> <execution> <id>replace-test-sources</id> <configuration> <skip>false</skip> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>