<?xml version="1.0" encoding="UTF-8"?> <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> <groupId>net.qihoo</groupId> <artifactId>hbox-parent</artifactId> <version>1.8.1-SNAPSHOT</version> <packaging>pom</packaging> <name>HBox Parent Pom</name> <description>Parent pom and modules registration.</description> <modules> <module>common</module> <!-- core yarn application --> <module>core</module> <!-- application master web service --> <module>web</module> <!-- history server web service --> <module>history-server</module> </modules> <properties> <maven.min-version>3.6.3</maven.min-version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.outputTimestamp>2024-06-28T06:56:34Z</project.build.outputTimestamp> <!-- Supporting Tech Matrix ~ Build-time JDK: 8+, select by developer or ci environment, prefer LTS JDKs ~ Target JVM: 8+, select via property project.target.release, prefer LTS releases --> <project.target.release>8</project.target.release> <hadoop.version>[3.2.4]</hadoop.version> <sortpom.version>4.0.0</sortpom.version> <sort.verifyFail>warn</sort.verifyFail> <project.effective.version>${project.version}</project.effective.version> <!-- release, only deploy the tgz archive --> <autoVersionSubmodules>true</autoVersionSubmodules> <tagNameFormat>v@{project.version}</tagNameFormat> <projectVersionPolicyId>SemVerVersionPolicy</projectVersionPolicyId> <preparationGoals>-pl . sortpom:sort resources:copy-resources@update-ver-for-tests scm:add -Dincludes=tests/ver.sh</preparationGoals> <completionGoals>-pl . sortpom:sort resources:copy-resources@update-ver-for-tests scm:add -Dincludes=tests/ver.sh</completionGoals> <checkModificationExcludeList>${project.basedir}/tests/ver.sh</checkModificationExcludeList> <maven.deploy.skip>true</maven.deploy.skip> <maven.deploy.file.skip>snapshots</maven.deploy.file.skip> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>net.qihoo</groupId> <artifactId>hbox-common</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>net.qihoo</groupId> <artifactId>hbox-web</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>net.qihoo</groupId> <artifactId>hbox-history-server</artifactId> <version>${project.version}</version> </dependency> <!-- hadoop --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-api</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-common</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-app</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-common</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-hs</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-client</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.7</version> <!-- sync version with hadoop --> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>1.4</version> <!-- sync version with hadoop --> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>[20231013,)</version> </dependency> <!-- amazon s3 --> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> <version>[1.12.261]</version> </dependency> <!-- junit --> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>5.10.2</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-site-plugin</artifactId> <version>4.0.0-M15</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>3.3.0</version> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.7.1</version> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.3.1</version> <configuration> <propertiesEncoding>${project.build.sourceEncoding}</propertiesEncoding> </configuration> <executions> <execution> <id>update-ver-for-tests</id> <goals> <goal>copy-resources</goal> </goals> <phase>ONLY-FOR-CLI</phase> <inherited>false</inherited> <configuration> <outputDirectory>${project.basedir}/tests</outputDirectory> <resources> <resource> <directory>src/test/resources</directory> <includes> <include>ver.sh</include> </includes> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>3.1.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>3.1.2</version> </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.4.0</version> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <version>3.7.1</version> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>3.4.2</version> </plugin> <plugin> <artifactId>maven-artifact-plugin</artifactId> <version>3.5.1</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.13.0</version> </plugin> <plugin> <artifactId>maven-shade-plugin</artifactId> <version>3.6.0</version> <configuration> <createDependencyReducedPom>false</createDependencyReducedPom> <filters combine.children="append"> <filter> <artifact>*:*</artifact> <excludes> <!-- exclude MANIFEST.MF, the one from original jar will be processed by ManifestResourceTransformer --> <exclude>META-INF/MANIFEST.MF</exclude> <!-- avoid errors when verifing digital signature --> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> <exclude>META-INF/*.EC</exclude> <exclude>META-INF/*.sf</exclude> <exclude>META-INF/*.dsa</exclude> <exclude>META-INF/*.rsa</exclude> <exclude>META-INF/*.ec</exclude> <!-- exclude common license and notice files --> <exclude>NOTICE</exclude> <exclude>LICENSE</exclude> <exclude>META-INF/LICENSE.txt</exclude> <exclude>META-INF/license.txt</exclude> <exclude>about_files/LICENSE.txt</exclude> <exclude>META-INF/ASL2.0</exclude> <exclude>META-INF/NOTICE.txt</exclude> <exclude>META-INF/notice.txt</exclude> <exclude>about.html</exclude> <!-- exclude some eclipse files --> <exclude>META-INF/eclipse.inf</exclude> <exclude>plugin.properties</exclude> <exclude>META-INF/DEPENDENCIES</exclude> </excludes> </filter> </filters> <transformers combine.children="append"> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"></transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"></transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"> <addHeader>false</addHeader> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"></transformer> </transformers> </configuration> </plugin> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <version>3.5.0</version> </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <artifactId>maven-scm-plugin</artifactId> <version>2.1.0</version> </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> <version>4.9.10</version> </plugin> <plugin> <artifactId>maven-wrapper-plugin</artifactId> <version>3.3.2</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.6.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.16.2</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <inherited>false</inherited> <executions> <execution> <id>enforce-building-environment</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <version>[${maven.min-version},)</version> </requireMavenVersion> <requireJavaVersion> <!-- build time requires JDK 8+ --> <version>[1.8,)</version> </requireJavaVersion> <requireProperty> <property>project.target.release</property> <regex>^([89]|[1-9][0-9]+)$</regex> <regexMessage>project.target.release need at least 8, but found "${project.target.release}"</regexMessage> </requireProperty> <requireProperty> <level>WARN</level> <property>project.target.release</property> <regex>^(8|11|17|23|29|35|41|47)$</regex> <regexMessage>SHOULD NOT USE NON-LTS TARGET JVM (${project.target.release}) IN PRODUCTION ENVIRONMENTS!</regexMessage> </requireProperty> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> <version>${sortpom.version}</version> <configuration> <predefinedSortOrder>custom_1</predefinedSortOrder> <lineSeparator>\n</lineSeparator> <encoding>${project.build.sourceEncoding}</encoding> <keepBlankLines>true</keepBlankLines> <!-- Now we only warning the pom style; to sort, add cmd arg: '-Dsort.verifyFail=sort' --> <verifyFail>${sort.verifyFail}</verifyFail> </configuration> <executions> <execution> <goals> <goal>verify</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>parse-version</id> <goals> <goal>parse-version</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <url>https://github.com/Qihoo360/hbox</url> <inceptionYear>2018</inceptionYear> <organization> <name>Qihoo 360 Technology Co. Ltd. (Qihoo 360)</name> <url>https://360.com/</url> </organization> <licenses> <license> <name>Apache-2.0</name> <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> <scm> <connection>scm:git:https://github.com/Qihoo360/hbox.git</connection> <developerConnection>scm:git:git@github.com:Qihoo360/hbox.git</developerConnection> <url>https://github.com/Qihoo360/hbox/tree/master</url> <tag>HEAD</tag> </scm> <issueManagement> <system>Github Issue</system> <url>https://github.com/Qihoo360/hbox/issues</url> </issueManagement> <profiles> <profile> <id>before-jdk9-profile</id> <activation> <jdk>(,1.9)</jdk> </activation> <properties> <!-- javac options for maven-compile-plugin --> <maven.compiler.source>${project.target.release}</maven.compiler.source> <maven.compiler.target>${project.target.release}</maven.compiler.target> </properties> </profile> <profile> <id>since-jdk9-profile</id> <activation> <jdk>[9,)</jdk> </activation> <properties> <!-- javac options for maven-compile-plugin --> <maven.compiler.release>${project.target.release}</maven.compiler.release> </properties> </profile> <profile> <id>before-jdk11-profile</id> <activation> <jdk>(,11)</jdk> </activation> <properties> <maven.version.rules>file://${project.basedir}/plugin-version-ruleset-before-jdk11.xml</maven.version.rules> <!-- 3.1.0+ dropped support for jdk 8 --> <sortpom.version>3.0.1</sortpom.version> </properties> </profile> <profile> <id>with-dot-git-profile</id> <activation> <file> <exists>${maven.multiModuleProjectDirectory}/.git</exists> </file> </activation> <build> <plugins> <plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> <dependencies> <!-- update jgit to avoid the bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=579445 --> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit</artifactId> <version>5.13.3.202401111512-r</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ssh.jsch</artifactId> <version>5.13.3.202401111512-r</version> </dependency> </dependencies> <executions> <execution> <id>generate-git-commit-id</id> <goals> <goal>revision</goal> </goals> <phase>validate</phase> <configuration> <offline>true</offline> <skipPoms>false</skipPoms> <runOnlyOnce>true</runOnlyOnce> <injectAllReactorProjects>true</injectAllReactorProjects> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>bump-minor-version</id> <properties> <project.effective.version>${parsedVersion.majorVersion}.${parsedVersion.nextMinorVersion}.0${parsedVersion.qualifier?}</project.effective.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <executions> <execution> <id>bumping-minor-version</id> <goals> <goal>set</goal> </goals> <phase>validate</phase> <inherited>false</inherited> <configuration> <newVersion>${project.effective.version}</newVersion> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>sync-ver-for-tests</id> <goals> <goal>copy-resources</goal> </goals> <phase>validate</phase> <inherited>false</inherited> <configuration> <outputDirectory>${project.basedir}/tests</outputDirectory> <resources> <resource> <directory>src/test/resources</directory> <includes> <include>ver.sh</include> </includes> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>bump-major-version</id> <properties> <project.effective.version>${parsedVersion.nextMajorVersion}.0.0${parsedVersion.qualifier?}</project.effective.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <executions> <execution> <id>bumping-major-version</id> <goals> <goal>set</goal> </goals> <phase>validate</phase> <inherited>false</inherited> <configuration> <newVersion>${project.effective.version}</newVersion> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>sync-ver-for-tests</id> <goals> <goal>copy-resources</goal> </goals> <phase>validate</phase> <inherited>false</inherited> <configuration> <outputDirectory>${project.basedir}/tests</outputDirectory> <resources> <resource> <directory>src/test/resources</directory> <includes> <include>ver.sh</include> </includes> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>