joshelser commented on a change in pull request #44: URL: https://github.com/apache/phoenix-connectors/pull/44#discussion_r540396241
########## File path: phoenix-connectors-base/pom.xml ########## @@ -0,0 +1,942 @@ +<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>org.apache.phoenix</groupId> +<artifactId>phoenix-connectors-base</artifactId> +<version>6.0.0-SNAPSHOT</version> +<packaging>pom</packaging> +<name>Apache Phoenix Connectors - Base</name> +<description>Connectors for third party libraries to access data stored in Phoenix/HBase</description> + +<licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + <distribution>repo</distribution> + <comments/> + </license> +</licenses> + +<organization> + <name>Apache Software Foundation</name> + <url>http://www.apache.org</url> +</organization> + +<repositories> + <repository> + <id>apache release</id> + <url>https://repository.apache.org/content/repositories/releases/</url> + </repository> +</repositories> Review comment: Can drop this as it's in the parent ########## File path: phoenix-connectors-base/pom.xml ########## @@ -0,0 +1,942 @@ +<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>org.apache.phoenix</groupId> +<artifactId>phoenix-connectors-base</artifactId> +<version>6.0.0-SNAPSHOT</version> +<packaging>pom</packaging> +<name>Apache Phoenix Connectors - Base</name> +<description>Connectors for third party libraries to access data stored in Phoenix/HBase</description> + +<licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + <distribution>repo</distribution> + <comments/> + </license> +</licenses> + +<organization> + <name>Apache Software Foundation</name> + <url>http://www.apache.org</url> +</organization> + +<repositories> + <repository> + <id>apache release</id> + <url>https://repository.apache.org/content/repositories/releases/</url> + </repository> +</repositories> + +<parent> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-connectors</artifactId> + <version>6.0.0-SNAPSHOT</version> +</parent> + +<scm> + <connection>scm:git:https://gitbox.apache.org/repos/asf/phoenix-connectors.git</connection> + <url>https://gitbox.apache.org/repos/asf/phoenix-connectors.git</url> + <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/phoenix-connectors.git</developerConnection> +</scm> Review comment: Can drop this as it's in the parent ########## File path: phoenix-connectors-base/pom.xml ########## @@ -0,0 +1,942 @@ +<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>org.apache.phoenix</groupId> +<artifactId>phoenix-connectors-base</artifactId> +<version>6.0.0-SNAPSHOT</version> +<packaging>pom</packaging> +<name>Apache Phoenix Connectors - Base</name> +<description>Connectors for third party libraries to access data stored in Phoenix/HBase</description> + +<licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + <distribution>repo</distribution> + <comments/> + </license> +</licenses> + +<organization> + <name>Apache Software Foundation</name> + <url>http://www.apache.org</url> +</organization> + +<repositories> + <repository> + <id>apache release</id> + <url>https://repository.apache.org/content/repositories/releases/</url> + </repository> +</repositories> + +<parent> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-connectors</artifactId> + <version>6.0.0-SNAPSHOT</version> +</parent> + +<scm> + <connection>scm:git:https://gitbox.apache.org/repos/asf/phoenix-connectors.git</connection> + <url>https://gitbox.apache.org/repos/asf/phoenix-connectors.git</url> + <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/phoenix-connectors.git</developerConnection> +</scm> + +<modules> + <!-- Changing the module order here may cause maven to get stuck in an infinite loop --> + <module>phoenix-hive-base</module> + <module>phoenix-flume-base</module> + <module>phoenix-pig-base</module> + <module>phoenix-kafka-base</module> + <module>phoenix-spark-base</module> + <module>phoenix4-connectors-assembly</module> + <module>phoenix5-connectors-assembly</module> +</modules> + +<properties> + <!-- Phoenix Version --> + <phoenix-four.version>4.15.0-HBase-1.4</phoenix-four.version> + <phoenix-five.version>5.1.0-SNAPSHOT</phoenix-five.version> + <phoenix.thirdparty.version>1.0.0</phoenix.thirdparty.version> + <!-- Hadoop Versions --> + <hbase-one.version>1.4.0</hbase-one.version> + <hbase-two.version>2.1.10</hbase-two.version> + <hbase-thirdparty-version>2.2.1</hbase-thirdparty-version> + <hadoop-two.version>2.7.5</hadoop-two.version> + <hadoop-three.version>3.0.3</hadoop-three.version> + + <phoenix.version>${phoenix-four.version}</phoenix.version> + <hbase.version>${hbase-one.version}</hbase.version> + <hadoop.version>${hadoop-two.version}</hadoop.version> + + <!-- General Properties --> + <test.output.tofile>true</test.output.tofile> + <top.dir>${project.basedir}</top.dir> + + <jdk.version>1.7</jdk.version> + + <!-- Dependency versions --> + <hive3.version>3.1.2</hive3.version> + <hive2.version>2.3.7</hive2.version> + <hive.version>${hive3.version}</hive.version> + <hive2-storage.version>2.4.0</hive2-storage.version> + <hive3-storage.version>2.7.0</hive3-storage.version> + <hive-storage.version>${hive3-storage.version}</hive-storage.version> + <pig.version>0.13.0</pig.version> + <flume.version>1.4.0</flume.version> + <kafka.version>0.9.0.0</kafka.version> + <spark.version>2.4.0</spark.version> + <scala.version>2.11.8</scala.version> + <scala.binary.version>2.11</scala.binary.version> + <tez.version>0.9.1</tez.version> + + <log4j.version>1.2.17</log4j.version> + <log4j2.version>2.10.0</log4j2.version> + <disruptor.version>3.3.6</disruptor.version> + <slf4j.version>1.7.30</slf4j.version> + <commons-collections.version>3.2.2</commons-collections.version> + <commons-csv.version>1.0</commons-csv.version> + <findbugs-annotations.version>1.3.9-1</findbugs-annotations.version> + <mockito-all.version>1.8.5</mockito-all.version> + <junit.version>4.13</junit.version> + <jodatime.version>2.10.5</jodatime.version> + <commons-cli.version>1.4</commons-cli.version> + <commons-compress.version>1.9</commons-compress.version> + <!-- For Kafka --> + <com-101tek-zkclient.version>0.7</com-101tek-zkclient.version> + <!-- For hive --> + <commons-io.version>2.4</commons-io.version> + <zookeeper.version>3.4.12</zookeeper.version> + + <!-- Plugin versions --> + <maven-assembly-plugin-version>3.1.1</maven-assembly-plugin-version> + <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version> + <maven-failsafe-plugin.version>2.22.2</maven-failsafe-plugin.version> + <maven-project-info-reports-plugin.version>3.1.1</maven-project-info-reports-plugin.version> + <maven-checkstyle-plugin.version>3.1.0</maven-checkstyle-plugin.version> + <maven-build-helper-plugin.version>3.2.0</maven-build-helper-plugin.version> + + <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version> + <spotbugs-maven-plugin.version>4.1.3</spotbugs-maven-plugin.version> + <spotbugs.version>4.1.3</spotbugs.version> + + <!-- Plugin options --> + <numForkedUT>8</numForkedUT> + <numForkedIT>7</numForkedIT> + <it.failIfNoSpecifiedTests>false</it.failIfNoSpecifiedTests> + <surefire.failIfNoSpecifiedTests>false</surefire.failIfNoSpecifiedTests> + <skip-phoenix5>false</skip-phoenix5> + <skip-phoenix4>false</skip-phoenix4> + + <!-- Set default encoding so multi-byte tests work correctly on the Mac --> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + + <shaded.package>org.apache.phoenix.shaded</shaded.package> + <phoenix.main.version>4</phoenix.main.version> + </properties> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>${exec-maven-plugin.version}</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-toolchains-plugin</artifactId> + <version>${maven-toolchains-plugin.version}</version> + <executions> + <execution> + <goals> + <goal>toolchain</goal> + </goals> + </execution> + </executions> + <configuration> + <toolchains> + <jdk> + <version>${jdk.version}</version> + </jdk> + </toolchains> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-project-info-reports-plugin</artifactId> + <version>${maven-project-info-reports-plugin.version}</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>${jdk.version}</source> + <target>${jdk.version}</target> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <version>${maven-assembly-plugin-version}</version> + </plugin> + <!--This plugin's configuration is used to store Eclipse m2e settings + only. It has no influence on the Maven build itself. --> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId>org.antlr</groupId> + <artifactId>antlr3-maven-plugin</artifactId> + <versionRange>[3.5,)</versionRange> + <goals> + <goal>antlr</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore /> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>${maven-checkstyle-plugin.version}</version> + </plugin> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + <!-- Avoid defining exclusions in pluginManagement as they are global. + We already inherit some from the ASF parent pom. --> + </plugin> + <plugin> + <groupId>com.github.spotbugs</groupId> + <artifactId>spotbugs-maven-plugin</artifactId> + <version>${spotbugs-maven-plugin.version}</version> + <dependencies> + <dependency> + <groupId>com.github.spotbugs</groupId> + <artifactId>spotbugs</artifactId> + <version>${spotbugs.version}</version> + </dependency> + </dependencies> + <configuration> + <effort>Max</effort> + <maxHeap>2048</maxHeap> + </configuration> + </plugin> + <!-- We put slow-running tests into src/it and run them during the + integration-test phase using the failsafe plugin. This way + developers can run unit tests conveniently from the IDE or via + "mvn package" from the command line without triggering time + consuming integration tests. --> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>${maven-build-helper-plugin.version}</version> + <executions> + <execution> + <id>add-test-source</id> + <phase>validate</phase> + <goals> + <goal>add-test-source</goal> + </goals> + <configuration> + <sources> + <source>${basedir}/src/it/java</source> + </sources> + </configuration> + </execution> + <execution> + <id>add-test-resource</id> + <phase>validate</phase> + <goals> + <goal>add-test-resource</goal> + </goals> + <configuration> + <resources> + <resource> + <directory>${basedir}/src/it/resources</directory> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <version>${maven-failsafe-plugin.version}</version> + <!-- Common settings for all executions --> + <configuration> + <encoding>UTF-8</encoding> + <forkCount>${numForkedIT}</forkCount> + <runOrder>alphabetical</runOrder> + <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile> + <shutdown>kill</shutdown> + <testSourceDirectory>${basedir}/src/it/java</testSourceDirectory> + <trimStackTrace>false</trimStackTrace> + </configuration> + <executions> + <execution> + <id>ParallelStatsDisabledTest</id> + <configuration> + <reuseForks>true</reuseForks> + <argLine>-Xmx3000m -XX:MaxPermSize=256m -Djava.security.egd=file:/dev/./urandom "-Djava.library.path=${hadoop.library.path}${path.separator}${java.library.path}" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./target/</argLine> + <groups>org.apache.phoenix.end2end.ParallelStatsDisabledTest</groups> + </configuration> + <goals> + <goal>integration-test</goal> + <goal>verify</goal> + </goals> + </execution> + <execution> + <id>HBaseManagedTimeTests</id> + <configuration> + <reuseForks>true</reuseForks> + <argLine>-enableassertions -Xmx3000m -XX:MaxPermSize=256m -Djava.security.egd=file:/dev/./urandom "-Djava.library.path=${hadoop.library.path}${path.separator}${java.library.path}" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./target/</argLine> + <groups>org.apache.phoenix.end2end.HBaseManagedTimeTest</groups> + </configuration> + <goals> + <goal>integration-test</goal> + <goal>verify</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <source>8</source> + <quiet>true</quiet> + </configuration> + </plugin> + <plugin> + <!-- Allows us to get the apache-ds bundle artifacts --> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <version>2.5.3</version> + </plugin> + </plugins> + </pluginManagement> + + <plugins> Review comment: I think we want most of these to be defined at the parent so they get inherited by all sub modules. Maybe surefire can stay here, since the other compat modules don't have tests? ########## File path: phoenix-connectors-base/pom.xml ########## @@ -0,0 +1,942 @@ +<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>org.apache.phoenix</groupId> +<artifactId>phoenix-connectors-base</artifactId> +<version>6.0.0-SNAPSHOT</version> +<packaging>pom</packaging> +<name>Apache Phoenix Connectors - Base</name> +<description>Connectors for third party libraries to access data stored in Phoenix/HBase</description> + +<licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + <distribution>repo</distribution> + <comments/> + </license> +</licenses> + +<organization> + <name>Apache Software Foundation</name> + <url>http://www.apache.org</url> +</organization> + +<repositories> + <repository> + <id>apache release</id> + <url>https://repository.apache.org/content/repositories/releases/</url> + </repository> +</repositories> + +<parent> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-connectors</artifactId> + <version>6.0.0-SNAPSHOT</version> +</parent> + +<scm> + <connection>scm:git:https://gitbox.apache.org/repos/asf/phoenix-connectors.git</connection> + <url>https://gitbox.apache.org/repos/asf/phoenix-connectors.git</url> + <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/phoenix-connectors.git</developerConnection> +</scm> + +<modules> + <!-- Changing the module order here may cause maven to get stuck in an infinite loop --> + <module>phoenix-hive-base</module> + <module>phoenix-flume-base</module> + <module>phoenix-pig-base</module> + <module>phoenix-kafka-base</module> + <module>phoenix-spark-base</module> + <module>phoenix4-connectors-assembly</module> + <module>phoenix5-connectors-assembly</module> +</modules> + +<properties> + <!-- Phoenix Version --> + <phoenix-four.version>4.15.0-HBase-1.4</phoenix-four.version> + <phoenix-five.version>5.1.0-SNAPSHOT</phoenix-five.version> + <phoenix.thirdparty.version>1.0.0</phoenix.thirdparty.version> + <!-- Hadoop Versions --> + <hbase-one.version>1.4.0</hbase-one.version> + <hbase-two.version>2.1.10</hbase-two.version> + <hbase-thirdparty-version>2.2.1</hbase-thirdparty-version> + <hadoop-two.version>2.7.5</hadoop-two.version> + <hadoop-three.version>3.0.3</hadoop-three.version> + + <phoenix.version>${phoenix-four.version}</phoenix.version> + <hbase.version>${hbase-one.version}</hbase.version> + <hadoop.version>${hadoop-two.version}</hadoop.version> + + <!-- General Properties --> + <test.output.tofile>true</test.output.tofile> + <top.dir>${project.basedir}</top.dir> + + <jdk.version>1.7</jdk.version> + + <!-- Dependency versions --> + <hive3.version>3.1.2</hive3.version> + <hive2.version>2.3.7</hive2.version> + <hive.version>${hive3.version}</hive.version> + <hive2-storage.version>2.4.0</hive2-storage.version> + <hive3-storage.version>2.7.0</hive3-storage.version> + <hive-storage.version>${hive3-storage.version}</hive-storage.version> + <pig.version>0.13.0</pig.version> + <flume.version>1.4.0</flume.version> + <kafka.version>0.9.0.0</kafka.version> + <spark.version>2.4.0</spark.version> + <scala.version>2.11.8</scala.version> + <scala.binary.version>2.11</scala.binary.version> + <tez.version>0.9.1</tez.version> + + <log4j.version>1.2.17</log4j.version> + <log4j2.version>2.10.0</log4j2.version> + <disruptor.version>3.3.6</disruptor.version> + <slf4j.version>1.7.30</slf4j.version> + <commons-collections.version>3.2.2</commons-collections.version> + <commons-csv.version>1.0</commons-csv.version> + <findbugs-annotations.version>1.3.9-1</findbugs-annotations.version> + <mockito-all.version>1.8.5</mockito-all.version> + <junit.version>4.13</junit.version> + <jodatime.version>2.10.5</jodatime.version> + <commons-cli.version>1.4</commons-cli.version> + <commons-compress.version>1.9</commons-compress.version> + <!-- For Kafka --> + <com-101tek-zkclient.version>0.7</com-101tek-zkclient.version> + <!-- For hive --> + <commons-io.version>2.4</commons-io.version> + <zookeeper.version>3.4.12</zookeeper.version> + + <!-- Plugin versions --> + <maven-assembly-plugin-version>3.1.1</maven-assembly-plugin-version> + <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version> + <maven-failsafe-plugin.version>2.22.2</maven-failsafe-plugin.version> + <maven-project-info-reports-plugin.version>3.1.1</maven-project-info-reports-plugin.version> + <maven-checkstyle-plugin.version>3.1.0</maven-checkstyle-plugin.version> + <maven-build-helper-plugin.version>3.2.0</maven-build-helper-plugin.version> + + <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version> + <spotbugs-maven-plugin.version>4.1.3</spotbugs-maven-plugin.version> + <spotbugs.version>4.1.3</spotbugs.version> + + <!-- Plugin options --> + <numForkedUT>8</numForkedUT> + <numForkedIT>7</numForkedIT> + <it.failIfNoSpecifiedTests>false</it.failIfNoSpecifiedTests> + <surefire.failIfNoSpecifiedTests>false</surefire.failIfNoSpecifiedTests> + <skip-phoenix5>false</skip-phoenix5> + <skip-phoenix4>false</skip-phoenix4> + + <!-- Set default encoding so multi-byte tests work correctly on the Mac --> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + + <shaded.package>org.apache.phoenix.shaded</shaded.package> + <phoenix.main.version>4</phoenix.main.version> + </properties> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>${exec-maven-plugin.version}</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-toolchains-plugin</artifactId> + <version>${maven-toolchains-plugin.version}</version> + <executions> + <execution> + <goals> + <goal>toolchain</goal> + </goals> + </execution> + </executions> + <configuration> + <toolchains> + <jdk> + <version>${jdk.version}</version> + </jdk> + </toolchains> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-project-info-reports-plugin</artifactId> + <version>${maven-project-info-reports-plugin.version}</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>${jdk.version}</source> + <target>${jdk.version}</target> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <version>${maven-assembly-plugin-version}</version> + </plugin> + <!--This plugin's configuration is used to store Eclipse m2e settings + only. It has no influence on the Maven build itself. --> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId>org.antlr</groupId> + <artifactId>antlr3-maven-plugin</artifactId> + <versionRange>[3.5,)</versionRange> + <goals> + <goal>antlr</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore /> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>${maven-checkstyle-plugin.version}</version> + </plugin> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + <!-- Avoid defining exclusions in pluginManagement as they are global. + We already inherit some from the ASF parent pom. --> + </plugin> + <plugin> + <groupId>com.github.spotbugs</groupId> + <artifactId>spotbugs-maven-plugin</artifactId> + <version>${spotbugs-maven-plugin.version}</version> + <dependencies> + <dependency> + <groupId>com.github.spotbugs</groupId> + <artifactId>spotbugs</artifactId> + <version>${spotbugs.version}</version> + </dependency> + </dependencies> + <configuration> + <effort>Max</effort> + <maxHeap>2048</maxHeap> + </configuration> + </plugin> + <!-- We put slow-running tests into src/it and run them during the + integration-test phase using the failsafe plugin. This way + developers can run unit tests conveniently from the IDE or via + "mvn package" from the command line without triggering time + consuming integration tests. --> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>${maven-build-helper-plugin.version}</version> + <executions> + <execution> + <id>add-test-source</id> + <phase>validate</phase> + <goals> + <goal>add-test-source</goal> + </goals> + <configuration> + <sources> + <source>${basedir}/src/it/java</source> + </sources> + </configuration> + </execution> + <execution> + <id>add-test-resource</id> + <phase>validate</phase> + <goals> + <goal>add-test-resource</goal> + </goals> + <configuration> + <resources> + <resource> + <directory>${basedir}/src/it/resources</directory> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <version>${maven-failsafe-plugin.version}</version> + <!-- Common settings for all executions --> + <configuration> + <encoding>UTF-8</encoding> + <forkCount>${numForkedIT}</forkCount> + <runOrder>alphabetical</runOrder> + <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile> + <shutdown>kill</shutdown> + <testSourceDirectory>${basedir}/src/it/java</testSourceDirectory> + <trimStackTrace>false</trimStackTrace> + </configuration> + <executions> + <execution> + <id>ParallelStatsDisabledTest</id> + <configuration> + <reuseForks>true</reuseForks> + <argLine>-Xmx3000m -XX:MaxPermSize=256m -Djava.security.egd=file:/dev/./urandom "-Djava.library.path=${hadoop.library.path}${path.separator}${java.library.path}" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./target/</argLine> + <groups>org.apache.phoenix.end2end.ParallelStatsDisabledTest</groups> + </configuration> + <goals> + <goal>integration-test</goal> + <goal>verify</goal> + </goals> + </execution> + <execution> + <id>HBaseManagedTimeTests</id> + <configuration> + <reuseForks>true</reuseForks> + <argLine>-enableassertions -Xmx3000m -XX:MaxPermSize=256m -Djava.security.egd=file:/dev/./urandom "-Djava.library.path=${hadoop.library.path}${path.separator}${java.library.path}" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./target/</argLine> + <groups>org.apache.phoenix.end2end.HBaseManagedTimeTest</groups> + </configuration> + <goals> + <goal>integration-test</goal> + <goal>verify</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <source>8</source> + <quiet>true</quiet> + </configuration> + </plugin> + <plugin> + <!-- Allows us to get the apache-ds bundle artifacts --> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <version>2.5.3</version> + </plugin> + </plugins> + </pluginManagement> + + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <executions> + <execution> + <id>validate</id> + <phase>validate</phase> + <configuration> + <skip>true</skip> + <configLocation>${top.dir}/src/main/config/checkstyle/checker.xml</configLocation> + <suppressionsLocation>${top.dir}/src/main/config/checkstyle/suppressions.xml</suppressionsLocation> + <consoleOutput>true</consoleOutput> + <headerLocation>${top.dir}/src/main/config/checkstyle/header.txt</headerLocation> + <failOnViolation><!--true-->false</failOnViolation> + <includeTestSourceDirectory><!--true-->false</includeTestSourceDirectory> + </configuration> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-source-plugin</artifactId> + <executions> + <execution> + <id>attach-sources</id> + <phase>prepare-package</phase> + <goals> + <goal>jar-no-fork</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <executions> + <execution> + <id>attach-javadocs</id> + <goals> + <goal>jar</goal> + </goals> + <configuration> + <additionalparam>${javadoc.opts}</additionalparam> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <forkCount>${numForkedUT}</forkCount> + <reuseForks>true</reuseForks> + <argLine>-enableassertions -Xmx2250m -XX:MaxPermSize=128m + -Djava.security.egd=file:/dev/./urandom "-Djava.library.path=${hadoop.library.path}${path.separator}${java.library.path}" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./target/</argLine> + <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile> + <shutdown>kill</shutdown> + <trimStackTrace>false</trimStackTrace> + </configuration> + </plugin> + <!-- All projects create a test jar --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <phase>prepare-package + </phase> + <goals> + <goal>test-jar</goal> + </goals> + <configuration> + <skipIfEmpty>true</skipIfEmpty> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + <configuration> + <excludes> + <!-- Header on changelog isn't normal --> + <exclude>CHANGES</exclude> + <!-- IDE configuration --> + <exclude>dev/phoenix.importorder</exclude> + <!-- Release L&N --> + <exclude>dev/release_files/LICENSE</exclude> + <exclude>dev/release_files/NOTICE</exclude> + <!-- Exclude data files for examples --> + <exclude>docs/*.csv</exclude> + <!-- Data files --> + <exclude>examples/pig/testdata</exclude> + <!-- precommit? --> + <exclude>**/patchprocess/**</exclude> + <exclude>**/derby.log</exclude> + <exclude>**/target/*</exclude> + </excludes> + </configuration> + </plugin> + <plugin> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>enforce-dependencies</id> + <goals> + <goal>analyze-only</goal> + </goals> + <configuration> + <failOnWarning>true</failOnWarning> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <dependencyManagement> + <dependencies> + <!-- Intra-project dependencies --> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-core</artifactId> + <version>${phoenix.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-core</artifactId> + <version>${phoenix.version}</version> + <classifier>tests</classifier> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.phoenix.thirdparty</groupId> + <artifactId>phoenix-shaded-guava</artifactId> + <version>${phoenix.thirdparty.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix4-flume</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix4-kafka</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix4-pig</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix4-spark</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix4-hive</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix5-flume</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix5-kafka</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix5-pig</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix5-spark</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix5-hive</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-connectors-phoenix4-compat</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-connectors-phoenix5-compat</artifactId> + <version>${project.version}</version> + </dependency> + + <!-- HBase dependencies --> + + <!-- These are only needed so that we can set them provided and exclude from the shaded jars --> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-protocol-shaded</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-metrics-api</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-metrics</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-endpoint</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-mapreduce</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-zookeeper</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase.thirdparty</groupId> + <artifactId>hbase-shaded-miscellaneous</artifactId> + <version>${hbase-thirdparty-version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase.thirdparty</groupId> + <artifactId>hbase-shaded-protobuf</artifactId> + <version>${hbase-thirdparty-version}</version> + </dependency> + <!-- End of exclusion-only dependencies --> + + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-annotations</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-testing-util</artifactId> + <version>${hbase.version}</version> + <scope>test</scope> + <optional>true</optional> + <exclusions> + <exclusion> + <groupId>org.jruby</groupId> + <artifactId>jruby-complete</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-hdfs</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-it</artifactId> + <version>${hbase.version}</version> + <type>test-jar</type> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>org.jruby</groupId> + <artifactId>jruby-complete</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-protocol</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-common</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-common</artifactId> + <version>${hbase.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-client</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-client</artifactId> + <version>${hbase.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-server</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-server</artifactId> + <version>${hbase.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-hadoop-compat</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-hadoop-compat</artifactId> + <version>${hbase.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-hadoop2-compat</artifactId> + <version>${hbase.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-hadoop2-compat</artifactId> + <version>${hbase.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + + <!-- Hadoop Dependencies --> + + <!-- Start for exclusion only --> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-yarn-api</artifactId> + <version>${hadoop.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-hdfs-client</artifactId> + <version>${hadoop.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-distcp</artifactId> + <version>${hadoop.version}</version> + </dependency> + <!-- End for exclusion only --> + + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-common</artifactId> + <version>${hadoop.version}</version> + <exclusions> + <exclusion> + <groupId>org.xerial.snappy</groupId> + <artifactId>snappy-java</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-annotations</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-minicluster</artifactId> + <version>${hadoop.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-minicluster</artifactId> + <version>${hadoop.version}</version> + <scope>test</scope> + </dependency> + + <!-- Required for mini-cluster since hbase built against old version of hadoop --> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-auth</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-jobclient</artifactId> + <version>${hadoop.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + <version>${hadoop.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-hdfs</artifactId> + <version>${hadoop.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-hdfs</artifactId> + <version>${hadoop.version}</version> + <type>test-jar</type> <!-- this does not work which is typical for maven.--> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-minikdc</artifactId> + <version>${hadoop.version}</version> + </dependency> + + <!-- General Dependencies --> + <dependency> + <groupId>org.apache.zookeeper</groupId> + <artifactId>zookeeper</artifactId> + <version>${zookeeper.version}</version> + </dependency> + <dependency> + <groupId>org.apache.zookeeper</groupId> + <artifactId>zookeeper-jute</artifactId> + <version>${zookeeper.version}</version> + </dependency> + <dependency> + <groupId>com.google.protobuf</groupId> + <artifactId>protobuf-java</artifactId> + <version>2.5.0</version> + </dependency> + + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>${slf4j.version}</version> + </dependency> + <dependency> + <!-- for exclusion --> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <version>${slf4j.version}</version> + </dependency> + <dependency> + <groupId>org.apache.pig</groupId> + <artifactId>pig</artifactId> + <version>${pig.version}</version> + <classifier>h2</classifier> + <exclusions> + <exclusion> + <groupId>org.xerial.snappy</groupId> + <artifactId>snappy-java</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.flume</groupId> + <artifactId>flume-ng-core</artifactId> + <version>${flume.version}</version> + <exclusions> + <exclusion> + <groupId>org.xerial.snappy</groupId> + <artifactId>snappy-java</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.flume</groupId> + <artifactId>flume-ng-sdk</artifactId> + <version>${flume.version}</version> + <exclusions> + <exclusion> + <groupId>org.xerial.snappy</groupId> + <artifactId>snappy-java</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.flume</groupId> + <artifactId>flume-ng-configuration</artifactId> + <version>${flume.version}</version> + <exclusions> + <exclusion> + <groupId>org.xerial.snappy</groupId> + <artifactId>snappy-java</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>${junit.version}</version> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-all</artifactId> + <version>${mockito-all.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.lmax</groupId> + <artifactId>disruptor</artifactId> + <version>${disruptor.version}</version> + </dependency> + </dependencies> + </dependencyManagement> + + <profiles> + <!-- disable doclint with 1.8+ JDKs--> + <profile> + <id>java8-doclint-disabled</id> + <activation> + <jdk>[1.8,)</jdk> + </activation> + <properties> + <javadoc.opts>-Xdoclint:none</javadoc.opts> + </properties> + </profile> + <!-- 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> + </plugins> + </build> + </profile> + <profile> + <id>spark16</id> + <properties> + <spark.version>1.6.1</spark.version> + <scala.version>2.10.4</scala.version> + <scala.binary.version>2.10</scala.binary.version> + </properties> + </profile> + <profile> + <id>spotbugs-site</id> + <activation> + <property> + <name>!spotbugs.site</name> + </property> + </activation> + <build> + <plugins> + <plugin> + <groupId>com.github.spotbugs</groupId> + <artifactId>spotbugs-maven-plugin</artifactId> + <configuration> + <spotbugsXmlOutput>true</spotbugsXmlOutput> + <xmlOutput>true</xmlOutput> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> + + <reporting> + <plugins> + <plugin> + <groupId>com.github.spotbugs</groupId> + <artifactId>spotbugs-maven-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + </plugin> + </plugins> + </reporting> Review comment: if maven-site-plugin moves to parent pom, these should also move back there. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
