HBase.
HBase is the <a href="http://hadoop.apache.org"&rt;Hadoop</a&rt; database. Use it when you need random, realtime read/write access to your Big Data. This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardwar....
Here is the list of declaration for hbase. If you use Maven you can use the following code to add the dependency for this POM file.
<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase</artifactId> <version>0.94.12</version> </dependency>
If you think this Maven repository POM file listing for hbase is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Apache License.
The hbase-0.94.12 has 39 dependencies.The most popular ones are listed in the following table along with their categories and number of artifacts depending on them.
Category | Artifact | Depended By Count |
---|---|---|
Development | guava 11.0.2 Guava is a suite of core and expanded libraries that include utility classes, google's collections, io classes, and much much more. This project is a complete packaging of all the Guava libraries into a single jar. Individual portions of Guava can be used by downloading the ap... | 158 |
Console | commons-cli 1.2 Commons CLI provides a simple API for presenting, processing and validating a command line interface. | 305 |
Data Structure | commons-configuration 1.6 Tools to assist in the reading of configuration/preferences files in various formats | 156 |
Data Structure | commons-codec 1.4 The codec package contains simple encoder and decoders for various formats such as Base64 and Hexadecimal. In addition to these widely used encoders and decoders, the codec package also maintains a collection of phonetic encoding utilities. | 248 |
Http | commons-httpclient 3.1 The HttpClient component supports the client-side of RFC 1945 (HTTP/1.0) and RFC 2616 (HTTP/1.1) , several related specifications (RFC 2109 (Cookies) , RFC 2617 (HTTP Authentication) , etc.), and provides a framework by which new request types (methods) or HTTP extensions can be created easily. | 430 |
File | commons-io 2.1 The Commons IO library contains utility classes, stream implementations, file filters, file comparators and endian classes. | 128 |
Data Structure | commons-lang 2.5 Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang. | 208 |
Log | commons-logging 1.1.1 Commons Logging is a thin adapter allowing configurable bridging to other, well known logging systems. | 1143 |
Log | log4j 1.2.16 Apache Log4j 1.2 | 683 |
Data | avro 1.5.3 Avro core components | 20 |
Data | avro-ipc 1.5.3 Avro inter-process communication components | 18 |
JEE | libthrift 0.8.0 Thrift is a software framework for scalable cross-language services development. | 23 |
Jetty | jetty 6.1.26 Jetty server core | 111 |
Jetty | jetty-util 6.1.26 Utility classes for Jetty | 82 |
JSP | jsp-2.1 6.1.14 JSP2.1 Jasper implementation from Glassfish | 49 |
JSP | jsp-api-2.1 6.1.14 JSP2.1 API | 48 |
Servlet | servlet-api-2.5 6.1.14 Servlet Specification 2.5 API | 37 |
JSON | jackson-core-asl 1.8.8 Jackson is a high-performance JSON processor (parser, generator) | 26 |
JSON | jackson-mapper-asl 1.8.8 Data Mapper package is a high-performance data binding package built on Jackson JSON processor | 36 |
Web Service | jackson-jaxrs 1.8.8 Jax-RS provider for JSON content type, based on Jackson JSON processor's data binding functionality. | 21 |
Network | protobuf-java 2.4.0a Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. | 18 |
XML Parser | stax-api 1.0.1 StAX API is the standard java XML processing API defined by JSR-173 | 254 |
Testing Mock | mockito-all 1.8.5 Mock objects library for java | 434 |
Data Structure | commons-math 2.1 The Math project is a library of lightweight, self-contained mathematics and statistics components addressing the most common practical problems not immediately available in the Java programming language or commons-lang. | 95 |
The following plugins are used in the hbase-0.94.12.jar
Here is the content of the POM file.
<?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. */ --> <modelVersion>4.0.0</modelVersion> <!--To build a release I do this: $ mvn clean site install assembly:single -Prelease --> <parent> <groupId>org.apache</groupId> <artifactId>apache</artifactId> <version>8</version> <relativePath /><!-- no parent resolution --> </parent> <groupId>org.apache.hbase</groupId> <artifactId>hbase</artifactId> <packaging>jar</packaging> <version>0.94.12</version> <name>HBase</name> <description> HBase is the &lt;a href="http://hadoop.apache.org"&rt;Hadoop</a&rt; database. Use it when you need random, realtime read/write access to your Big Data. This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware. </description> <url>http://hbase.apache.org</url> <scm> <connection>scm:svn:http://svn.apache.org/repos/asf/hbase/tags/0.94.12mvn2</connection> <developerConnection>scm:svn:https://svn.apache.org/repos/asf/hbase/tags/0.94.12mvn2</developerConnection> <url>http://svn.apache.org/viewvc/hbase/tags/0.94.12mvn2</url> </scm> <issueManagement> <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://hbase.apache.org/mail/user/</otherArchive> <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://hbase.apache.org/mail/dev/</otherArchive> <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> <otherArchives> <otherArchive>http://hbase.apache.org/mail/commits/</otherArchive> </otherArchives> </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> <otherArchives> <otherArchive>http://hbase.apache.org/mail/issues/</otherArchive> </otherArchives> </mailingList> </mailingLists> <repositories> <repository> <id>apache release</id> <url>https://repository.apache.org/content/repositories/releases/</url> </repository> <repository> <id>apache non-releases</id> <name>Apache non-releases</name> <url>http://people.apache.org/~stack/m2/repository</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> <repository> <id>java.net</id> <name>Java.Net</name> <url>http://download.java.net/maven/2/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> <repository> <id>codehaus</id> <name>Codehaus Public</name> <url>http://repository.codehaus.org/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> <repository> <id>repository.jboss.org</id> <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>ghelmling.testing</id> <name>Gary Helmling test repo</name> <url>http://people.apache.org/~garyh/mvn/</url> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>ghelmling.testing</id> <name>Gary Helmling test repo</name> <url>http://people.apache.org/~garyh/mvn/</url> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </pluginRepository> </pluginRepositories> <build> <!-- Some plugins (javadoc for example) can be used in the normal build- and the site phase. These plugins inherit their options from the <reporting> section below. These settings can be overwritten here. --> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <!--Making a release I've been using mvn 3.0 and specifying the apache-release profile on the command line as follows: $ ~/bin/mvn/bin/mvn -Papache-release release:perform I've also been kiling the release:prepare step mid-way to check the release.properties it generates at the top-level. Sometimes it refers to HEAD rather than to the svn branch. --> <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> </configuration> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <source>${compileSource}</source> <target>${compileSource}</target> <showWarnings>true</showWarnings> <showDeprecation>false</showDeprecation> <compilerArgument>-Xlint:-options</compilerArgument> </configuration> </plugin> <plugin> <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> <configuration> <forkedProcessTimeoutInSeconds>${surefire.timeout}</forkedProcessTimeoutInSeconds> <argLine>-enableassertions -Xmx1900m -Djava.security.egd=file:/dev/./urandom</argLine> <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>${surefire.version}</version> <dependencies> <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>${surefire.provider}</artifactId> <version>${surefire.version}</version> </dependency> </dependencies> <configuration> <includes> <include>${integrationtest.include}</include> </includes> <excludes> <exclude>${unittest.include}</exclude> <exclude>**/*$*</exclude> </excludes> <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile> <environmentVariables> <LD_LIBRARY_PATH>${env.LD_LIBRARY_PATH}:${project.build.directory}/nativelib</LD_LIBRARY_PATH> <DYLD_LIBRARY_PATH>${env.DYLD_LIBRARY_PATH}:${project.build.directory}/nativelib</DYLD_LIBRARY_PATH> <MALLOC_ARENA_MAX>4</MALLOC_ARENA_MAX> </environmentVariables> </configuration> <executions> <execution> <id>integration-test</id> <goals> <goal>integration-test</goal> </goals> </execution> <execution> <id>verify</id> <goals> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <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> <artifactId>maven-surefire-report-plugin</artifactId> <version>${surefire.version}</version> </plugin> <plugin> <groupId>org.apache.avro</groupId> <artifactId>avro-maven-plugin</artifactId> <version>${avro.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.5</version> </plugin> <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. m2e does not provide any safeguards against rogue maven plugins that leak classloaders, modify random files inside workspace or throw nasty exceptions to fail the build --> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.avro</groupId> <artifactId>avro-maven-plugin</artifactId> <versionRange>[1.5.3,)</versionRange> <goals> <goal>protocol</goal> <goal>schema</goal> </goals> </pluginExecutionFilter> <action> <execute /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <versionRange>[1.3,)</versionRange> <goals> <goal>run</goal> </goals> </pluginExecutionFilter> <action> <execute /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.jamon</groupId> <artifactId>jamon-maven-plugin</artifactId> <versionRange>[2.3.4,)</versionRange> <goals> <goal>translate</goal> </goals> </pluginExecutionFilter> <action> <execute /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> <plugin> <!-- in plugin management section so excludes can be inherited --> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <version>0.8</version> <configuration> <excludes> <exclude>**/*.log</exclude> <exclude>**/.*</exclude> <exclude>**/*.tgz</exclude> <exclude>**/*.orig</exclude> <exclude>test/**</exclude> <exclude>**/8e8ab58dcf39412da19833fcd8f687ac</exclude> <exclude>**/.git/**</exclude> <exclude>**/target/**</exclude> <exclude>**/CHANGES.txt</exclude> <exclude>**/generated/**</exclude> <exclude>**/conf/*</exclude> <exclude>**/*.avpr</exclude> <exclude>**/*.svg</exclude> <!-- vector graphics --> <exclude>**/*.vm</exclude> <!-- apache doxia generated --> <exclude>**/control</exclude> <exclude>**/conffile</exclude> <exclude>docs/*</exclude> <!-- auto-gen docs --> <!--It don't like freebsd license--> <exclude>**/src/site/resources/css/freebsd_docbook.css</exclude> <!-- exclude source control files --> <exclude>.git/**</exclude> <exclude>.svn/**</exclude> </excludes> </configuration> </plugin> </plugins> </pluginManagement> <resources> <resource> <directory>src/main/resources/</directory> <includes> <include>hbase-default.xml</include> </includes> </resource> <resource> <directory>${project.build.directory}</directory> <includes> <include>hbase-webapps/**</include> </includes> </resource> </resources> <testResources> <testResource> <directory>src/test/resources</directory> <excludes> <exclude>hbase-site.xml</exclude> </excludes> </testResource> </testResources> <plugins> <plugin> <artifactId>maven-site-plugin</artifactId> <configuration> <inputEncoding>UTF-8</inputEncoding> <outputEncoding>UTF-8</outputEncoding> <templateFile>src/site/site.vm</templateFile> </configuration> </plugin> <plugin> <groupId>org.apache.avro</groupId> <artifactId>avro-maven-plugin</artifactId> <executions> <execution> <id>generate-avro-sources</id> <phase>generate-sources</phase> <goals> <goal>schema</goal> <goal>protocol</goal> </goals> </execution> </executions> <configuration> <outputDirectory>${project.build.directory}/generated-sources/java</outputDirectory> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> <version>1.0-beta-3</version> <executions> <execution> <goals> <goal>transform</goal> </goals> <phase>pre-site</phase> </execution> </executions> <configuration> <transformationSets> <transformationSet> <dir>${basedir}/src/main/resources/</dir> <includes> <include>hbase-default.xml</include> </includes> <stylesheet>${basedir}/src/main/xslt/configuration_to_docbook_section.xsl</stylesheet> <outputDir>${basedir}/target/site/</outputDir> </transformationSet> </transformationSets> </configuration> </plugin> <plugin> <groupId>com.agilejava.docbkx</groupId> <artifactId>docbkx-maven-plugin</artifactId> <version>2.0.13</version> <executions> <execution> <id>multipage</id> <phase>pre-site</phase> <configuration> <xincludeSupported>true</xincludeSupported> <navigShowtitles>true</navigShowtitles> <chunkedOutput>true</chunkedOutput> <useIdAsFilename>true</useIdAsFilename> <sectionAutolabelMaxDepth>100</sectionAutolabelMaxDepth> <sectionAutolabel>true</sectionAutolabel> <sectionLabelIncludesComponentLabel>true</sectionLabelIncludesComponentLabel> <targetDirectory>${basedir}/target/site/</targetDirectory> <htmlStylesheet>../css/freebsd_docbook.css</htmlStylesheet> <htmlCustomization>src/docbkx/customization.xsl</htmlCustomization> <imgSrcPath>../images/</imgSrcPath> <tocMaxDepth>2</tocMaxDepth> <insertXrefPageNumber>yes</insertXrefPageNumber> </configuration> <goals> <goal>generate-html</goal> </goals> </execution> <execution> <id>onepage</id> <phase>pre-site</phase> <configuration> <xincludeSupported>true</xincludeSupported> <useIdAsFilename>true</useIdAsFilename> <sectionAutolabelMaxDepth>100</sectionAutolabelMaxDepth> <sectionAutolabel>true</sectionAutolabel> <sectionLabelIncludesComponentLabel>true</sectionLabelIncludesComponentLabel> <targetDirectory>${basedir}/target/site/</targetDirectory> <htmlStylesheet>css/freebsd_docbook.css</htmlStylesheet> <imgSrcPath>images/</imgSrcPath> <tocMaxDepth>2</tocMaxDepth> <insertXrefPageNumber>yes</insertXrefPageNumber> </configuration> <goals> <goal>generate-html</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>org.docbook</groupId> <artifactId>docbook-xml</artifactId> <version>4.4</version> <scope>runtime</scope> </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <tarLongFileMode>gnu</tarLongFileMode> <appendAssemblyId>false</appendAssemblyId> <descriptors> <descriptor>src/assembly/all.xml</descriptor> </descriptors> </configuration> <executions> <execution> <id>tarball</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <!-- Run with -Dmaven.test.skip.exec=true to build -tests.jar without running tests (this is needed for upstream projects whose tests need this jar simply for compilation)--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <phase>prepare-package</phase> <goals> <goal>test-jar</goal> </goals> </execution> </executions> <configuration> <archive> <manifest> <mainClass>org/apache/hadoop/hbase/mapreduce/Driver</mainClass> </manifest> </archive> <!-- Exclude these 2 packages, because their dependency _binary_ files include the sources, and Maven 2.2 appears to add them to the sources to compile, weird--> <excludes> <exclude>org/apache/jute/**</exclude> <exclude>org/apache/zookeeper/**</exclude> <exclude>**/*.jsp</exclude> <exclude>hbase-site.xml</exclude> <exclude>log4j.properties</exclude> <exclude>mapred-queues.xml</exclude> </excludes> </configuration> </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-surefire-plugin</artifactId> <configuration> <skip>${surefire.skipFirstPart}</skip> <forkMode>${surefire.firstPartForkMode}</forkMode> <parallel>${surefire.firstPartParallel}</parallel> <perCoreThreadCount>false</perCoreThreadCount> <threadCount>${surefire.firstPartThreadCount}</threadCount> <parallel>classes</parallel><!-- surefire hack, if not we're using method parallelisation class !--> <groups>${surefire.firstPartGroups}</groups> <testFailureIgnore>false</testFailureIgnore> </configuration> <executions> <execution> <id>secondPartTestsExecution</id> <phase>test</phase> <goals><goal>test</goal></goals> <configuration> <skip>${surefire.skipSecondPart}</skip> <testFailureIgnore>false</testFailureIgnore> <forkMode>perThread</forkMode> <perCoreThreadCount>false</perCoreThreadCount> <threadCount>${surefire.secondPartThreadCount}</threadCount> <parallel>classes</parallel><!-- surefire hack, if not we're using method parallelisation class !--> <groups>${surefire.secondPartGroups}</groups> </configuration> </execution> </executions> </plugin> <!-- Run integration tests with mvn verify --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <skip>false</skip> <forkMode>always</forkMode> <!-- TODO: failsafe does timeout, but verify does not fail the build because of the timeout. I believe it is a failsafe bug, we may consider using surefire --> <forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds> <argLine>-enableassertions -Xmx1900m -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true</argLine> <testFailureIgnore>false</testFailureIgnore> </configuration> </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>arc-setup</id> <phase>initialize</phase> <configuration> <tasks if="arc"> <get dest="${project.build.directory}/arc-jira.tar.gz" src="https://github.com/facebook/arc-jira/tarball/master" /> <untar src="${project.build.directory}/arc-jira.tar.gz" compression="gzip" dest="${project.build.directory}"> <patternset> <include name="facebook-arc-jira-*/arc_jira_lib/**" /> </patternset> </untar> <move todir="${basedir}"> <fileset dir="${project.build.directory}"> <include name="facebook-arc-jira-*/arc_jira_lib/**" /> </fileset> <mapper type="regexp" from="^facebook-arc-jira-([^/])*/(.*)" to="\.\2" /> </move> <delete includeemptydirs="true"> <fileset dir="${project.build.directory}"> <include name="facebook-arc-jira-*" /> <include name="arc-jira.tar.gz" /> </fileset> </delete> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> <execution> <id>generate</id> <phase>generate-sources</phase> <configuration> <target> <property name="build.webapps" location="${project.build.directory}/hbase-webapps" /> <property name="src.webapps" location="${basedir}/src/main/resources/hbase-webapps" /> <property name="generated.sources" location="${project.build.directory}/generated-sources" /> <mkdir dir="${build.webapps}" /> <copy todir="${build.webapps}"> <fileset dir="${src.webapps}"> <exclude name="**/*.jsp" /> <exclude name="**/.*" /> <exclude name="**/*~" /> </fileset> </copy> <!--The compile.classpath is passed in by maven--> <taskdef classname="org.apache.jasper.JspC" name="jspcompiler" classpathref="maven.compile.classpath" /> <mkdir dir="${build.webapps}/master/WEB-INF" /> <jspcompiler uriroot="${src.webapps}/master" outputdir="${generated.sources}/java" package="org.apache.hadoop.hbase.generated.master" webxml="${build.webapps}/master/WEB-INF/web.xml" /> <mkdir dir="${build.webapps}/regionserver/WEB-INF" /> <jspcompiler uriroot="${src.webapps}/regionserver" outputdir="${generated.sources}/java" package="org.apache.hadoop.hbase.generated.regionserver" webxml="${build.webapps}/regionserver/WEB-INF/web.xml" /> <mkdir dir="${build.webapps}/rest/WEB-INF" /> <jspcompiler uriroot="${src.webapps}/rest" outputdir="${generated.sources}/java" package="org.apache.hadoop.hbase.generated.rest" webxml="${build.webapps}/rest/WEB-INF/web.xml" /> <mkdir dir="${build.webapps}/thrift/WEB-INF" /> <jspcompiler uriroot="${src.webapps}/thrift" outputdir="${generated.sources}/java" package="org.apache.hadoop.hbase.generated.thrift" webxml="${build.webapps}/thrift/WEB-INF/web.xml" /> <exec executable="sh"> <arg line="${basedir}/src/saveVersion.sh ${project.version} ${generated.sources}/java" /> </exec> </target> </configuration> <goals> <goal>run</goal> </goals> </execution> <execution> <phase>process-resources</phase> <configuration> <target> <replace file="${project.build.outputDirectory}/hbase-default.xml" token="@@@VERSION@@@" value="${project.version}" /> <mkdir dir="${project.build.directory}/nativelib" /> <exec executable="tar" dir="${project.build.directory}/nativelib" failonerror="false"> <arg value="xf" /> <arg value="hadoop-snappy-nativelibs.tar" /> </exec> </target> </configuration> <goals> <goal>run</goal> </goals> </execution> <execution> <id>package</id> <phase>package</phase> <configuration> <target> <!-- Complements the assembly --> <mkdir dir="${project.build.directory}/${project.build.finalName}/${project.build.finalName}/lib/native/${build.platform}" /> <!-- Using Unix cp to preserve symlinks, using script to handle wildcards --> <echo file="${project.build.directory}/copynativelibs.sh"> which cygpath 2> /dev/null if [ $? = 1 ]; then BUILD_DIR="${project.build.directory}" else BUILD_DIR=`cygpath --unix '${project.build.directory}'` fi if [ `ls $BUILD_DIR/nativelib | wc -l` -ne 0 ]; then cp -PR $BUILD_DIR/nativelib/lib* $BUILD_DIR/${project.build.finalName}/${project.build.finalName}/lib/native/${build.platform} fi </echo> <exec executable="sh" dir="${project.build.directory}" failonerror="true"> <arg line="./copynativelibs.sh" /> </exec> <!-- Using Unix tar to preserve symlinks --> <echo file="${project.build.directory}/maketar.sh"> which cygpath 2> /dev/null if [ $? = 1 ]; then BUILD_DIR="${project.build.directory}" else BUILD_DIR=`cygpath --unix '${project.build.directory}'` fi cd $BUILD_DIR/${project.build.finalName} tar czf $BUILD_DIR/${project.build.finalName}.tar.gz ${project.build.finalName} </echo> <exec executable="sh" dir="${project.build.directory}" failonerror="yes"> <arg line="./maketar.sh" /> </exec> </target> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.5</version> <executions> <execution> <id>jspcSource-packageInfo-Avro-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>${project.build.directory}/generated-jamon</source> <source>${project.build.directory}/generated-sources/java</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.jamon</groupId> <artifactId>jamon-maven-plugin</artifactId> <version>2.3.4</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>translate</goal> </goals> <configuration> <templateSourceDir>src/main/jamon</templateSourceDir> <templateOutputDir>target/generated-jamon</templateOutputDir> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-eclipse-plugin</artifactId> <version>2.8</version> <configuration> <additionalProjectnatures> <projectnature>org.jamon.project.jamonnature</projectnature> </additionalProjectnatures> <buildcommands> <buildcommand>org.jamon.project.templateBuilder</buildcommand> <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand> <buildcommand>org.jamon.project.markerUpdater</buildcommand> </buildcommands> <additionalConfig> <file> <name>.settings/org.jamon.prefs</name> <content># now eclipse.preferences.version=1 templateSourceDir=src/main/jamon templateOutputDir=target/generated-jamon </content> </file> </additionalConfig> </configuration> </plugin> </plugins> </build> <properties> <maven.build.timestamp.format> yyyy-MM-dd'T'HH:mm </maven.build.timestamp.format> <buildDate> ${maven.build.timestamp} </buildDate> <compileSource>1.6</compileSource> <!-- Dependencies --> <avro.version>1.5.3</avro.version> <commons-cli.version>1.2</commons-cli.version> <commons-codec.version>1.4</commons-codec.version> <commons-httpclient.version>3.1</commons-httpclient.version><!-- pretty outdated --> <commons-io.version>2.1</commons-io.version> <commons-lang.version>2.5</commons-lang.version> <commons-logging.version>1.1.1</commons-logging.version> <commons-math.version>2.1</commons-math.version> <commons-configuration.version>1.6</commons-configuration.version> <metrics-core.version>2.1.2</metrics-core.version> <guava.version>11.0.2</guava.version> <jackson.version>1.8.8</jackson.version> <jasper.version>5.5.23</jasper.version> <jaxb-api.version>2.1</jaxb-api.version> <jetty.version>6.1.26</jetty.version> <jetty.jspapi.version>6.1.14</jetty.jspapi.version> <jersey.version>1.8</jersey.version> <jruby.version>1.6.5</jruby.version> <junit.version>4.10-HBASE-1</junit.version> <slf4j.version>1.4.3</slf4j.version> <log4j.version>1.2.16</log4j.version> <mockito-all.version>1.8.5</mockito-all.version> <protobuf.version>2.4.0a</protobuf.version> <stax-api.version>1.0.1</stax-api.version> <thrift.version>0.8.0</thrift.version> <zookeeper.version>3.4.5</zookeeper.version> <hadoop-snappy.version>0.0.1-SNAPSHOT</hadoop-snappy.version> <clover.version>2.6.3</clover.version> <package.prefix>/usr</package.prefix> <package.conf.dir>/etc/hbase</package.conf.dir> <package.log.dir>/var/log/hbase</package.log.dir> <package.pid.dir>/var/run/hbase</package.pid.dir> <package.release>1</package.release> <!-- also must update this when we bump version --> <package.version>0.91.0</package.version> <final.name>${project.artifactId}-${project.version}</final.name> <!-- Test inclusion patterns used by failsafe configuration --> <unittest.include>**/Test*.java</unittest.include> <integrationtest.include>**/IntegrationTest*.java</integrationtest.include> <surefire.version>2.12-TRUNK-HBASE-2</surefire.version> <surefire.provider>surefire-junit47</surefire.provider> <!-- default: run small & medium, medium with 2 threads --> <surefire.skipFirstPart>false</surefire.skipFirstPart> <surefire.skipSecondPart>false</surefire.skipSecondPart> <surefire.firstPartForkMode>once</surefire.firstPartForkMode> <surefire.firstPartParallel>classes</surefire.firstPartParallel> <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount> <surefire.secondPartThreadCount>2</surefire.secondPartThreadCount> <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups> <surefire.secondPartGroups>org.apache.hadoop.hbase.MediumTests</surefire.secondPartGroups> <test.output.tofile>true</test.output.tofile> <surefire.timeout>900</surefire.timeout> </properties> <!-- Sorted by groups of dependencies then groupId and artifactId --> <dependencies> <!-- Note: There are a few exclusions to prevent duplicate code in different jars to be included: * org.mortbay.jetty:servlet-api, javax.servlet:servlet-api: These are excluded because they are the same implementations. I chose org.mortbay.jetty:servlet-api-2.5 instead, which is a third implementation of the same, because Hadoop also uses this version * javax.servlet:jsp-api in favour of org.mortbay.jetty:jsp-api-2.1 * javax.xml.stream:stax-api in favour of stax:stax-api --> <!-- General dependencies --> <dependency> <groupId>com.yammer.metrics</groupId> <artifactId>metrics-core</artifactId> <version>${metrics-core.version}</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>${commons-cli.version}</version> </dependency> <dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>${commons-configuration.version}</version> </dependency> <dependency> <groupId>com.github.stephenc.high-scale-lib</groupId> <artifactId>high-scale-lib</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>${commons-codec.version}</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>${commons-httpclient.version}</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>${commons-lang.version}</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>${commons-logging.version}</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro</artifactId> <version>${avro.version}</version> <exclusions> <exclusion> <groupId>com.thoughtworks.paranamer</groupId> <artifactId>paranamer</artifactId> </exclusion> <exclusion> <groupId>com.thoughtworks.paranamer</groupId> <artifactId>paranamer-ant</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro-ipc</artifactId> <version>${avro.version}</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>${zookeeper.version}</version> <exclusions> <exclusion> <groupId>jline</groupId> <artifactId>jline</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> <version>${thrift.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.jruby</groupId> <artifactId>jruby-complete</artifactId> <version>${jruby.version}</version> </dependency> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty</artifactId> <version>${jetty.version}</version> <exclusions> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-util</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jsp-2.1</artifactId> <version>${jetty.jspapi.version}</version> <exclusions> <exclusion> <groupId>ant</groupId> <artifactId>ant</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jsp-api-2.1</artifactId> <version>${jetty.jspapi.version}</version> </dependency> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api-2.5</artifactId> <version>${jetty.jspapi.version}</version> </dependency> <!-- While jackson is also a dependency of both jersey and avro, these can bring in jars from different, incompatible versions. We force the same version with these dependencies --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-jaxrs</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-xc</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <!--If this is not in the runtime lib, we get odd "2009-02-27 11:38:39.504::WARN: failed jsp java.lang.NoSuchFieldError: IS_SECURITY_ENABLED" exceptions out of jetty deploying webapps. St.Ack Thu May 20 01:04:41 PDT 2010 --> <groupId>tomcat</groupId> <artifactId>jasper-compiler</artifactId> <version>${jasper.version}</version> <scope>runtime</scope> <exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>ant</groupId> <artifactId>ant</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>tomcat</groupId> <artifactId>jasper-runtime</artifactId> <version>${jasper.version}</version> <scope>runtime</scope> <exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.jamon</groupId> <artifactId>jamon-runtime</artifactId> <version>2.3.1</version> </dependency> <!-- REST dependencies --> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>${protobuf.version}</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-json</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>${jaxb-api.version}</version> <exclusions> <exclusion> <groupId>javax.xml.stream</groupId> <artifactId>stax-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>stax</groupId> <artifactId>stax-api</artifactId> <version>${stax-api.version}</version> </dependency> <!-- Test dependencies --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>runtime</scope> <!-- FIXME: the following needs to go away once HBASE-4955 is fixed --> <optional>true</optional> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>${mockito-all.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-math</artifactId> <version>${commons-math.version}</version> <scope>test</scope> </dependency> </dependencies> <!-- To publish, use the following settings.xml file ( placed in ~/.m2/settings.xml ) <settings> <servers> <server> <id>apache.releases.https</id> <username>hbase_committer</username> <password>********</password> </server> <server> <id>apache.snapshots.https</id> <username>hbase_committer</username> <password>********</password> </server> </servers> </settings> $ mvn deploy (or) $ mvn -s /my/path/settings.xml deploy --> <profiles> <profile> <id>rpm</id> <build> <plugins> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>build-rpm</id> <phase>package</phase> <configuration> <target> <ant antfile="${basedir}/src/packages/build.xml"> <target name="package-rpm" /> <target name="package-conf-pseudo-rpm" /> </ant> </target> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.6.1</version> <configuration> <docfilessubdirs>true</docfilessubdirs> </configuration> <executions> <execution> <phase>prepare-package</phase> <goals> <goal>javadoc</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>deb</id> <build> <plugins> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>build-deb</id> <phase>package</phase> <configuration> <target> <property name="artifactId" value="${project.artifactId}" /> <ant antfile="${basedir}/src/packages/build.xml"> <target name="package-deb" /> <target name="package-conf-pseudo-deb" /> </ant> </target> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>org.vafer</groupId> <artifactId>jdeb</artifactId> <version>0.8</version> </dependency> </dependencies> </plugin> </plugins> </build> </profile> <profile> <id>os.linux</id> <activation> <activeByDefault>false</activeByDefault> <os> <family>Linux</family> </os> </activation> <properties> <build.platform>${os.name}-${os.arch}-${sun.arch.data.model}</build.platform> </properties> </profile> <profile> <id>os.mac</id> <activation> <os> <family>Mac</family> </os> </activation> <properties> <build.platform>Mac_OS_X-${sun.arch.data.model}</build.platform> </properties> </profile> <profile> <id>os.windows</id> <activation> <os> <family>Windows</family> </os> </activation> <properties> <build.platform>cygwin</build.platform> </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> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.6.1</version> <configuration> <docfilessubdirs>true</docfilessubdirs> </configuration> <executions> <execution> <phase>prepare-package</phase> <goals> <goal>javadoc</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>hadoop-snappy</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>snappy</name> </property> </activation> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-snappy</artifactId> <version>${hadoop-snappy.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>get-hadoop-snappy-native</id> <phase>generate-resources</phase> <goals> <goal>copy</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-snappy</artifactId> <version>${hadoop-snappy.version}</version> <classifier>${build.platform}</classifier> <type>tar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/nativelib</outputDirectory> <destFileName>hadoop-snappy-nativelibs.tar</destFileName> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profile for building against Hadoop 1.0.x: This is the default. --> <profile> <id>hadoop-1.0</id> <activation> <property> <name>!hadoop.profile</name> </property> </activation> <properties> <hadoop.version>1.0.4</hadoop.version> <slf4j.version>1.4.3</slf4j.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <exclusions> <exclusion> <groupId>hsqldb</groupId> <artifactId>hsqldb</artifactId> </exclusion> <exclusion> <groupId>net.sf.kosmosfs</groupId> <artifactId>kfs</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jdt</groupId> <artifactId>core</artifactId> </exclusion> <exclusion> <groupId>net.java.dev.jets3t</groupId> <artifactId>jets3t</artifactId> </exclusion> <exclusion> <groupId>oro</groupId> <artifactId>oro</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-test</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-test-resource</id> <goals> <goal>add-test-resource</goal> </goals> <configuration> <resources> <resource> <directory>src/test/resources</directory> <includes> <include>hbase-site.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profile for building against Hadoop 0.20+security--> <profile> <id>security</id> <properties> <hadoop.version>1.0.4</hadoop.version> </properties> <build> <finalName>${project.artifactId}-${project.version}-security</finalName> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-source</id> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>${project.basedir}/security/src/main/java</source> </sources> </configuration> </execution> <execution> <id>add-test-source</id> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>${project.basedir}/security/src/test/java</source> </sources> </configuration> </execution> <execution> <id>add-test-resource</id> <goals> <goal>add-test-resource</goal> </goals> <configuration> <resources> <resource> <directory>${project.basedir}/security/src/test/resources</directory> <includes> <include>hbase-site.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profile for building against Hadoop 1.1. Activate using: mvn -Dhadoop.profile=1.1 --> <profile> <id>hadoop-1.1</id> <activation> <property> <name>hadoop.profile</name> <value>1.1</value> </property> </activation> <properties> <hadoop.version>1.1.2</hadoop.version> <slf4j.version>1.4.3</slf4j.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <exclusions> <exclusion> <groupId>hsqldb</groupId> <artifactId>hsqldb</artifactId> </exclusion> <exclusion> <groupId>net.sf.kosmosfs</groupId> <artifactId>kfs</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jdt</groupId> <artifactId>core</artifactId> </exclusion> <exclusion> <groupId>net.java.dev.jets3t</groupId> <artifactId>jets3t</artifactId> </exclusion> <exclusion> <groupId>oro</groupId> <artifactId>oro</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-test</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-test-resource</id> <goals> <goal>add-test-resource</goal> </goals> <configuration> <resources> <resource> <directory>src/test/resources</directory> <includes> <include>hbase-site.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profile for building against Hadoop 1.2. Activate using: mvn -Dhadoop.profile=1.2 --> <profile> <id>hadoop-1.2</id> <activation> <property> <name>hadoop.profile</name> <value>1.2</value> </property> </activation> <properties> <hadoop.version>1.2.0</hadoop.version> <slf4j.version>1.4.3</slf4j.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <exclusions> <exclusion> <groupId>hsqldb</groupId> <artifactId>hsqldb</artifactId> </exclusion> <exclusion> <groupId>net.sf.kosmosfs</groupId> <artifactId>kfs</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jdt</groupId> <artifactId>core</artifactId> </exclusion> <exclusion> <groupId>net.java.dev.jets3t</groupId> <artifactId>jets3t</artifactId> </exclusion> <exclusion> <groupId>oro</groupId> <artifactId>oro</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-test</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-test-resource</id> <goals> <goal>add-test-resource</goal> </goals> <configuration> <resources> <resource> <directory>src/test/resources</directory> <includes> <include>hbase-site.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profile for building against Hadoop 0.22.0. Activate using: mvn -Dhadoop.profile=22 --> <profile> <id>hadoop-0.22</id> <activation> <property> <name>hadoop.profile</name> <value>22</value> </property> </activation> <properties> <hadoop.version>0.22.0</hadoop.version> <slf4j.version>1.6.1</slf4j.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <exclusions> <!--Needs more work, tightening--> <exclusion> <groupId>hsqldb</groupId> <artifactId>hsqldb</artifactId> </exclusion> <exclusion> <groupId>net.sf.kosmosfs</groupId> <artifactId>kfs</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jdt</groupId> <artifactId>core</artifactId> </exclusion> <exclusion> <groupId>net.java.dev.jets3t</groupId> <artifactId>jets3t</artifactId> </exclusion> <exclusion> <groupId>oro</groupId> <artifactId>oro</artifactId> </exclusion> <exclusion> <groupId>jdiff</groupId> <artifactId>jdiff</artifactId> </exclusion> <exclusion> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <exclusions> <!--Needs more work, tightening--> <exclusion> <groupId>hsqldb</groupId> <artifactId>hsqldb</artifactId> </exclusion> <exclusion> <groupId>net.sf.kosmosfs</groupId> <artifactId>kfs</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jdt</groupId> <artifactId>core</artifactId> </exclusion> <exclusion> <groupId>net.java.dev.jets3t</groupId> <artifactId>jets3t</artifactId> </exclusion> <exclusion> <groupId>oro</groupId> <artifactId>oro</artifactId> </exclusion> <exclusion> <groupId>jdiff</groupId> <artifactId>jdiff</artifactId> </exclusion> <exclusion> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapred</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <exclusions> <!--Needs more work, tightening--> <exclusion> <groupId>hsqldb</groupId> <artifactId>hsqldb</artifactId> </exclusion> <exclusion> <groupId>net.sf.kosmosfs</groupId> <artifactId>kfs</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jdt</groupId> <artifactId>core</artifactId> </exclusion> <exclusion> <groupId>net.java.dev.jets3t</groupId> <artifactId>jets3t</artifactId> </exclusion> <exclusion> <groupId>oro</groupId> <artifactId>oro</artifactId> </exclusion> <exclusion> <groupId>jdiff</groupId> <artifactId>jdiff</artifactId> </exclusion> <exclusion> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> </exclusion> </exclusions> </dependency> <!-- test deps for hadoop-0.22 profile --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common-test</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs-test</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapred-test</artifactId> <version>${hadoop.version}</version> <optional>true</optional> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-test-resource</id> <goals> <goal>add-test-resource</goal> </goals> <configuration> <resources> <resource> <directory>src/test/resources</directory> <includes> <include>hbase-site.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profile for building against Hadoop 0.23.0. Activate using: mvn -Dhadoop.profile=23 --> <profile> <id>hadoop-0.23</id> <activation> <property> <name>hadoop.profile</name> <value>23</value> </property> </activation> <properties> <hadoop.version>0.23.7</hadoop.version> <slf4j.version>1.6.1</slf4j.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-annotations</artifactId> <version>${hadoop.version}</version> </dependency> <!-- test deps for hadoop-0.23 profile --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minicluster</artifactId> <version>${hadoop.version}</version> <scope>compile</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-test-resource</id> <goals> <goal>add-test-resource</goal> </goals> <configuration> <resources> <resource> <directory>src/test/resources</directory> <includes> <include>hbase-site.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>create-mrapp-generated-classpath</id> <phase>generate-test-resources</phase> <goals> <goal>build-classpath</goal> </goals> <configuration> <!-- needed to run the unit test for DS to generate the required classpath that is required in the env of the launch container in the mini mr/yarn cluster --> <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profile for building against Hadoop 0.24.0. Activate using: mvn -Dhadoop.profile=24 --> <profile> <id>hadoop-0.24</id> <activation> <property> <name>hadoop.profile</name> <value>24</value> </property> </activation> <properties> <hadoop.version>0.24.0-SNAPSHOT</hadoop.version> <slf4j.version>1.6.1</slf4j.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-annotations</artifactId> <version>${hadoop.version}</version> </dependency> <!-- test deps for hadoop-0.24 profile --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minicluster</artifactId> <version>${hadoop.version}</version> <scope>compile</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-test-resource</id> <goals> <goal>add-test-resource</goal> </goals> <configuration> <resources> <resource> <directory>src/test/resources</directory> <includes> <include>hbase-site.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>create-mrapp-generated-classpath</id> <phase>generate-test-resources</phase> <goals> <goal>build-classpath</goal> </goals> <configuration> <!-- needed to run the unit test for DS to generate the required classpath that is required in the env of the launch container in the mini mr/yarn cluster --> <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profile for building against Hadoop 2.0.0-alpha. Activate using: mvn -Dhadoop.profile=2.0 --> <profile> <id>hadoop-2.0</id> <activation> <property> <name>hadoop.profile</name> <value>2.0</value> </property> </activation> <properties> <hadoop.version>2.0.0-alpha</hadoop.version> <slf4j.version>1.6.1</slf4j.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-annotations</artifactId> <version>${hadoop.version}</version> </dependency> <!-- test deps for hadoop-2.0 profile --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minicluster</artifactId> <version>${hadoop.version}</version> <scope>compile</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-test-resource</id> <goals> <goal>add-test-resource</goal> </goals> <configuration> <resources> <resource> <directory>src/test/resources</directory> <includes> <include>hbase-site.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>create-mrapp-generated-classpath</id> <phase>generate-test-resources</phase> <goals> <goal>build-classpath</goal> </goals> <configuration> <!-- needed to run the unit test for DS to generate the required classpath that is required in the env of the launch container in the mini mr/yarn cluster --> <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profiles for the tests See as well the properties of the project for the values when no profile is active. --> <profile> <!-- Use it to launch the tests without parallelisation --> <id>nonParallelTests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <surefire.firstPartForkMode>always</surefire.firstPartForkMode> <surefire.firstPartParallel>none</surefire.firstPartParallel> <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount> </properties> </profile> <profile> <!-- Use it to launch the tests in parallel in the same JVM --> <id>parallelTests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <surefire.firstPartForkMode>once</surefire.firstPartForkMode> <surefire.firstPartParallel>classes</surefire.firstPartParallel> <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount> </properties> </profile> <profile> <!-- Use it to launch the tests in the same JVM --> <id>singleJVMTests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <surefire.firstPartForkMode>once</surefire.firstPartForkMode> <surefire.firstPartParallel>none</surefire.firstPartParallel> <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount> <surefire.skipFirstPart>false</surefire.skipFirstPart> <surefire.skipSecondPart>true</surefire.skipSecondPart> <surefire.firstPartGroups /> </properties> </profile> <profile> <!-- Use it to launch small tests only --> <id>runSmallTests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <surefire.firstPartForkMode>once</surefire.firstPartForkMode> <surefire.firstPartParallel>none</surefire.firstPartParallel> <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount> <surefire.skipFirstPart>false</surefire.skipFirstPart> <surefire.skipSecondPart>true</surefire.skipSecondPart> <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups> <surefire.secondPartGroups /> </properties> </profile> <profile> <!-- Use it to launch medium tests only --> <id>runMediumTests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <surefire.firstPartForkMode>always</surefire.firstPartForkMode> <surefire.skipFirstPart>false</surefire.skipFirstPart> <surefire.skipSecondPart>true</surefire.skipSecondPart> <surefire.firstPartGroups>org.apache.hadoop.hbase.MediumTests</surefire.firstPartGroups> <surefire.secondPartGroups /> </properties> </profile> <profile> <!-- Use it to launch large tests only --> <id>runLargeTests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <surefire.firstPartForkMode>always</surefire.firstPartForkMode> <surefire.skipFirstPart>false</surefire.skipFirstPart> <surefire.skipSecondPart>true</surefire.skipSecondPart> <surefire.firstPartGroups>org.apache.hadoop.hbase.LargeTests</surefire.firstPartGroups> <surefire.secondPartGroups /> </properties> </profile> <profile> <!-- Use it to launch small & medium tests --> <id>runDevTests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <surefire.firstPartForkMode>once</surefire.firstPartForkMode> <surefire.firstPartParallel>none</surefire.firstPartParallel> <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount> <surefire.skipFirstPart>false</surefire.skipFirstPart> <surefire.skipSecondPart>false</surefire.skipSecondPart> <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups> <surefire.secondPartGroups>org.apache.hadoop.hbase.MediumTests</surefire.secondPartGroups> </properties> </profile> <profile> <!-- Use it to launch all tests --> <id>runAllTests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <surefire.firstPartForkMode>once</surefire.firstPartForkMode> <surefire.firstPartParallel>none</surefire.firstPartParallel> <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount> <surefire.secondPartThreadCount>4</surefire.secondPartThreadCount> <surefire.skipFirstPart>false</surefire.skipFirstPart> <surefire.skipSecondPart>false</surefire.skipSecondPart> <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups> <surefire.secondPartGroups>org.apache.hadoop.hbase.MediumTests,org.apache.hadoop.hbase.LargeTests</surefire.secondPartGroups> </properties> </profile> <profile> <!-- Use it skip the surefire tests but no the failsafe tests --> <id>skipSurefireTests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <surefire.skipFirstPart>true</surefire.skipFirstPart> <surefire.skipSecondPart>true</surefire.skipSecondPart> </properties> </profile> <profile> <!-- Use it to launch tests locally--> <id>localTests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <surefire.provider>surefire-junit4</surefire.provider> <surefire.version>2.10</surefire.version> <surefire.firstPartForkMode>always</surefire.firstPartForkMode> <surefire.skipFirstPart>false</surefire.skipFirstPart> <surefire.skipSecondPart>true</surefire.skipSecondPart> <surefire.firstPartGroups /> </properties> </profile> <!-- Profile for running clover. You need to have a clover license under ~/.clover.license for ${clover.version} or you can provide the license with -Dmaven.clover.licenseLocation=/path/to/license. Committers can find the license under https://svn.apache.org/repos/private/committers/donated-licenses/clover/ Note that clover 2.6.3 does not run with maven 3, so you have to use maven2. The report will be generated under target/site/clover/index.html when you run MAVEN_OPTS=-Xmx2048m mvn clean test -Pclover site --> <profile> <id>clover</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>clover</name> </property> </activation> <properties> <maven.clover.licenseLocation>${user.home}/.clover.license</maven.clover.licenseLocation> <clover.version>2.6.3</clover.version> </properties> <build> <plugins> <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-clover2-plugin</artifactId> <version>${clover.version}</version> <configuration> <includesAllSourceRoots>true</includesAllSourceRoots> <includesTestSourceRoots>true</includesTestSourceRoots> <targetPercentage>50%</targetPercentage> <generateHtml>true</generateHtml> <generateXml>true</generateXml> <excludes> <exclude>**/generated/**</exclude> </excludes> </configuration> <executions> <execution> <id>clover-setup</id> <phase>process-sources</phase> <goals> <goal>setup</goal> </goals> </execution> <execution> <id>clover</id> <phase>site</phase> <goals> <goal>clover</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <!-- See http://jira.codehaus.org/browse/MSITE-443 why the settings need to be here and not in pluginManagement. --> <reporting> <plugins> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.6</version> <reportSets> <reportSet> <reports> <report>project-team</report> <report>mailing-list</report> <report>cim</report> <report>issue-tracking</report> <report>license</report> <report>scm</report> <report>index</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.6.1</version> <configuration> <docfilessubdirs>true</docfilessubdirs> </configuration> <reportSets> <reportSet> <id>default</id> <reports> <report>javadoc</report> </reports> </reportSet> </reportSets> <!-- This is probably not needed, given the smallness of the HBase source code, but left here in case <minmemory>128m</minmemory> <maxmemory>1024m</maxmemory> --> </plugin> <!--Disabled for now. <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.3</version> </plugin> --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>2.1</version> </plugin> <!-- Disabled for now <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jdepend-maven-plugin</artifactId> <version>2.0-beta-2</version> </plugin> <plugin> <artifactId>maven-changes-plugin</artifactId> <version>2.3</version> <configuration> <issueLinkTemplate>%URL%/browse/%ISSUE%</issueLinkTemplate> </configuration> <reportSets> <reportSet> <reports> <report>changes-report</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-clover2-plugin</artifactId> <version>2.6.3</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> <version>2.4</version> </plugin> <plugin> <artifactId>maven-surefire-report-plugin</artifactId> <version>2.5</version> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <version>2.1</version> </plugin> --> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <version>0.8</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>2.7.2</version> <reportSets> <reportSet> <id>integration-tests</id> <reports> <report>report-only</report> </reports> <configuration> <outputName>failsafe-report</outputName> <reportsDirectories> <reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory> </reportsDirectories> </configuration> </reportSet> </reportSets> </plugin> </plugins> </reporting> <distributionManagement> <site> <id>hbase.apache.org</id> <name>HBase Website at hbase.apache.org</name> <!-- On why this is the tmp dir and not hbase.apache.org, see https://issues.apache.org/jira/browse/HBASE-7593?focusedCommentId=13555866&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13555866 --> <url>file:///tmp</url> </site> </distributionManagement> </project>