<?xml version="1.0"?>
<!--
 * Copyright (c) 2012, jcabi.com
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met: 1) Redistributions of source code must retain the above
 * copyright notice, this list of conditions and the following
 * disclaimer. 2) Redistributions in binary form must reproduce the above
 * copyright notice, this list of conditions and the following
 * disclaimer in the documentation and/or other materials provided
 * with the distribution. 3) Neither the name of the jcabi.com nor
 * the names of its contributors may be used to endorse or promote
 * products derived from this software without specific prior written
 * permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * @link http://www.sonatype.com/books/nexus-book/reference/staging-sect-managing-plugin.html
 -->
<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">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.jcabi</groupId>
    <artifactId>parent</artifactId>
    <version>0.2</version>
    <packaging>pom</packaging>
    <name>parent</name>
    <description>jcabi parent POM</description>
    <url>http://www.jcabi.com</url>
    <inceptionYear>2012</inceptionYear>
    <organization>
        <name>jcabi.com</name>
        <url>http://www.jcabi.com</url>
    </organization>
    <licenses>
        <license>
            <name>BSD</name>
            <url>http://www.jcabi.com/LICENSE.txt</url>
            <distribution>repo</distribution>
            <comments>BSD License</comments>
        </license>
    </licenses>
    <developers>
        <developer>
            <id>1</id>
            <name>Yegor Bugayenko</name>
            <email>yegor@tpc2.com</email>
            <organization>jcabi.com</organization>
            <organizationUrl>http://www.jcabi.com</organizationUrl>
            <roles>
                <role>Architect</role>
                <role>Developer</role>
            </roles>
            <timezone>-7</timezone>
        </developer>
    </developers>
    <issueManagement>
        <system>github</system>
        <url>https://github.com/yegor256/jcabi</url>
    </issueManagement>
    <ciManagement>
        <system>jenkins</system>
        <url>http://ci.jcabi.com:8080/job/jcabi/</url>
    </ciManagement>
    <scm>
        <connection>scm:git:github.com:yegor256/jcabi.git</connection>
        <developerConnection>scm:git:github.com:yegor256/jcabi.git</developerConnection>
        <url>scm:git:github.com:yegor256/jcabi.git</url>
    </scm>
    <distributionManagement>
        <downloadUrl>https://oss.sonatype.org/content/groups/public</downloadUrl>
        <repository>
            <id>oss.sonatype.org</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
        </repository>
        <snapshotRepository>
            <id>oss.sonatype.org</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <site>
            <!--
            Deploying the site to Amazon S3. "jcabi.s3" server details
            are defined in "settings.xml" file, provided by continuous integration
            server during build cycle.
            -->
            <id>www.jcabi.com</id>
            <name>jcabi.com Project Site</name>
            <url>s3://www.jcabi.com/</url>
        </site>
    </distributionManagement>
    <prerequisites>
        <maven>3.0</maven>
    </prerequisites>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!--
        ISO 8601, see http://en.wikipedia.org/wiki/ISO_8601. This
        property is defined in order to give us an ability to use ${maven.build.timestamp}
        later in the file
        -->
        <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
        <jcabi.version since="23 Nov 2012">0.7</jcabi.version>
    </properties>
    <repositories>
        <!--
        intentionally empty
        @see http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/
        -->
    </repositories>
    <pluginRepositories>
        <!--
        intentionally empty
        @see http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/
        -->
    </pluginRepositories>
    <profiles>
        <profile>
            <id>jdk7-fix</id>
            <activation>
                <file>
                    <exists>${java.home}/../lib/tools.jar</exists>
                </file>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>com.sun.tools.jxc.maven2</groupId>
                            <artifactId>maven-jaxb-schemagen-plugin</artifactId>
                            <dependencies>
                                <dependency>
                                    <groupId>com.sun</groupId>
                                    <artifactId>tools</artifactId>
                                    <version>1.7</version>
                                    <scope>system</scope>
                                    <systemPath>${java.home}/../lib/tools.jar</systemPath>
                                </dependency>
                            </dependencies>
                        </plugin>
                        <plugin>
                            <artifactId>maven-plugin-plugin</artifactId>
                            <dependencies>
                                <dependency>
                                    <groupId>com.sun</groupId>
                                    <artifactId>tools</artifactId>
                                    <version>1.7</version>
                                    <scope>system</scope>
                                    <systemPath>${java.home}/../lib/tools.jar</systemPath>
                                </dependency>
                            </dependencies>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>sonatype</id>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <artifactId>maven-deploy-plugin</artifactId>
                            <configuration>
                                <skip>true</skip>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version since="29 Aug 2012">1.0.2</version>
                        <configuration>
                            <serverId>oss.sonatype.org</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <stagingRepositoryId>jcabi</stagingRepositoryId>
                            <deployUrl>https://oss.sonatype.org/service/local/staging/deploy/maven2</deployUrl>
                            <description>${project.version}</description>
                        </configuration>
                        <executions>
                            <execution>
                                <id>deploy-to-sonatype</id>
                                <phase>deploy</phase>
                                <goals>
                                    <goal>deploy</goal>
                                    <goal>close</goal>
                                    <goal>release</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!--
            Static quality analysis with Qulice and other tools.
            -->
            <id>qulice</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.qulice</groupId>
                        <artifactId>qulice-maven-plugin</artifactId>
                        <version since="18 Nov 2012">0.2.2</version>
                        <configuration>
                            <license>file:${basedir}/LICENSE.txt</license>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>com.ning.maven.plugins</groupId>
                        <artifactId>maven-duplicate-finder-plugin</artifactId>
                        <version since="30 May 2012">1.0.3</version>
                        <configuration>
                            <failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
                            <checkTestClasspath>false</checkTestClasspath>
                            <ignoredResources>
                                <ignoredResource>META-INF/.*</ignoredResource>
                            </ignoredResources>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <!--
                        @todo #26 This is a temporary measure, until
                         Qulice implements this validation. Once it's implemented
                         in qulice - just remove this plugin from here.
                        -->
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>analyze-only</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>analyze-only</goal>
                                </goals>
                                <configuration>
                                    <ignoreNonCompile>true</ignoreNonCompile>
                                    <failOnWarning>true</failOnWarning>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <version since="7 Nov 2012">2.3</version>
                        <dependencies>
                            <dependency>
                                <groupId>com.jcabi</groupId>
                                <artifactId>jcabi-assembly</artifactId>
                                <version since="23 Nov 2012">0.7</version>
                            </dependency>
                        </dependencies>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <descriptorRefs>
                                        <descriptorRef>jcabi-sources</descriptorRef>
                                    </descriptorRefs>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!--
            Site for production deployment.
            -->
            <id>site</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-site-plugin</artifactId>
                        <version since="7 Nov 2012">3.2</version>
                        <configuration>
                            <generateSitemap>true</generateSitemap>
                            <reportPlugins>
                                <plugin>
                                    <artifactId>maven-project-info-reports-plugin</artifactId>
                                    <version since="7 Nov 2012">2.6</version>
                                    <configuration>
                                        <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
                                        <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                                    </configuration>
                                    <reportSets>
                                        <reportSet>
                                            <reports>
                                                <report>cim</report>
                                                <report>dependencies</report>
                                                <report>issue-tracking</report>
                                                <report>license</report>
                                                <report>mailing-list</report>
                                                <report>plugins</report>
                                                <report>project-team</report>
                                                <report>scm</report>
                                                <report>summary</report>
                                            </reports>
                                        </reportSet>
                                    </reportSets>
                                </plugin>
                                <plugin>
                                    <!--
                                    API documentation builder. It will produce documentation
                                    which is then to be used in site:site. It will be
                                    located at target/site/apidocs.
                                    -->
                                    <artifactId>maven-javadoc-plugin</artifactId>
                                    <configuration>
                                        <failOnError>true</failOnError>
                                        <windowtitle>
                                            ${project.name} ${project.version} API
                                        </windowtitle>
                                        <quiet>true</quiet>
                                        <links>
                                            <link>http://download.oracle.com/javaee/6/api/</link>
                                            <link>http://sonatype.github.com/sonatype-aether/apidocs/</link>
                                            <link>http://hamcrest.org/JavaHamcrest/javadoc/1.3/</link>
                                            <link>http://docs.mockito.googlecode.com/hg/latest/</link>
                                            <link>http://www.h2database.com/javadoc/</link>
                                            <link>http://jolbox.com/bonecp/downloads/site/apidocs/</link>
                                        </links>
                                        <detectLinks>true</detectLinks>
                                        <tags>
                                            <!--
                                            Here we instruct plugin to use custom tag
                                            @link http://maven.apache.org/plugins/maven-javadoc-plugin/examples/tag-configuration.html
                                            -->
                                            <tag>
                                                <name>todo</name>
                                                <placement>a</placement>
                                                <head>To do:</head>
                                            </tag>
                                            <tag>
                                                <name>checkstyle</name>
                                                <placement>a</placement>
                                                <head>Suppressed Checkstyle violations:</head>
                                            </tag>
                                        </tags>
                                    </configuration>
                                    <reportSets>
                                        <reportSet>
                                            <id>html</id>
                                            <reports>
                                                <report>javadoc</report>
                                            </reports>
                                            <configuration>
                                                <sourcepath>src/main/java</sourcepath>
                                                <destDir>apidocs-${project.version}</destDir>
                                            </configuration>
                                        </reportSet>
                                        <reportSet>
                                            <id>mock</id>
                                            <reports>
                                                <report>test-javadoc</report>
                                            </reports>
                                            <configuration>
                                                <sourcepath>src/mock/java</sourcepath>
                                                <destDir>testapidocs-${project.version}</destDir>
                                            </configuration>
                                        </reportSet>
                                    </reportSets>
                                </plugin>
                                <plugin>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>cobertura-maven-plugin</artifactId>
                                    <version since="10 Aug 2012">2.5.1</version>
                                </plugin>
                                <plugin>
                                    <artifactId>maven-plugin-plugin</artifactId>
                                    <version since="7 Nov 2012">3.1</version>
                                </plugin>
                            </reportPlugins>
                        </configuration>
                        <executions>
                            <execution>
                                <id>attach-descriptor</id>
                                <goals>
                                    <goal>attach-descriptor</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!--
            Sign artifacts before installation with GPG.
            -->
            <id>gpg</id>
            <activation>
                <property>
                    <name>gpg.keyname</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <!--
                        To GPG-sign the artifact before deployment to foreign
                        repository. GPG keys have to be provided in CI
                        environment, and published beforehand.
                        @link http://www.sonatype.com/people/2010/01/how-to-generate-pgp-signatures-with-maven/
                        -->
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version since="7 Nov 2012">1.4</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!--
            Package MOCK artifact.
            -->
            <id>mock</id>
            <activation>
                <file>
                    <exists>${basedir}/src/mock</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <version since="2 Dec 2011">1.7</version>
                        <executions>
                            <execution>
                                <id>add-test-sources</id>
                                <phase>validate</phase>
                                <goals>
                                    <goal>add-test-source</goal>
                                </goals>
                                <configuration>
                                    <sources>
                                        <source>${basedir}/src/mock/java</source>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-jar-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>mock-artifact</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                                <configuration>
                                    <classesDirectory>${project.build.testOutputDirectory}</classesDirectory>
                                    <archive>
                                        <index>true</index>
                                        <manifest>
                                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                        </manifest>
                                    </archive>
                                    <classifier>mock</classifier>
                                    <includes>
                                        <include>**/*Mocker.class</include>
                                        <include>**/*Mocker$*.class</include>
                                    </includes>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>antlr3</id>
            <activation>
                <file>
                    <exists>${basedir}/src/main/antlr3</exists>
                </file>
            </activation>
            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <!--
                        ANTLR3 Parser/Lexer
                        @link http://www.antlr.org/
                        -->
                        <groupId>org.antlr</groupId>
                        <artifactId>antlr-runtime</artifactId>
                        <version since="9 Jan 2012">3.4</version>
                    </dependency>
                </dependencies>
            </dependencyManagement>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.antlr</groupId>
                        <artifactId>antlr3-maven-plugin</artifactId>
                        <version since="6 Jan 2012">3.4</version>
                        <executions>
                            <execution>
                                <id>antlr</id>
                                <goals>
                                    <goal>antlr</goal>
                                </goals>
                                <phase>generate-sources</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>aspectj</id>
            <activation>
                <file>
                    <exists>${basedir}/src/main/aj</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>aspectj-maven-plugin</artifactId>
                        <version since="27 May 2012">1.4</version>
                        <configuration>
                            <complianceLevel>1.6</complianceLevel>
                            <encoding>${project.build.sourceEncoding}</encoding>
                            <showWeaveInfo>false</showWeaveInfo>
                            <source>1.6</source>
                            <target>1.6</target>
                            <verbose>false</verbose>
                            <Xlint>warning</Xlint>
                            <argumentFileName>builddef-${project.name}.lst</argumentFileName>
                            <aspectLibraries>
                                <aspectLibrary>
                                    <groupId>com.jcabi</groupId>
                                    <artifactId>jcabi-aspects</artifactId>
                                </aspectLibrary>
                            </aspectLibraries>
                        </configuration>
                        <executions>
                            <execution>
                                <id>weave-classes</id>
                                <phase>process-classes</phase>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <!--
                Reader of META-INF/MANIFEST.MF files
                -->
                <groupId>com.jcabi</groupId>
                <artifactId>jcabi-manifests</artifactId>
                <version>${jcabi.version}</version>
            </dependency>
            <dependency>
                <!--
                Logging facility.
                -->
                <groupId>com.jcabi</groupId>
                <artifactId>jcabi-log</artifactId>
                <version>${jcabi.version}</version>
            </dependency>
            <dependency>
                <!-- Aspects -->
                <groupId>com.jcabi</groupId>
                <artifactId>jcabi-aspects</artifactId>
                <version>${jcabi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjrt</artifactId>
                <!-- this one is compliant with aspectj-maven-plugin -->
                <version since="27 May 2012">1.6.11</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version since="27 May 2012">1.1.0.Alpha1</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version since="27 May 2012">4.3.0.Final</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <!--
                We are using JUnit framework for unit test organization
                and management. This framework is the most stable and mature
                in the market. Other options considered: TestNG.
                @link http://www.junit.org/
                -->
                <groupId>junit</groupId>
                <artifactId>junit-dep</artifactId>
                <version since="25 Nov 2011">4.10</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>hamcrest-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <!--
                Assertions and matchers for unit tests.
                @link http://code.google.com/p/hamcrest/wiki/Tutorial
                -->
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-core</artifactId>
                <version since="23 Dec 2011">1.3</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <!--
                Assertions and matchers for unit tests.
                @link http://code.google.com/p/hamcrest/wiki/Tutorial
                -->
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-library</artifactId>
                <version since="23 Dec 2011">1.3</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <!--
                Mockito is used as a mocking library during testing.
                Other options: jMock.
                @link http://www.mockito.org/
                -->
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version since="17 Apr 2012">1.9.0</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>hamcrest-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <!-- Base64 and other codecs -->
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version since="23 Nov 2012">1.7</version>
            </dependency>
            <dependency>
                <!-- String manipulations -->
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version since="23 Nov 2012">2.6</version>
            </dependency>
            <dependency>
                <!-- for file/stream manipulations -->
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version since="23 Nov 2012">2.4</version>
            </dependency>
            <dependency>
                <!--
                This library simplifies collections-management operations.
                -->
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version since="1 Mar 2012">3.2.1</version>
            </dependency>
            <dependency>
                <!-- Forward all calls to SLF4J to LOG4J. -->
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version since="19 Sep 2011">1.6.2</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <!-- Use LOG4J logging facility for all loggings. -->
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version since="19 Sep 2011">1.2.16</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <resources>
            <!--
            Filter resources in "process-resources" phase
            @link http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
            -->
            <resource>
                <directory>${basedir}/src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <testResources>
            <!--
            Filter resources in "process-resources" phase
            @link http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
            -->
            <testResource>
                <directory>${basedir}/src/test/resources</directory>
                <filtering>true</filtering>
            </testResource>
        </testResources>
        <extensions>
            <extension>
                <groupId>org.kuali.maven.wagons</groupId>
                <artifactId>maven-s3-wagon</artifactId>
                <version since="20 Sep 2012">1.1.14</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <!--
                This plugin will collect current build number
                from Git and save it into Maven property
                -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version since="5 Aug 2012">1.1</version>
                <executions>
                    <execution>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                        <configuration>
                            <buildNumberPropertyName>buildNumber</buildNumberPropertyName>
                            <doCheck>false</doCheck>
                            <doUpdate>false</doUpdate>
                            <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version since="7 Nov 2012">2.5</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version since="7 Nov 2012">2.7</version>
                </plugin>
                <plugin>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version since="7 Nov 2012">2.5.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <version since="7 Nov 2012">2.2.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version since="7 Nov 2012">2.4</version>
                </plugin>
                <plugin>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version since="7 Nov 2012">2.9</version>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version since="7 Nov 2012">2.4</version>
                    <configuration>
                        <archive>
                            <manifestEntries>
                                <JCabi-Version>${project.version}</JCabi-Version>
                                <JCabi-Build>${buildNumber}</JCabi-Build>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version since="23 Nov 2012">2.6</version>
                </plugin>
                <plugin>
                    <!--
                    Starts unit tests, protocols their results and creates
                    a summary report. It is required to send testing protocol
                    to the STDOUT as well, not only to the file.
                    -->
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version since="23 Nov 2012">2.12.4</version>
                    <configuration>
                        <useFile>false</useFile>
                        <runOrder>random</runOrder>
                        <trimStackTrace>false</trimStackTrace>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version since="23 Nov 2012">3.0</version>
                    <configuration>
                        <source>1.6</source>
                        <target>1.6</target>
                        <optimize>true</optimize>
                        <showWarnings>true</showWarnings>
                        <showDeprecation>true</showDeprecation>
                        <compilerArguments>
                            <Xlint/>
                            <Werror/>
                            <Xlint:-path/>
                            <!-- @see https://blogs.oracle.com/darcy/entry/bootclasspath_older_source -->
                            <Xlint:-options/>
                            <!-- @see http://netbeans.org/bugzilla/show_bug.cgi?format=multiple&id=208666 -->
                            <!-- this is to avoid a problem with ANTLR and JDK7 -->
                            <Xlint:-classfile/>
                            <!-- @see http://stackoverflow.com/questions/10738609 -->
                            <proc:none/>
                        </compilerArguments>
                        <testExcludes>
                            <exclude>**/package-info.java</exclude>
                        </testExcludes>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-site-plugin</artifactId>
                    <version since="7 Nov 2012">3.2</version>
                    <configuration>
                        <reportPlugins>
                            <!--
                            Section is intentionally empty. Full list of plugins
                            is configured in "CI" profile. We don't need all them
                            during development, that's why they are not here.
                            -->
                        </reportPlugins>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version since="23 Nov 2012">1.7</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>aspectj-maven-plugin</artifactId>
                    <version since="27 May 2012">1.4</version>
                    <configuration>
                        <complianceLevel>1.6</complianceLevel>
                        <encoding>${project.build.sourceEncoding}</encoding>
                        <showWeaveInfo>false</showWeaveInfo>
                        <source>1.6</source>
                        <target>1.6</target>
                        <verbose>false</verbose>
                        <Xlint>warning</Xlint>
                        <argumentFileName>builddef-${project.name}.lst</argumentFileName>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <reporting>
        <!--
        Rudimentary section, for Maven 2.0 plugins mostly.
        -->
        <excludeDefaults/>
    </reporting>
</project>
