Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

1327 lines (1241 sloc) 49.563 kb
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2012 Facebook, Inc.
Licensed 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.
-->
<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>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<groupId>com.facebook</groupId>
<artifactId>facebook-oss-pom</artifactId>
<packaging>pom</packaging>
<version>12-SNAPSHOT</version>
<name>facebook-oss-pom</name>
<description>Parent POM for Facebook open source java projects that should be distributed through the central Maven repository using oss.sonatype.org</description>
<url>https://facebook.github.com/${project.artifactId}</url>
<inceptionYear>2012</inceptionYear>
<licenses>
<license>
<name>Apache 2</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
<comments>A business-friendly OSS license</comments>
</license>
</licenses>
<scm>
<connection>scm:git:git://github.com/facebook/${project.artifactId}.git</connection>
<developerConnection>scm:git:git@github.com:facebook/${project.artifactId}.git</developerConnection>
<url>https://github.com/facebook/${project.artifactId}</url>
<tag>HEAD</tag>
</scm>
<!-- ======================================================================== -->
<!-- = = -->
<!-- = Site deployment. These values are correct, to be able to deploy a = -->
<!-- = site, you must add = -->
<!-- = = -->
<!-- = <server> = -->
<!-- = <id>github-project-site</id> = -->
<!-- = <username>git</username> = -->
<!-- = </server> = -->
<!-- = = -->
<!-- = to the <servers> section in your local ~/.m2/settings.xml file = -->
<!-- = = -->
<!-- = Otherwise, site deploy will fail! = -->
<!-- = = -->
<!-- ======================================================================== -->
<distributionManagement>
<site>
<id>github-project-site</id>
<url>gitsite:git@github.com/facebook/${project.artifactId}.git</url>
</site>
</distributionManagement>
<organization>
<name>Facebook, Inc.</name>
<url>https://www.facebook.com/</url>
</organization>
<developers>
<developer>
<id>hgschmie</id>
<name>Henning Schmiedehausen</name>
<email>hgschmie@fb.com</email>
<timezone>-8</timezone>
</developer>
</developers>
<properties>
<!-- see http://docs.codehaus.org/display/MAVENUSER/POM+Element+for+Source+File+Encoding -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.targetJdk>1.7</project.build.targetJdk>
<project.report.outputEncoding>UTF-8</project.report.outputEncoding>
<project.report.inputEncoding>UTF-8</project.report.inputEncoding>
<!-- Facebook build specific options are prefixed fb.build. -->
<!-- Default jvm size for compiler, tests etc. -->
<fb.build.jvmsize>1024m</fb.build.jvmsize>
<!-- whether a release:perform automatically pushes the created files and tags to -->
<!-- the upstream repository. Default is no. -->
<fb.release.push-changes>false</fb.release.push-changes>
<!-- define the forkmode for tests. Default is 'once' -->
<fb.test.fork-mode>once</fb.test.fork-mode>
<!-- Controls all the checkers run when building the project. -->
<!-- Can be activated with -Dfb.check.skip-all=true on the command line. -->
<fb.check.skip-all>false</fb.check.skip-all>
<!-- Controls the basic checkers run when building the project. -->
<fb.check.skip-basic>${fb.check.skip-all}</fb.check.skip-basic>
<!-- Controls the extended checkers run when building the project. -->
<fb.check.skip-extended>${fb.check.skip-all}</fb.check.skip-extended>
<!-- basic checks -->
<fb.check.skip-enforcer>${fb.check.skip-basic}</fb.check.skip-enforcer>
<fb.check.skip-dependency>${fb.check.skip-basic}</fb.check.skip-dependency>
<fb.check.skip-duplicate-finder>${fb.check.skip-basic}</fb.check.skip-duplicate-finder>
<fb.check.skip-dependency-version-check>${fb.check.skip-basic}</fb.check.skip-dependency-version-check>
<!-- extended checks -->
<fb.check.skip-findbugs>${fb.check.skip-extended}</fb.check.skip-findbugs>
<fb.check.skip-pmd>${fb.check.skip-extended}</fb.check.skip-pmd>
<fb.check.skip-license>${fb.check.skip-extended}</fb.check.skip-license>
<fb.check.skip-jacoco>${fb.check.skip-extended}</fb.check.skip-jacoco>
<fb.check.fail-all>true</fb.check.fail-all>
<fb.check.fail-basic>${fb.check.fail-all}</fb.check.fail-basic>
<fb.check.fail-extended>${fb.check.fail-all}</fb.check.fail-extended>
<!-- basic checks -->
<fb.check.fail-enforcer>${fb.check.fail-basic}</fb.check.fail-enforcer>
<fb.check.fail-dependency>${fb.check.fail-basic}</fb.check.fail-dependency>
<fb.check.fail-duplicate-finder>${fb.check.fail-basic}</fb.check.fail-duplicate-finder>
<fb.check.fail-dependency-version-check>${fb.check.fail-basic}</fb.check.fail-dependency-version-check>
<!-- extended checks -->
<fb.check.fail-findbugs>${fb.check.fail-extended}</fb.check.fail-findbugs>
<fb.check.fail-pmd>${fb.check.fail-extended}</fb.check.fail-pmd>
<fb.check.fail-license>${fb.check.fail-extended}</fb.check.fail-license>
<!-- the current "best" version of maven -->
<fb.maven.version>3.1.1</fb.maven.version>
<!-- In Multimodule builds, override this to point at the parent directory for e.g. the license resources. -->
<!-- See http://stackoverflow.com/questions/1012402/maven2-property-that-indicates-the-parent-directory -->
<fb.main.basedir>${project.basedir}</fb.main.basedir>
<!-- Plugin versions used in multiple places -->
<dep.plugin.surefire.version>2.16</dep.plugin.surefire.version>
<dep.plugin.site.version>3.3</dep.plugin.site.version>
<dep.plugin.pmd.version>3.0.1</dep.plugin.pmd.version>
<dep.plugin.findbugs.version>2.5.3</dep.plugin.findbugs.version>
<dep.plugin.jacoco.version>0.6.3.201306030806</dep.plugin.jacoco.version>
<dep.plugin.scm.version>1.8.1</dep.plugin.scm.version>
<dep.plugin.javadoc.version>2.9.1</dep.plugin.javadoc.version>
<!-- used by plugins -->
<dep.pmd.version>5.0.5</dep.pmd.version>
<dep.findbugs.version>2.0.3</dep.findbugs.version>
<!-- Dependency versions that should be the same everywhere. -->
<dep.guice.version>3.0</dep.guice.version>
<dep.guava.version>16.0.1</dep.guava.version>
<dep.javax-inject.version>1</dep.javax-inject.version>
<!-- don't up to 3.1.0, the API adds new methods. -->
<dep.javax-servlet.version>3.0.1</dep.javax-servlet.version>
<dep.joda.version>2.3</dep.joda.version>
<dep.slf4j.version>1.7.6</dep.slf4j.version>
<dep.logback.version>1.1.1</dep.logback.version>
<dep.log4j.version>1.2.17</dep.log4j.version>
<dep.commons-lang3.version>3.1</dep.commons-lang3.version>
<dep.commons-lang.version>2.6</dep.commons-lang.version>
<dep.commons-configuration.version>1.10</dep.commons-configuration.version>
<dep.commons-codec.version>1.8</dep.commons-codec.version>
<dep.commons-collections.version>3.2.1</dep.commons-collections.version>
<dep.commons-io.version>2.4</dep.commons-io.version>
<dep.commons-beanutils.version>1.8.3</dep.commons-beanutils.version>
<dep.junit.version>4.11</dep.junit.version>
<dep.testng.version>6.8.8</dep.testng.version>
<dep.easymock.version>3.2</dep.easymock.version>
<dep.hamcrest.version>1.3</dep.hamcrest.version>
<dep.mockito.version>1.9.5</dep.mockito.version>
<dep.objenesis.version>2.1</dep.objenesis.version>
<dep.airlift.version>0.86</dep.airlift.version>
</properties>
<prerequisites>
<maven>${fb.maven.version}</maven>
</prerequisites>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>${dep.plugin.scm.version}</version>
</extension>
<extension>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-manager-plexus</artifactId>
<version>${dep.plugin.scm.version}</version>
</extension>
<extension>
<groupId>com.github.stephenc.wagon</groupId>
<artifactId>wagon-gitsite</artifactId>
<version>0.4.1</version>
</extension>
</extensions>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->
<!-- The plugin versions in here are pure "range", don't bother syncing them to the actual plugins. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<versionRange>[0,)</versionRange>
<goals>
<goal>enforce</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.ning.maven.plugins</groupId>
<artifactId>maven-dependency-versions-check-plugin</artifactId>
<versionRange>[0,)</versionRange>
<goals>
<goal>check</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>${dep.plugin.scm.version}</version>
<configuration>
<connectionType>developerConnection</connectionType>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<!-- Don't deploy any part of a multimodule project unless tests
and checks for all previous phases have succeeded -->
<deployAtEnd>true</deployAtEnd>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<!-- Don't install any part of a multimodule project unless tests
and checks for all previous phases have succeeded -->
<installAtEnd>true</installAtEnd>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>default</id>
<phase>verify</phase>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
<configuration>
<skip>${fb.check.skip-enforcer}</skip>
<fail>${fb.check.fail-enforcer}</fail>
<failFast>false</failFast>
<rules>
<!-- The following dependencies are hazardous for builds. -->
<bannedDependencies>
<excludes>
<!-- clashes with commons-logging:commons-logging -->
<exclude>commons-logging:commons-logging-api</exclude>
<!-- clashes with cglib:cglib-nodep -->
<exclude>cglib:cglib</exclude>
<!-- junit repackages hamcrest into its own jar, which is a big no-no.
junit-dep fixes this problem -->
<exclude>junit:junit:[,4.11)</exclude>
<!-- use guava -->
<exclude>com.google.collections:google-collections</exclude>
<!-- but not the badly numbered ones... -->
<exclude>com.google.guava:guava</exclude>
<!-- Clashes with com.google.code.findbugs:annotations and having both jars -->
<!-- as a dependency then clashes with the dependency checker (because it -->
<!-- is not very good at handling annotations). Use the annotations jar -->
<!-- instead which has all jsr305 annotations and the additional findbugs -->
<!-- stuff. -->
<exclude>com.google.code.findbugs:jsr305</exclude>
<!-- Use the official version at javax.servlet:javax.servlet-api -->
<exclude>org.eclipse.jetty.orbit:javax.servlet</exclude>
<exclude>org.mortbay.jetty:servlet-api</exclude>
<exclude>org.mortbay.jetty:servlet-api-2.5</exclude>
</excludes>
<includes>
<!-- whitelist the well numbered guava releases -->
<include>com.google.guava:guava:[10.0.1,)</include>
</includes>
</bannedDependencies>
<requireMavenVersion>
<version>${fb.maven.version}</version>
</requireMavenVersion>
<requireJavaVersion>
<version>${project.build.targetJdk}</version>
</requireJavaVersion>
</rules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<configuration>
<skip>${fb.check.skip-dependency}</skip>
<failOnWarning>${fb.check.fail-dependency}</failOnWarning>
<ignoreNonCompile>true</ignoreNonCompile>
</configuration>
<executions>
<execution>
<id>default</id>
<phase>verify</phase>
<goals>
<goal>analyze-only</goal>
<goal>analyze-duplicate</goal>
<goal>analyze-dep-mgt</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Tweak the compiler to use more memory and use UTF-8 for the source code. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${project.build.targetJdk}</source>
<target>${project.build.targetJdk}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<maxmem>${fb.build.jvmsize}</maxmem>
<showWarnings>true</showWarnings>
<compilerArguments>
<Werror />
</compilerArguments>
</configuration>
</plugin>
<!-- Resource plugins should always use UTF-8 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<!-- must be true for jar-with-dependencies builds -->
<appendAssemblyId>true</appendAssemblyId>
<!-- Always use GNU tar mode. -->
<tarLongFileMode>gnu</tarLongFileMode>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${dep.plugin.surefire.version}</version>
<configuration>
<argLine>${argLine} -Dfile.encoding=${project.build.sourceEncoding}</argLine>
<systemPropertyVariables>
<sun.jnu.encoding>${project.build.sourceEncoding}</sun.jnu.encoding>
<user.timezone>UTC</user.timezone>
<java.awt.headless>true</java.awt.headless>
</systemPropertyVariables>
<forkMode>${fb.test.fork-mode}</forkMode>
<runOrder>random</runOrder>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5</version>
<configuration>
<releaseProfiles>oss-release</releaseProfiles>
<autoVersionSubmodules>true</autoVersionSubmodules>
<mavenExecutorId>forked-path</mavenExecutorId>
<pushChanges>${fb.release.push-changes}</pushChanges>
<localCheckout>true</localCheckout>
<preparationGoals>clean install</preparationGoals>
<useReleaseProfile>false</useReleaseProfile>
<goals>deploy</goals>
<arguments combine.self="override" />
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${dep.plugin.javadoc.version}</version>
<configuration>
<source>${project.build.targetJdk}</source>
<target>${project.build.targetJdk}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<maxmemory>${fb.build.jvmsize}</maxmemory>
<additionalparam>-quiet</additionalparam>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>verify</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Always build a jar with the test classes -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>attach-tests</id>
<phase>package</phase>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- do not build an empty jar if the project is
e.g. a pom project -->
<skipIfEmpty>true</skipIfEmpty>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<addClasspath>false</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
<!-- bundle up source code into jars for both the main and the test sources -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
<goal>test-jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.ning.maven.plugins</groupId>
<artifactId>maven-duplicate-finder-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<id>default</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<skip>${fb.check.skip-duplicate-finder}</skip>
<failBuildInCaseOfConflict>${fb.check.fail-duplicate-finder}</failBuildInCaseOfConflict>
<exceptions>
<!-- Well done, Apache... -->
<exception>
<conflictingDependencies>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils-core</artifactId>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
</conflictingDependencies>
<classes>
<class>org.apache.commons.collections.ArrayStack</class>
<class>org.apache.commons.collections.Buffer</class>
<class>org.apache.commons.collections.BufferUnderflowException</class>
<class>org.apache.commons.collections.FastHashMap</class>
</classes>
</exception>
<exception>
<conflictingDependencies>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils-core</artifactId>
</dependency>
</conflictingDependencies>
<packages>
<package>org.apache.commons.beanutils</package>
</packages>
</exception>
</exceptions>
<!-- Ruby is hopeless -->
<ignoredDependencies>
<dependency>
<groupId>org.jruby</groupId>
<artifactId>jruby-complete</artifactId>
</dependency>
</ignoredDependencies>
<ignoredResources>
<ignoredResource>.*\.html</ignoredResource>
<ignoredResource>META-INF/.*</ignoredResource>
<ignoredResource>about_files/.*</ignoredResource>
<ignoredResource>plugin\.properties</ignoredResource>
<ignoredResource>.*\.java</ignoredResource>
</ignoredResources>
</configuration>
</plugin>
<plugin>
<groupId>com.ning.maven.plugins</groupId>
<artifactId>maven-dependency-versions-check-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<skip>${fb.check.skip-dependency-version-check}</skip>
<failBuildInCaseOfConflict>${fb.check.fail-dependency-version-check}</failBuildInCaseOfConflict>
<failOnWarning>${fb.check.fail-dependency-version-check}</failOnWarning>
</configuration>
<executions>
<execution>
<id>default</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${dep.plugin.findbugs.version}</version>
<dependencies>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>findbugs</artifactId>
<version>${dep.findbugs.version}</version>
</dependency>
</dependencies>
<configuration>
<skip>${fb.check.skip-findbugs}</skip>
<jvmargs>-Xmx${fb.build.jvmsize}</jvmargs>
<failOnError>${fb.check.fail-findbugs}</failOnError>
</configuration>
<executions>
<execution>
<id>default</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${dep.plugin.pmd.version}</version>
<dependencies>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd</artifactId>
<version>${dep.pmd.version}</version>
</dependency>
</dependencies>
<configuration>
<skip>${fb.check.skip-pmd}</skip>
<failOnViolation>${fb.check.fail-pmd}</failOnViolation>
<failurePriority>4</failurePriority>
<targetJdk>${project.build.targetJdk}</targetJdk>
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
<minimumTokens>100</minimumTokens>
<excludes>
<exclude>**/*Bean.java</exclude>
<exclude>**/generated/*.java</exclude>
</excludes>
<excludeRoots>
<excludeRoot>target/generated-sources/stubs</excludeRoot>
</excludeRoots>
<rulesets>
<!-- it would be great to use no rules here but then PMD crashes -->
<!-- https://sourceforge.net/p/pmd/bugs/1155/ -->
<!-- so use the least offensive one -->
<ruleset>/rulesets/java/braces.xml</ruleset>
</rulesets>
</configuration>
<executions>
<execution>
<id>default</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>2.5</version>
<configuration>
<skip>${fb.check.skip-license}</skip>
<skipExistingHeaders>true</skipExistingHeaders>
<failIfMissing>${fb.check.fail-license}</failIfMissing>
<header>${fb.main.basedir}/src/license/LICENSE-HEADER.txt</header>
<mapping>
<java>SLASHSTAR_STYLE</java>
</mapping>
<properties>
<inceptionYear>${project.inceptionYear}</inceptionYear>
</properties>
<headerSections>
<headerSection>
<key>COPYRIGHT_SECTION</key>
<defaultValue>Copyright (C) ${project.inceptionYear} Facebook, Inc.</defaultValue>
<ensureMatch>Copyright \(C\) \d{4} .+</ensureMatch>
<multiLineMatch>false</multiLineMatch>
</headerSection>
</headerSections>
<strictCheck>true</strictCheck>
<aggregate>true</aggregate>
<useDefaultExcludes>true</useDefaultExcludes>
<encoding>${project.build.sourceEncoding}</encoding>
<excludes>
<exclude>.*/**</exclude>
<exclude>**/*.md</exclude>
<exclude>**/*.sh</exclude>
<exclude>**/*.txt</exclude>
<exclude>**/*.thrift</exclude>
<exclude>**/*.proto</exclude>
<exclude>**/*.g</exclude>
<exclude>**/*.releaseBackup</exclude>
<exclude>**/*.vm</exclude>
<exclude>**/*.st</exclude>
<exclude>**/*.raw</exclude>
<exclude>**/*.ser</exclude>
<exclude>**/src/license/**.txt</exclude>
</excludes>
<includes>
<include>src/**</include>
<include>**/pom.xml</include>
</includes>
</configuration>
<executions>
<execution>
<id>default</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${dep.plugin.jacoco.version}</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
<configuration>
<skip>${fb.check.skip-jacoco}</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.4</version>
<configuration>
<useAgent>true</useAgent>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${dep.plugin.site.version}</version>
</plugin>
</plugins>
</pluginManagement>
<!-- This is the list of plugins used for the main build. -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.ning.maven.plugins</groupId>
<artifactId>maven-dependency-versions-check-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.ning.maven.plugins</groupId>
<artifactId>maven-duplicate-finder-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
<reportSets>
<reportSet>
<id>default</id>
<reports>
<report>dependencies</report>
<report>dependency-convergence</report>
<report>dependency-info</report>
<report>dependency-management</report>
<report>distribution-management</report>
<report>index</report>
<report>license</report>
<report>modules</report>
<report>plugin-management</report>
<report>plugins</report>
<report>project-team</report>
<report>scm</report>
<report>summary</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>${dep.plugin.surefire.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${dep.plugin.javadoc.version}</version>
<configuration>
<source>${project.build.targetJdk}</source>
<target>${project.build.targetJdk}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<maxmemory>${fb.build.jvmsize}</maxmemory>
<additionalparam>-quiet</additionalparam>
</configuration>
<reportSets>
<reportSet>
<id>default</id>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.3</version>
<reportSets>
<reportSet>
<id>default</id>
<reports>
<report>jxr</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${dep.plugin.pmd.version}</version>
<reportSets>
<reportSet>
<reports>
<report>pmd</report>
</reports>
</reportSet>
</reportSets>
<configuration>
<targetJdk>${project.build.targetJdk}</targetJdk>
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
<minimumTokens>100</minimumTokens>
<excludes>
<exclude>**/*Bean.java</exclude>
<exclude>**/generated/*.java</exclude>
</excludes>
<excludeRoots>
<excludeRoot>target/generated-sources/stubs</excludeRoot>
</excludeRoots>
<rulesets>
<ruleset>/rulesets/basic.xml</ruleset>
<ruleset>/rulesets/clone.xml</ruleset>
<ruleset>/rulesets/finalizers.xml</ruleset>
</rulesets>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${dep.plugin.findbugs.version}</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${dep.plugin.jacoco.version}</version>
</plugin>
</plugins>
</reporting>
<!-- The following dependency should be the same everywhere. -->
<dependencyManagement>
<dependencies>
<!-- Google Guice -->
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>${dep.guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-servlet</artifactId>
<version>${dep.guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-assistedinject</artifactId>
<version>${dep.guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-multibindings</artifactId>
<version>${dep.guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-throwingproviders</artifactId>
<version>${dep.guice.version}</version>
</dependency>
<!-- Java Base libs (aka JDK 2) -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${dep.guava.version}</version>
</dependency>
<!-- Java APIs -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>${dep.javax-inject.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${dep.javax-servlet.version}</version>
</dependency>
<!-- Joda -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${dep.joda.version}</version>
</dependency>
<!-- logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${dep.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jcl</artifactId>
<version>${dep.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>${dep.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${dep.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>${dep.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${dep.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-ext</artifactId>
<version>${dep.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${dep.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>${dep.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${dep.slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${dep.logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${dep.logback.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${dep.log4j.version}</version>
</dependency>
<!-- Apache commons components -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${dep.commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>${dep.commons-lang.version}</version>
</dependency>
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>${dep.commons-configuration.version}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${dep.commons-codec.version}</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>${dep.commons-collections.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${dep.commons-io.version}</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>${dep.commons-beanutils.version}</version>
</dependency>
<!-- Airlift components -->
<dependency>
<groupId>io.airlift</groupId>
<artifactId>bootstrap</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>configuration</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>concurrent</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>dbpool</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>discovery</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>event</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>http-client</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>http-server</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>jaxrs</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>jmx-http-rpc</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>jmx-http</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>jmx</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>json</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>launcher</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>log</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>log-manager</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>node</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>packaging</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>stats</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>testing</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>trace-token</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>units</artifactId>
<version>${dep.airlift.version}</version>
</dependency>
<!-- findbugs -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
<version>${dep.findbugs.version}</version>
</dependency>
<!-- Testing -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit-dep</artifactId>
<version>${dep.junit.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${dep.junit.version}</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${dep.testng.version}</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>${dep.easymock.version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>${dep.hamcrest.version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>${dep.hamcrest.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${dep.mockito.version}</version>
</dependency>
<dependency>
<groupId>org.objenesis</groupId>
<artifactId>objenesis</artifactId>
<version>${dep.objenesis.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<profiles>
<profile>
<id>oss-release</id>
<build>
<plugins>
<!-- oss requires a javadoc jar. Build one when releasing. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<!-- Sign artifacts using gpg for oss upload -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
Jump to Line
Something went wrong with that request. Please try again.