| <?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>18</version> |
| <relativePath/> |
| <!-- no parent resolution --> |
| </parent> |
| <groupId>org.apache.hbase.operator.tools</groupId> |
| <artifactId>hbase-operator-tools</artifactId> |
| <version>1.0.0-SNAPSHOT</version> |
| <name>Apache HBase Operator Tools</name> |
| <packaging>pom</packaging> |
| <description> |
| Operator Tools for Apache HBase. |
| </description> |
| <url>http://hbase.apache.org</url> |
| <inceptionYear>2018</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-hbck2</module> |
| <!--Add an assembly module because of http://maven.apache.org/plugins/maven-assembly-plugin/faq.html#module-binaries |
| --> |
| <module>hbase-operator-tools-assembly</module> |
| </modules> |
| <scm> |
| <connection>scm:git:git://gitbox.apache.org/repos/asf/hbase-operator-tools.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/hbase-operator-tools.git</developerConnection> |
| <url>https://gitbox.apache.org/repos/asf?p=hbase-operator-tools.git;a=summary</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> |
| <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> |
| <hbase.version>2.1.6</hbase.version> |
| <maven.compiler.version>3.6.1</maven.compiler.version> |
| <surefire.version>2.21.0</surefire.version> |
| <surefire.provider>surefire-junit47</surefire.provider> |
| <test.output.tofile>true</test.output.tofile> |
| <checkstyle.version>8.11</checkstyle.version> |
| <maven.checkstyle.version>3.0.0</maven.checkstyle.version> |
| <hbase.checkstyle.version>2.2.0</hbase.checkstyle.version> |
| <commons-lang3.version>3.9</commons-lang3.version> |
| <enforcer.version>3.0.0-M2</enforcer.version> |
| <extra.enforcer.version>1.0-beta-9</extra.enforcer.version> |
| </properties> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-zookeeper</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>${commons-lang3.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase.operator.tools</groupId> |
| <artifactId>hbase-hbck2</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <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> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven.compiler.version}</version> |
| <configuration> |
| <source>${compileSource}</source> |
| <target>${compileSource}</target> |
| <showWarnings>true</showWarnings> |
| <showDeprecation>false</showDeprecation> |
| <useIncrementalCompilation>false</useIncrementalCompilation> |
| <compilerArgument>-Xlint:-options</compilerArgument> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>1.9.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${surefire.version}</version> |
| <dependencies> |
| <!-- by default surefire selects dynamically the connector to the unit tests |
| tool. We want to use always the same as the different connectors can have different |
| bugs and behaviour. --> |
| <dependency> |
| <groupId>org.apache.maven.surefire</groupId> |
| <artifactId>${surefire.provider}</artifactId> |
| <version>${surefire.version}</version> |
| </dependency> |
| </dependencies> |
| <!-- Generic testing configuration for all packages --> |
| <configuration> |
| <failIfNoTests>false</failIfNoTests> |
| <reuseForks>false</reuseForks> |
| <testFailureIgnore>${surefire.testFailureIgnore}</testFailureIgnore> |
| <forkedProcessTimeoutInSeconds>${surefire.timeout}</forkedProcessTimeoutInSeconds> |
| <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile> |
| <systemPropertyVariables> |
| <test.build.classes>${test.build.classes}</test.build.classes> |
| </systemPropertyVariables> |
| <excludes> |
| <!-- users can add -D option to skip particular test classes |
| ex: mvn test -Dtest.exclude.pattern=**/TestFoo.java,**/TestBar.java |
| --> |
| <exclude>${test.exclude.pattern}</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-report-plugin</artifactId> |
| <version>${surefire.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <configuration> |
| <filesets> |
| <fileset> |
| <!--dfs tests have build dir hardcoded. Clean it as part of |
| clean target--> |
| <directory>build</directory> |
| </fileset> |
| </filesets> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <version>0.11</version> |
| <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> |
| <!-- exclude source control files --> |
| <exclude>.git/**</exclude> |
| <exclude>**/.settings/**</exclude> |
| <exclude>**/patchprocess/**</exclude> |
| <exclude>**/dependency-reduced-pom.xml</exclude> |
| <exclude>**/rat.txt</exclude> |
| <exclude>**/README.txt</exclude> |
| <exclude>**/vote.tmpl</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <version>1.4</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> |
| <!-- Approach followed here is roughly the same as mentioned here: |
| https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html |
| --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${maven.checkstyle.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-checkstyle</artifactId> |
| <version>${hbase.checkstyle.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>${checkstyle.version}</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <configLocation>hbase/checkstyle.xml</configLocation> |
| <suppressionsLocation>build-support/checkstyle-suppressions.xml</suppressionsLocation> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| </configuration> |
| </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.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>1.4</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>extra-enforcer-rules</artifactId> |
| <version>1.0-beta-6</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.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <configuration> |
| <!--Defer to the hbase-assembly sub-module. It does all assembly. |
| We have dedicated assembly module because of |
| http://maven.apache.org/plugins/maven-assembly-plugin/faq.html#module-binaries |
| --> |
| <skipAssembly>true</skipAssembly> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <!-- this profile should be activated for release builds --> |
| <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> |
| <version>${enforcer.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>extra-enforcer-rules</artifactId> |
| <version>${extra.enforcer.version}</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <rules> |
| <enforceBytecodeVersion> |
| <maxJdkVersion>${compileSource}</maxJdkVersion> |
| <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> |
| <ignoreClasses> |
| <ignoreClass>module-info</ignoreClass> |
| </ignoreClasses> |
| </enforceBytecodeVersion> |
| </rules> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |