| <?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/maven-v4_0_0.xsd"> |
| <!-- |
| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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. |
| */ |
| |
| ON MVN COMPILE NOT WORKING |
| |
| If you wondering why 'mvn compile' does not work building HBase |
| (in particular, if you are doing it for the first time), instead do |
| 'mvn package'. If you are interested in the full story, see |
| https://issues.apache.org/jira/browse/HBASE-6795. |
| |
| --> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>30</version> |
| <relativePath /> |
| <!-- no parent resolution --> |
| </parent> |
| <groupId>org.apache.hbase.thirdparty</groupId> |
| <artifactId>hbase-thirdparty</artifactId> |
| <version>${revision}</version> |
| <name>Apache HBase Third-Party Libs</name> |
| <packaging>pom</packaging> |
| <description> |
| Packaging of relocated (renamed, shaded) third-party libraries used by hbase. |
| </description> |
| <url>https://hbase.apache.org</url> |
| <inceptionYear>2017</inceptionYear> |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| <distribution>repo</distribution> |
| </license> |
| </licenses> |
| <modules> |
| <module>hbase-shaded-protobuf</module> |
| <module>hbase-shaded-netty</module> |
| <module>hbase-shaded-netty-tcnative</module> |
| <module>hbase-shaded-gson</module> |
| <module>hbase-shaded-miscellaneous</module> |
| <module>hbase-shaded-jetty</module> |
| <module>hbase-shaded-jersey</module> |
| <module>hbase-shaded-jackson-jaxrs-json-provider</module> |
| <module>hbase-noop-htrace</module> |
| <module>hbase-unsafe</module> |
| </modules> |
| <scm> |
| <connection>scm:git:git://git.apache.org/hbase-thirdparty.git</connection> |
| <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/hbase-thirdparty.git</developerConnection> |
| <url>https://git-wip-us.apache.org/repos/asf?p=hbase-thirdparty.git</url> |
| </scm> |
| <issueManagement> |
| <!--File issues for this project against Apache HBase JIRA--> |
| <system>JIRA</system> |
| <url>http://issues.apache.org/jira/browse/HBASE</url> |
| </issueManagement> |
| <ciManagement> |
| <system>hudson</system> |
| <url>http://hudson.zones.apache.org/hudson/view/HBase/job/HBase-TRUNK/</url> |
| </ciManagement> |
| <mailingLists> |
| <mailingList> |
| <name>User List</name> |
| <subscribe>user-subscribe@hbase.apache.org</subscribe> |
| <unsubscribe>user-unsubscribe@hbase.apache.org</unsubscribe> |
| <post>user@hbase.apache.org</post> |
| <archive>http://mail-archives.apache.org/mod_mbox/hbase-user/</archive> |
| <otherArchives> |
| <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.user</otherArchive> |
| <otherArchive>http://search-hadoop.com/?q=&fc_project=HBase</otherArchive> |
| </otherArchives> |
| </mailingList> |
| <mailingList> |
| <name>Developer List</name> |
| <subscribe>dev-subscribe@hbase.apache.org</subscribe> |
| <unsubscribe>dev-unsubscribe@hbase.apache.org</unsubscribe> |
| <post>dev@hbase.apache.org</post> |
| <archive>http://mail-archives.apache.org/mod_mbox/hbase-dev/</archive> |
| <otherArchives> |
| <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.devel</otherArchive> |
| <otherArchive>http://search-hadoop.com/?q=&fc_project=HBase</otherArchive> |
| </otherArchives> |
| </mailingList> |
| <mailingList> |
| <name>Commits List</name> |
| <subscribe>commits-subscribe@hbase.apache.org</subscribe> |
| <unsubscribe>commits-unsubscribe@hbase.apache.org</unsubscribe> |
| <archive>http://mail-archives.apache.org/mod_mbox/hbase-commits/</archive> |
| </mailingList> |
| <mailingList> |
| <name>Issues List</name> |
| <subscribe>issues-subscribe@hbase.apache.org</subscribe> |
| <unsubscribe>issues-unsubscribe@hbase.apache.org</unsubscribe> |
| <archive>http://mail-archives.apache.org/mod_mbox/hbase-issues/</archive> |
| </mailingList> |
| <mailingList> |
| <name>Builds List</name> |
| <subscribe>builds-subscribe@hbase.apache.org</subscribe> |
| <unsubscribe>builds-unsubscribe@hbase.apache.org</unsubscribe> |
| <archive>http://mail-archives.apache.org/mod_mbox/hbase-builds/</archive> |
| </mailingList> |
| </mailingLists> |
| <developers /> |
| <!--TODO--> |
| <properties> |
| <revision>4.1.10-SNAPSHOT</revision> |
| <maven.javadoc.skip>true</maven.javadoc.skip> |
| <maven.build.timestamp.format> |
| yyyy-MM-dd'T'HH:mm |
| </maven.build.timestamp.format> |
| <buildDate>${maven.build.timestamp}</buildDate> |
| <compileSource>1.8</compileSource> |
| <java.min.version>${compileSource}</java.min.version> |
| <maven.min.version>3.3.3</maven.min.version> |
| <os.maven.version>1.7.1</os.maven.version> |
| <rename.offset>org.apache.hbase.thirdparty</rename.offset> |
| <protobuf.version>4.28.2</protobuf.version> |
| <netty.version>4.1.113.Final</netty.version> |
| <netty.tcnative.version>2.0.66.Final</netty.tcnative.version> |
| <guava.version>33.3.0-jre</guava.version> |
| <commons-cli.version>1.9.0</commons-cli.version> |
| <commons-collections.version>4.4</commons-collections.version> |
| <error_prone_annotations.version>2.32.0</error_prone_annotations.version> |
| <gson.version>2.11.0</gson.version> |
| <jetty.version>9.4.56.v20240826</jetty.version> |
| <servlet-api.version>3.1.0</servlet-api.version> |
| <jersey.version>2.45</jersey.version> |
| <jakarta.inject.version>2.6.1</jakarta.inject.version> |
| <jakarta.ws.rs-api.version>2.1.6</jakarta.ws.rs-api.version> |
| <jakarta.annotation-api.version>1.3.5</jakarta.annotation-api.version> |
| <jakarta.validation-api.version>2.0.2</jakarta.validation-api.version> |
| <javassist.version>3.30.2-GA</javassist.version> |
| <jackson-jaxrs-json-provider.version>2.17.2</jackson-jaxrs-json-provider.version> |
| </properties> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <version>3.0.1</version> |
| <configuration> |
| <!--You need this profile. It'll sign your artifacts. |
| I'm not sure if this config. actually works though. |
| I've been specifying -Papache-release on the command-line |
| --> |
| <releaseProfiles>apache-release</releaseProfiles> |
| <!--This stops our running tests for each stage of maven release. |
| But it builds the test jar. From SUREFIRE-172. |
| --> |
| <arguments>-Dmaven.test.skip.exec ${arguments}</arguments> |
| <goals>${goals}</goals> |
| <pomFileName>pom.xml</pomFileName> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-clean-plugin</artifactId> |
| <version>3.3.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.4.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>**/*.versionsBackup</exclude> |
| <exclude>**/*.log</exclude> |
| <exclude>**/.*</exclude> |
| <exclude>**/*.tgz</exclude> |
| <exclude>**/*.orig</exclude> |
| <exclude>**/.idea/**</exclude> |
| <exclude>**/*.iml</exclude> |
| <exclude>**/CHANGES.txt</exclude> |
| <exclude>**/generated/**</exclude> |
| <exclude>**/gen-*/**</exclude> |
| <exclude>**/*.avpr</exclude> |
| <exclude>**/*.svg</exclude> |
| <!-- vector graphics --> |
| <exclude>**/*.vm</exclude> |
| <!-- apache doxia generated --> |
| <exclude>**/control</exclude> |
| <exclude>**/conffile</exclude> |
| <!-- auto-gen docs --> |
| <exclude>docs/*</exclude> |
| <exclude>logs/*</exclude> |
| <!-- exclude source control files --> |
| <exclude>.git/**</exclude> |
| <exclude>.svn/**</exclude> |
| <exclude>**/.settings/**</exclude> |
| <exclude>**/patchprocess/**</exclude> |
| <exclude>**/dependency-reduced-pom.xml</exclude> |
| <exclude>**/rat.txt</exclude> |
| <!-- exclude the shaded protobuf files --> |
| <exclude>**/src/main/patches/**</exclude> |
| <!--Exclude the unpacked google src--> |
| <exclude>**/src/main/java/com/google/protobuf/**</exclude> |
| <exclude>**/src/main/resources/google/**</exclude> |
| <exclude>**/src/main/java/META-INF/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <version>3.1.0</version> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <goals> |
| <goal>create-timestamp</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <timestampFormat>yyyy</timestampFormat> |
| <timestampPropertyName>build.year</timestampPropertyName> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>3.5.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.11.0</version> |
| <configuration> |
| <source>1.8</source> |
| <target>1.8</target> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>3.6.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>3.3.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-patch-plugin</artifactId> |
| <version>1.2</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <version>3.1.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>3.4.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>flatten-maven-plugin</artifactId> |
| <version>1.5.0</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <artifactId>maven-clean-plugin</artifactId> |
| <configuration> |
| <filesets> |
| <fileset> |
| <directory>${basedir}</directory> |
| <includes> |
| <include>dependency-reduced-pom.xml</include> |
| </includes> |
| </fileset> |
| </filesets> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>regex-property</id> |
| <goals> |
| <goal>regex-property</goal> |
| </goals> |
| <configuration> |
| <name>rename.offset.dir</name> |
| <value>${rename.offset}</value> |
| <regex>\.</regex> |
| <replacement>/</replacement> |
| <failIfNoMatch>false</failIfNoMatch> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>extra-enforcer-rules</artifactId> |
| <version>1.7.0</version> |
| </dependency> |
| </dependencies> |
| <!-- version set by parent --> |
| <executions> |
| <execution> |
| <id>min-maven-min-java-banned-xerces</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <!-- The earliest maven version we verify builds for via ASF Jenkins --> |
| <requireMavenVersion> |
| <version>[${maven.min.version},)</version> |
| <message>Maven is out of date. |
| HBase requires at least version ${maven.min.version} of Maven to properly build from source. |
| You appear to be using an older version. You can use either "mvn -version" or |
| "mvn enforcer:display-info" to verify what version is active. |
| See the reference guide on building for more information: http://hbase.apache.org/book.html#build |
| </message> |
| </requireMavenVersion> |
| <!-- The earliest JVM version we verify builds for via ASF Jenkins --> |
| <requireJavaVersion> |
| <version>[${java.min.version},)</version> |
| <message>Java is out of date. |
| HBase requires at least version ${java.min.version} of the JDK to properly build from source. |
| See the reference guide on building for more information: http://hbase.apache.org/book.html#build |
| </message> |
| </requireJavaVersion> |
| <bannedDependencies> |
| <excludes> |
| <exclude>xerces:xercesImpl</exclude> |
| </excludes> |
| <message>We avoid adding our own Xerces jars to the classpath, see HBASE-16340.</message> |
| </bannedDependencies> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>flatten-maven-plugin</artifactId> |
| <configuration> |
| <embedBuildProfileDependencies>true</embedBuildProfileDependencies> |
| <updatePomFile>true</updatePomFile> |
| <flattenMode>oss</flattenMode> |
| </configuration> |
| <executions> |
| <!-- enable flattening --> |
| <execution> |
| <id>flatten</id> |
| <goals> |
| <goal>flatten</goal> |
| </goals> |
| <phase>process-resources</phase> |
| </execution> |
| <!-- ensure proper cleanup --> |
| <execution> |
| <id>flatten.clean</id> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| <phase>clean</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| <extensions> |
| <extension> |
| <groupId>kr.motd.maven</groupId> |
| <artifactId>os-maven-plugin</artifactId> |
| <version>${os.maven.version}</version> |
| </extension> |
| </extensions> |
| </build> |
| <!--These are the third-party libs we want to relocate--> |
| <profiles> |
| <!-- this profile should be activated for release builds... this one |
| and the apache-release one from the parent pom--> |
| <profile> |
| <id>release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <configuration> |
| <rules> |
| <enforceBytecodeVersion> |
| <maxJdkVersion>${compileSource}</maxJdkVersion> |
| <ignoreClasses> |
| <ignoreClass>module-info</ignoreClass> |
| <ignoreClass>**.glassfish.jersey.internal.jsr166.SubmissionPublisher*</ignoreClass> |
| <ignoreClass>**.glassfish.jersey.internal.jsr166.JerseyFlowSubscriber*</ignoreClass> |
| </ignoreClasses> |
| <ignoreOptionals>true</ignoreOptionals> |
| <ignoredScopes> |
| <ignoredScope>test</ignoredScope> |
| </ignoredScopes> |
| <message>HBase has unsupported dependencies. |
| HBase requires that all dependencies be compiled with version ${compileSource} or earlier |
| of the JDK to properly build from source. You appear to be using a newer dependency. You can use |
| either "mvn -version" or "mvn enforcer:display-info" to verify what version is active. |
| Non-release builds can temporarily build with a newer JDK version by setting the |
| 'compileSource' property (eg. mvn -DcompileSource=1.8 clean package). |
| </message> |
| </enforceBytecodeVersion> |
| </rules> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <!-- this profile should match the name of the release profile in the root asf pom --> |
| <profile> |
| <id>apache-release</id> |
| <build> |
| <plugins> |
| <!-- This should insert itself in place of the normal deploy plugin and then |
| handle either closing or dropping the staging repository for us depending |
| on if the build succeeds. |
| --> |
| <plugin> |
| <groupId>org.sonatype.plugins</groupId> |
| <artifactId>nexus-staging-maven-plugin</artifactId> |
| <version>1.6.13</version> |
| <extensions>true</extensions> |
| <configuration> |
| <nexusUrl>https://repository.apache.org/</nexusUrl> |
| <serverId>apache.releases.https</serverId> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |