| <?xml version="1.0"?> |
| <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"> |
| <!-- |
| /** |
| * 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. |
| */ |
| --> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache.hbase.operator.tools</groupId> |
| <artifactId>hbase-operator-tools</artifactId> |
| <version>${revision}</version> |
| <relativePath>..</relativePath> |
| </parent> |
| <artifactId>hbase-hbck2</artifactId> |
| <name>Apache HBase - HBCK2</name> |
| <description>HBCK for HBase 2+</description> |
| |
| <build> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>true</filtering> |
| <includes> |
| <include>**/hbck2.properties</include> |
| <include>**/log4j2.xml</include> |
| </includes> |
| </resource> |
| </resources> |
| <testResources> |
| <testResource> |
| <directory>src/test/resources/META-INF/</directory> |
| <targetPath>META-INF/</targetPath> |
| <includes> |
| <include>NOTICE</include> |
| </includes> |
| <filtering>true</filtering> |
| </testResource> |
| </testResources> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| </plugin> |
| <!-- Make a jar and put the sources in the jar --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <configuration> |
| <archive> |
| <manifest> |
| <mainClass>org.apache.hbase.HBCK2</mainClass> |
| </manifest> |
| </archive> |
| </configuration> |
| </plugin> |
| <!--Used packaging a fat jar--> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>3.2.0</version> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <artifactSet> |
| <excludes> |
| <exclude>classworlds:classworlds</exclude> |
| <exclude>junit:junit</exclude> |
| <exclude>jmock:*</exclude> |
| <exclude>*:xml-apis</exclude> |
| <exclude>org.apache.maven:lib:tests</exclude> |
| <exclude>log4j:log4j:jar:</exclude> |
| </excludes> |
| </artifactSet> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>pl.project13.maven</groupId> |
| <artifactId>git-commit-id-plugin</artifactId> |
| <version>2.2.5</version> |
| <executions> |
| <execution> |
| <id>get-the-git-infos</id> |
| <goals> |
| <goal>revision</goal> |
| </goals> |
| <!-- *NOTE*: The default phase of revision is initialize, but in case you want to change |
| it, you can do so by adding the phase here --> |
| <phase>initialize</phase> |
| </execution> |
| <execution> |
| <id>validate-the-git-infos</id> |
| <goals> |
| <goal>validateRevision</goal> |
| </goals> |
| <!-- *NOTE*: The default phase of validateRevision is verify, but in case you want to |
| change it, you can do so by adding the phase here --> |
| <phase>package</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <dotGitDirectory>${project.basedir}/.git</dotGitDirectory> |
| <commitIdGenerationMode>flat</commitIdGenerationMode> |
| <failOnNoGitDirectory>false</failOnNoGitDirectory> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <configuration> |
| <failOnViolation>true</failOnViolation> |
| </configuration> |
| </plugin> |
| <!-- Forbidden APIs plugin used here to ban usage of hbase I.A. private classes--> |
| <plugin> |
| <groupId>de.thetaphi</groupId> |
| <artifactId>forbiddenapis</artifactId> |
| <version>2.6</version> |
| <configuration> |
| <signatures>org.apache.hadoop.hbase.MetaTableAccessor</signatures> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| <goal>testCheck</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <dependencies> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <!--This is Log4j2!--> |
| <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| <version>${log4j2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-core</artifactId> |
| <version>${log4j2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| <version>${log4j2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase.thirdparty</groupId> |
| <artifactId>hbase-shaded-miscellaneous</artifactId> |
| <version>${hbase-thirdparty.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!--We want to use the shaded client but for testing, we need to rely on hbase-server. |
| HBASE-15666 is about how shaded-client and hbase-server won't work together. |
| TODO: Fix.--> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-server</artifactId> |
| <version>${hbase.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-server</artifactId> |
| <version>${hbase.version}</version> |
| <scope>provided</scope> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-zookeeper</artifactId> |
| <version>${hbase.version}</version> |
| <scope>provided</scope> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-common</artifactId> |
| <version>${hbase.version}</version> |
| <scope>provided</scope> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-testing-util</artifactId> |
| <version>${hbase.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>2.1.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.github.stephenc.findbugs</groupId> |
| <artifactId>findbugs-annotations</artifactId> |
| <version>${findbugs-annotations.version}</version> |
| <scope>compile</scope> |
| </dependency> |
| </dependencies> |
| |
| <profiles> |
| <!-- Needs to make the profile in apache parent pom --> |
| <profile> |
| <id>apache-release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>license-javadocs</id> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.build.directory}/apidocs</outputDirectory> |
| <resources> |
| <resource> |
| <directory>src/main/javadoc/META-INF/</directory> |
| <targetPath>META-INF/</targetPath> |
| <includes> |
| <include>NOTICE</include> |
| </includes> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |