parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.jcabi</groupId> <artifactId>parent</artifactId> <version>0.69.2</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- * SPDX-FileCopyrightText: Copyright (c) 2012-2025 Yegor Bugayenko * SPDX-License-Identifier: MIT --> <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.69.2</version> <packaging>pom</packaging> <name>parent</name> <description>Parent POM.xml with most oftenly used pre-configured features</description> <url>https://www.jcabi.com/parent</url> <inceptionYear>2012</inceptionYear> <organization> <name>jcabi.com</name> <url>https://www.jcabi.com</url> </organization> <licenses> <license> <name>BSD</name> <url>https://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>yegor256@gmail.com</email> <organization>Zerocracy</organization> <organizationUrl>https://www.zerocracy.com</organizationUrl> <roles> <role>Architect</role> <role>Developer</role> </roles> <timezone>+3</timezone> </developer> </developers> <issueManagement> <system>github</system> <url>https://github.com/jcabi/jcabi-parent/issues</url> </issueManagement> <ciManagement> <system>travis</system> <url>https://travis-ci.org/jcabi/jcabi-parent</url> </ciManagement> <scm> <connection>scm:git:github.com:jcabi/jcabi-parent.git</connection> <developerConnection>scm:git:github.com:jcabi/jcabi-parent.git</developerConnection> <url>https://github.com/jcabi/jcabi-parent</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> <id>parent.jcabi.com</id> <url>https://parent.jcabi.com/</url> </site> </distributionManagement> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- 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> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <skipITs/> </properties> <repositories> <!-- You should keep it empty in your project. @see http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/ --> </repositories> <pluginRepositories> <!-- You should keep it empty in your project. @see http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/ --> <pluginRepository> <id>oss.sonatype.org</id> <url>https://oss.sonatype.org/content/groups/public</url> </pluginRepository> </pluginRepositories> <profiles> <profile> <!-- The profile deploys all artifacts to oss.sonatype.org repository (if you're registered there). It also skips default deployment plugin. @see http://www.jcabi.com/jcabi-parent/profile-sonatype.html --> <id>sonatype</id> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-deploy-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>jcabi-sources</id> <configuration> <forceCreation>true</forceCreation> </configuration> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <!-- Generate -javadoc.jar artifact, required by Maven Central. --> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>jcabi-javadoc</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <additionalOptions>${javadoc.opts}</additionalOptions> </configuration> </execution> </executions> </plugin> <plugin> <!-- @see http://www.sonatype.com/books/nexus-book/reference/staging-sect-deployment.html --> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.7.0</version> <extensions>true</extensions> <configuration> <serverId>oss.sonatype.org</serverId> <nexusUrl>https://oss.sonatype.org/</nexusUrl> <description>${project.version}</description> <stagingProgressTimeoutMinutes>10</stagingProgressTimeoutMinutes> </configuration> <executions> <execution> <id>jcabi-deploy-to-sonatype</id> <phase>deploy</phase> <goals> <goal>deploy</goal> <goal>release</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Static quality analysis with Qulice and other tools. This profile is supposed to be activated in continuous integration environment, right before the final approval of the build. It runs a number of static code analysis tools to validate and approve the quality of source code and the SCM repository. @see http://www.jcabi.com/jcabi-parent/profile-qulice.html --> <id>qulice</id> <build> <plugins> <plugin> <!-- Qulice-maven-plugin is a compound static analysis tool that aggregates Checkstyle, PMD, FindBugs, CodeNarc (for Groovy code) and a few other analyzers. Qulice also configures them correctly to enable the most important rules. @see http://www.qulice.com/qulice-maven-plugin/ --> <groupId>com.qulice</groupId> <artifactId>qulice-maven-plugin</artifactId> <executions> <execution> <id>jcabi-qulice-check</id> <phase>verify</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Xcop is a static validator of XML formatting. @see https://github.com/yegor256/xcop/ --> <id>xcop</id> <activation> <file> <exists>${basedir}/LICENSE.txt</exists> </file> </activation> <build> <plugins> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <phase>verify</phase> <id>jcabi-xcop</id> <configuration> <target> <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="maven.plugin.classpath"/> <property environment="env"/> <available file="xcop" filepath="${env.PATH}" property="xcop.present"/> <if> <equals arg1="${xcop.present}" arg2="true"/> <then> <patternset id="xcop.main"> <include name="**/*.xml"/> <include name="**/*.xsl"/> <include name="**/*.xsd"/> <exclude name="**/target/**/*"/> <exclude name=".idea/**/*"/> </patternset> <condition property="xcop.excludes.defined"> <isreference refid="xcop.excludes"/> </condition> <if> <equals arg1="${xcop.excludes.defined}" arg2="true"/> <then> <fileset dir="." id="files"> <patternset refid="xcop.main"/> <patternset refid="xcop.excludes"/> </fileset> <pathconvert refid="files" property="converted" pathsep=" "/> </then> <else> <fileset dir="." id="files"> <patternset refid="xcop.main"/> </fileset> <pathconvert refid="files" property="converted" pathsep=" "/> </else> </if> <condition property="os.windows"> <os family="windows"/> </condition> <if> <equals arg1="${os.windows}" arg2="true"/> <then> <exec executable="cmd" failonerror="true"> <arg line="/c xcop"/> <arg value="--license"/> <arg value="LICENSE.txt"/> <arg line="${converted}"/> </exec> </then> <else> <exec executable="xcop" failonerror="true"> <arg value="--license"/> <arg value="LICENSE.txt"/> <arg line="${converted}"/> </exec> </else> </if> </then> <else> <echo message="XCOP is not available in PATH"/> </else> </if> </target> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>jcabi-doclint-java8-disable</id> <activation> <jdk>[1.8,)</jdk> </activation> <properties> <javadoc.opts>-Xdoclint:none</javadoc.opts> </properties> </profile> <profile> <!-- The profile builds site for production environment. @see https://www.jcabi.com/jcabi-parent/profile-qulice.html --> <id>site</id> <build> <plugins> <plugin> <!-- Checks the quality of Maven project documentation @see http://maven.apache.org/plugins/maven-docck-plugin/index.html --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-docck-plugin</artifactId> <version>1.2</version> <executions> <execution> <id>jcabi-check</id> <!-- It doesn't work as expected: https://jira.codehaus.org/browse/MDOCCK-27 --> <phase>never-verify</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> <configuration> <generateSitemap>true</generateSitemap> </configuration> <executions> <execution> <id>jcabi-attach-descriptor</id> <goals> <goal>attach-descriptor</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <version>3.9.0</version> <configuration> <dependencyDetailsEnabled>false</dependencyDetailsEnabled> <dependencyLocationsEnabled>false</dependencyLocationsEnabled> </configuration> <reportSets> <reportSet> <reports> <report>dependencies</report> <report>index</report> <report>plugins</report> <report>scm</report> <report>summary</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <artifactId>maven-jxr-plugin</artifactId> <version>3.6.0</version> <configuration> <aggregate>true</aggregate> </configuration> </plugin> <plugin> <artifactId>maven-surefire-report-plugin</artifactId> <version>3.5.3</version> <reportSets> <reportSet> <reports> <report>report-only</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <!-- Shows reports about recent versions of plugins and deps. @see http://mojo.codehaus.org/versions-maven-plugin/ --> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.18.0</version> <reportSets> <reportSet> <reports> <report>dependency-updates-report</report> <report>plugin-updates-report</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> <source>8</source> <quiet>true</quiet> <links> <link>https://docs.oracle.com/en/java/javase/14/docs/api/</link> </links> <detectLinks>false</detectLinks> <detectJavaApiLink>false</detectJavaApiLink> <additionalOptions>${javadoc.opts}</additionalOptions> <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>jcabi-versioned-html</id> <reports> <report>javadoc</report> </reports> <configuration> <windowtitle>${project.name} ${project.version} API</windowtitle> <doctitle>${project.name} ${project.version} API</doctitle> <sourcepath>src/main/java</sourcepath> <destDir>apidocs-${project.version}</destDir> </configuration> </reportSet> <reportSet> <id>jcabi-versioned-test</id> <reports> <report>test-javadoc</report> </reports> <configuration> <testWindowtitle>${project.name} ${project.version} Mock API</testWindowtitle> <testDoctitle>${project.name} ${project.version} Mock API</testDoctitle> <sourcepath>src/mock/java</sourcepath> <destDir>testapidocs-${project.version}</destDir> </configuration> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-report-plugin</artifactId> <version>3.15.1</version> </plugin> <plugin> <artifactId>maven-plugin-plugin</artifactId> <version>3.15.1</version> </plugin> </plugins> </reporting> </profile> <profile> <!-- Just run it with -Pjacoco and a coverage report will be generated in target/site/jacoco/jacoco.xml. Then, you can upload this file to codecov.io and enjoy the report. --> <id>jacoco</id> <build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <configuration> <output>file</output> </configuration> <executions> <execution> <id>jacoco-initialize</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>jacoco-initialize-integration</id> <goals> <goal>prepare-agent-integration</goal> </goals> </execution> <execution> <id>jacoco-report</id> <goals> <goal>report</goal> </goals> </execution> <execution> <id>jacoco-report-integration</id> <goals> <goal>report-integration</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Enable AOP AspectJ aspects. The profile is activated when you have a directory src/main/aspect (even if it's empty). The profile will apply all aspects from that folder to your classes and test classes, and also will apply com.jcabi:jcabi-aspects. It will also add JSR-303 API to the classpath. --> <id>aspectj</id> <activation> <file> <exists>${basedir}/src/main/aspect</exists> </file> </activation> <dependencies> <dependency> <groupId>com.jcabi</groupId> <artifactId>jcabi-aspects</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>com.jcabi</groupId> <artifactId>jcabi-maven-plugin</artifactId> <executions> <execution> <id>jcabi-ajc-compile</id> <phase>process-classes</phase> <goals> <goal>ajc</goal> </goals> <configuration> <tempDirectory>${project.build.directory}/jcabi-ajc</tempDirectory> <classesDirectory>${project.build.outputDirectory}</classesDirectory> <aspectDirectories> <directory>${project.basedir}/src/main/aspect</directory> </aspectDirectories> </configuration> </execution> <execution> <id>jcabi-ajc-test-compile</id> <phase>process-test-classes</phase> <goals> <goal>ajc</goal> </goals> <configuration> <tempDirectory>${project.build.directory}/jcabi-ajc-test</tempDirectory> <classesDirectory>${project.build.testOutputDirectory}</classesDirectory> <aspectDirectories> <directory>${project.basedir}/src/main/aspect</directory> <directory>${project.basedir}/src/test/aspect</directory> </aspectDirectories> <scopes> <scope>compile</scope> <scope>provided</scope> <scope>system</scope> <scope>runtime</scope> <scope>test</scope> </scopes> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Compile Clojure sources from src/main/clojure and src/test/clojure directories. --> <id>clojure</id> <activation> <file> <exists>${basedir}/src/main/clojure</exists> </file> </activation> <build> <plugins> <plugin> <groupId>com.theoryinpractise</groupId> <artifactId>clojure-maven-plugin</artifactId> <version>1.9.3</version> <configuration> <warnOnReflection>true</warnOnReflection> <vmargs>-Dlog4j.configuration=file:${basedir}/src/test/resources/log4j.properties</vmargs> </configuration> <executions> <execution> <id>jcabi-clojure</id> <goals> <goal>add-source</goal> <goal>add-test-source</goal> <goal>compile</goal> <goal>test</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Compile Groovy sources from src/main/groovy and src/test/groovy directories. --> <id>groovy</id> <activation> <file> <exists>${basedir}/src/main/groovy</exists> </file> </activation> <dependencies> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.gmavenplus</groupId> <artifactId>gmavenplus-plugin</artifactId> <version>4.2.0</version> <configuration> <verbose>true</verbose> </configuration> <executions> <execution> <id>jcabi-groovy</id> <goals> <goal>compile</goal> <goal>compileTests</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- This profile configures site deployment to github pages. See http://pages.github.com/ http://github.github.com/maven-plugins/site-plugin/site-mojo.html --> <id>gh-pages</id> <activation> <file> <exists>${basedir}/src/site/resources/CNAME</exists> </file> </activation> <properties> <github.global.server>github</github.global.server> </properties> <build> <plugins> <plugin> <artifactId>maven-site-plugin</artifactId> <configuration> <skipDeploy>true</skipDeploy> </configuration> </plugin> <plugin> <groupId>com.github.github</groupId> <artifactId>site-maven-plugin</artifactId> <configuration> <message>Site for ${project.version}</message> <path>${site.path}</path> <merge>true</merge> </configuration> <executions> <execution> <phase>site-deploy</phase> <goals> <goal>site</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Sign artifacts before installation with GPG. To enable this profile you should have "gpg.keyname" property defined. --> <id>jcabi-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>3.2.7</version> <executions> <execution> <id>jcabi-sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <gpgArguments> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Package MOCK artifact. The profile is activated when you have a directory "/src/mock/java" available. The profile will create and install a new artifact with "mock" classifier, which will include all sources from that src/mock/java folder and all required resources. --> <id>jcabi-mock</id> <activation> <file> <exists>${basedir}/src/mock/java</exists> </file> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.6.0</version> <executions> <execution> <id>jcabi-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>jcabi-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> <!-- Start maven-invoker-plugin when src/it folder is present. --> <id>jcabi-invoker</id> <activation> <file> <exists>${basedir}/src/it</exists> </file> </activation> <build> <plugins> <plugin> <artifactId>maven-invoker-plugin</artifactId> <configuration> <skipInvocation>${skipITs}</skipInvocation> </configuration> <executions> <execution> <goals> <goal>install</goal> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Generate ANTLR3 grammar. The profile is activated when you have a directory src/main/antlr3. It will activate an ANTLR3 compiler and add a runtime ANTLR3 dependency. --> <id>jcabi-antlr3</id> <activation> <file> <exists>${basedir}/src/main/antlr3</exists> </file> </activation> <dependencies> <dependency> <groupId>org.antlr</groupId> <artifactId>antlr-runtime</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.antlr</groupId> <artifactId>antlr3-maven-plugin</artifactId> <version>3.5.3</version> <executions> <execution> <id>jcabi-antlr3</id> <phase>generate-sources</phase> <goals> <goal>antlr</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>jcabi-antlr4</id> <activation> <file> <exists>${basedir}/src/main/antlr4</exists> </file> </activation> <dependencies> <dependency> <groupId>org.antlr</groupId> <artifactId>antlr4-runtime</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.antlr</groupId> <artifactId>antlr4-maven-plugin</artifactId> <!-- Don't forget to change the version of the ANTLR4-RUNTIME too! --> <version>4.13.2</version> <configuration> <sourceDirectory>src/main/antlr4</sourceDirectory> </configuration> <executions> <execution> <id>jcabi-antlr4</id> <phase>generate-sources</phase> <goals> <goal>antlr4</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Enable unit testing. The profile is activated when you have src/test/java directory in the project. It will add junit, hamcrest, and mockito artifacts to the classpath ("test" scope). --> <id>jcabi-junit</id> <activation> <file> <exists>${basedir}/src/test/java</exists> </file> </activation> <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> </dependencies> </profile> <profile> <!-- Enable LOG4J for testing and SLF4J binding. The profile is activated when you have src/test/resources/log4j.properties. When this file is present it means that you want your SLF4J logs to be sent to LOG4J during testing time. The profile will add required bindings to the classpath. --> <id>jcabi-slf4j</id> <activation> <file> <exists>${basedir}/src/test/resources/log4j.properties</exists> </file> </activation> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-reload4j</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <scope>test</scope> </dependency> </dependencies> </profile> <profile> <!-- It is a fix for schemagen in JDK7. --> <id>jcabi-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> <version>1.2</version> <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> <!-- For every Java package it creates a VERSION.txt file in "src/main/resources" directory. This is done in order to help with identification of currently used version of a package. --> <id>jcabi-versionalize-packages</id> <activation> <file> <exists>${basedir}/src/main/java</exists> </file> </activation> <build> <plugins> <plugin> <groupId>com.jcabi</groupId> <artifactId>jcabi-maven-plugin</artifactId> <executions> <execution> <id>jcabi-versionalize-packages</id> <goals> <goal>versionalize</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <dependencyManagement> <dependencies> <dependency> <!-- Aether wrapper. @see http://aether.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-aether</artifactId> <version>0.10.1</version> </dependency> <dependency> <!-- AOP Aspects. @see http://aspects.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-aspects</artifactId> <version>0.26.0</version> </dependency> <dependency> <!-- AWS DynamoDB object layer. @see http://dynamo.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-dynamo</artifactId> <version>0.22.4</version> </dependency> <dependency> <!-- Email sending SDK. @see http://email.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-email</artifactId> <version>1.12</version> </dependency> <dependency> <!-- Github API. @see http://github.jcabi.com --> <groupId>com.jcabi</groupId> <artifactId>jcabi-github</artifactId> <version>1.9.1</version> </dependency> <dependency> <!-- HTTP client. @see http://http.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-http</artifactId> <version>2.0.0</version> </dependency> <dependency> <!-- Immutable collections. @see http://immutable.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-immutable</artifactId> <version>1.5</version> </dependency> <dependency> <!-- JDBC wrapper. @see http://jdbc.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-jdbc</artifactId> <version>0.19.0</version> </dependency> <dependency> <!-- Logging facility. @see http://log.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-log</artifactId> <version>0.24.3</version> </dependency> <dependency> <!-- Reader of META-INF/MANIFEST.MF files @see http://manifests.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-manifests</artifactId> <version>2.1.0</version> </dependency> <dependency> <!-- XHTML Hamcrest matchers. @see http://matchers.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-matchers</artifactId> <version>1.8.0</version> </dependency> <dependency> <!-- Maven to SLF4J binding. @see http://slf4j.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-maven-slf4j</artifactId> <version>0.12.2</version> </dependency> <dependency> <!-- Odesk SDK. @see http://odesk.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-odesk</artifactId> <version>0.12</version> </dependency> <dependency> <!-- Amazon S3 adapter. @see http://s3.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-s3</artifactId> <version>0.19.0</version> </dependency> <dependency> <!-- AWS SimpleDB object layer. @see http://simpledb.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-simpledb</artifactId> <version>0.4.0</version> </dependency> <dependency> <!-- SSH client. @see http://ssh.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-ssh</artifactId> <version>1.9.0</version> </dependency> <dependency> <!-- URN. @see http://urn.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-urn</artifactId> <version>0.10.0</version> </dependency> <dependency> <!-- Velocity wrapper. @see http://velocity.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-velocity</artifactId> <version>0.10.0</version> </dependency> <dependency> <!-- W3C adapters. @see http://w3c.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-w3c</artifactId> <version>1.4.0</version> </dependency> <dependency> <!-- XML parsing and printing. @see http://xml.jcabi.com/ --> <groupId>com.jcabi</groupId> <artifactId>jcabi-xml</artifactId> <version>0.35.0</version> </dependency> <dependency> <!-- JSON API --> <groupId>jakarta.json</groupId> <artifactId>jakarta.json-api</artifactId> <version>2.1.3</version> <scope>provided</scope> </dependency> <dependency> <!-- JSON API --> <!-- ~ @todo #1307:15m/DEV Should be removed after updating ~ all dependent projects to jakarta namespace. ~ The following packages should also be removed: ~ org.glassfish:javax.json ~ javax.ws.rs:jsr311-api ~ javax.xml.bind:jaxb-api ~ javax.servlet:javax.servlet-api --> <groupId>javax.json</groupId> <artifactId>javax.json-api</artifactId> <version>1.1.4</version> <scope>provided</scope> </dependency> <dependency> <!-- JSON reference implementation --> <groupId>org.eclipse.parsson</groupId> <artifactId>jakarta.json</artifactId> <version>1.1.7</version> <scope>runtime</scope> </dependency> <dependency> <!-- JSON reference implementation --> <groupId>org.glassfish</groupId> <artifactId>javax.json</artifactId> <version>1.1.4</version> <scope>runtime</scope> </dependency> <dependency> <!-- JSR-311 JAX-RS API --> <groupId>jakarta.ws.rs</groupId> <artifactId>jakarta.ws.rs-api</artifactId> <version>4.0.0</version> <scope>provided</scope> </dependency> <dependency> <!-- JSR-311 JAX-RS API --> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> <version>1.1.1</version> <scope>provided</scope> </dependency> <dependency> <!-- JAXB API --> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>4.0.2</version> <scope>provided</scope> </dependency> <dependency> <!-- JAXB API --> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.4.0-b180830.0359</version> <exclusions> <exclusion> <groupId>javax.xml.bind</groupId> <artifactId>jsr173_api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <!-- Google Guava @see https://code.google.com/p/guava-libraries/ --> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>33.4.8-jre</version> </dependency> <dependency> <!-- Commons Lang3 @see http://commons.apache.org/lang/ --> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.17.0</version> </dependency> <dependency> <!-- Commons Text @see http://commons.apache.org/text/ --> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>1.13.1</version> </dependency> <dependency> <!-- Commons Collections @see https://commons.apache.org/proper/commons-collections/ --> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.5.0</version> </dependency> <dependency> <!-- Commons Math3 @see http://commons.apache.org/proper/commons-math/ --> <groupId>org.apache.commons</groupId> <artifactId>commons-math3</artifactId> <version>3.6.1</version> </dependency> <dependency> <!-- Base64 and other codecs @see http://commons.apache.org/codec/ --> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.18.0</version> </dependency> <dependency> <!-- Net utils. @see http://commons.apache.org/net/ --> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.11.1</version> </dependency> <dependency> <!-- For file/stream manipulations @see http://commons.apache.org/io/ --> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.19.0</version> </dependency> <dependency> <!-- Runtime component of AspectJ. --> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.9.24</version> </dependency> <dependency> <!-- JSR-303 Vaidation API. --> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency> <dependency> <!-- JSR-303 implementation by Hibernate. --> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>8.0.2.Final</version> </dependency> <dependency> <!-- Required for Hibernate validator --> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <version>3.0.1-b06</version> </dependency> <dependency> <!-- Required for Hibernate validator, in runtime --> <groupId>org.glassfish</groupId> <artifactId>javax.el</artifactId> <version>3.0.1-b12</version> </dependency> <dependency> <!-- Clojure --> <groupId>org.clojure</groupId> <artifactId>clojure</artifactId> <version>1.12.0</version> </dependency> <dependency> <!-- Clojure --> <groupId>org.clojure</groupId> <artifactId>clojure-contrib</artifactId> <version>1.2.0</version> </dependency> <dependency> <!-- Clojure --> <groupId>org.clojure</groupId> <artifactId>tools.logging</artifactId> <version>1.3.0</version> </dependency> <dependency> <!-- Servlet API --> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>6.1.0</version> <scope>provided</scope> </dependency> <dependency> <!-- Servlet API --> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <dependency> <!-- Compile-time annotations. @see http://projectlombok.org/features/index.html --> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.38</version> <scope>provided</scope> </dependency> <dependency> <!-- XML APIs. --> <groupId>xml-apis</groupId> <artifactId>xml-apis</artifactId> <version>1.4.01</version> </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>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>5.12.2</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <!-- Assertions and matchers for unit tests. @link http://code.google.com/p/hamcrest/wiki/Tutorial --> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <version>3.0</version> </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>5.17.0</version> </dependency> <dependency> <!-- Forward all SLF4J calls to LOG4J. --> <groupId>org.slf4j</groupId> <artifactId>slf4j-reload4j</artifactId> <version>2.0.17</version> </dependency> <dependency> <!-- Use LOG4J logging facility for all loggings. --> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <!-- ANTLR3 Parser/Lexer @link http://www.antlr.org/ --> <groupId>org.antlr</groupId> <artifactId>antlr-runtime</artifactId> <version>3.5.3</version> </dependency> <dependency> <groupId>org.antlr</groupId> <artifactId>antlr4-runtime</artifactId> <!-- Don't forget to change the version of the ANTLR4-MAVEN-PLUGIN too! --> <version>4.13.2</version> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>3.0.24</version> </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> <!-- This extension enables deployment of artifacts to Amazon S3 repository. --> <groupId>org.kuali.maven.wagons</groupId> <artifactId>maven-s3-wagon</artifactId> <version>1.2.1</version> </extension> </extensions> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.5.0</version> <executions> <execution> <id>enforce-maven</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <version>[3.2.5,)</version> </requireMavenVersion> </rules> </configuration> </execution> </executions> </plugin> <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>3.2.1</version> <executions> <execution> <id>jcabi-build-number</id> <phase>initialize</phase> <goals> <goal>create</goal> <goal>create-timestamp</goal> </goals> <configuration> <buildNumberPropertyName>buildNumber</buildNumberPropertyName> <timestampPropertyName>timestamp</timestampPropertyName> <timestampFormat>yyyy-MM-dd'T'HH:mm:ss</timestampFormat> <doCheck>false</doCheck> <doUpdate>false</doUpdate> <getRevisionOnlyOnce>true</getRevisionOnlyOnce> <shortRevisionLength>7</shortRevisionLength> </configuration> </execution> </executions> </plugin> </plugins> <pluginManagement> <plugins> <plugin> <groupId>com.jcabi</groupId> <artifactId>jcabi-maven-plugin</artifactId> <version>0.17.0</version> </plugin> <plugin> <groupId>com.jcabi</groupId> <artifactId>jcabi-mysql-maven-plugin</artifactId> <version>0.10.2</version> </plugin> <plugin> <groupId>com.jcabi</groupId> <artifactId>jcabi-dynamodb-maven-plugin</artifactId> <version>0.10.1</version> </plugin> <plugin> <groupId>com.jcabi</groupId> <artifactId>jcabi-ssl-maven-plugin</artifactId> <version>0.14.0</version> </plugin> <plugin> <groupId>com.jcabi</groupId> <artifactId>jcabi-heroku-maven-plugin</artifactId> <version>0.9</version> </plugin> <plugin> <groupId>com.jcabi</groupId> <artifactId>jcabi-beanstalk-maven-plugin</artifactId> <version>0.11</version> </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>3.1.0</version> <dependencies> <dependency> <groupId>ant-contrib</groupId> <artifactId>ant-contrib</artifactId> <version>20020829</version> <exclusions> <exclusion> <groupId>ant</groupId> <artifactId>ant</artifactId> </exclusion> </exclusions> </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.7.1</version> </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.4.1</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.14.0</version> <configuration> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> <optimize>true</optimize> <showWarnings>true</showWarnings> <failOnWarning>true</failOnWarning> <showDeprecation>true</showDeprecation> <compilerArgs> <arg>-Xlint</arg> <arg>-Xlint:-path</arg> <!-- @see https://stackoverflow.com/questions/6770455 --> <arg>-Xpkginfo:always</arg> <!-- @see https://stackoverflow.com/questions/44675503/why-safevarargs-doesnt-suppress-the-warning --> <arg>-Xlint:-varargs</arg> <!-- @see https://blogs.oracle.com/darcy/entry/bootclasspath_older_source --> <arg>-Xlint:-options</arg> <!-- @see http://netbeans.org/bugzilla/show_bug.cgi?format=multiple&id=208666 --> <!-- this is to avoid a problem with ANTLR and JDK7 --> <arg>-Xlint:-classfile</arg> <!-- ignore APT warnings --> <arg>-Xlint:-processing</arg> </compilerArgs> <testExcludes> <exclude>**/package-info.java</exclude> </testExcludes> </configuration> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <version>3.8.1</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>3.1.4</version> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <version>3.5.3</version> <configuration> <encoding>${project.build.sourceEncoding}</encoding> <failIfNoSpecifiedTests>false</failIfNoSpecifiedTests> <forkCount>0</forkCount> <parallel>all</parallel> <parallelTestsTimeoutForcedInSeconds>0</parallelTestsTimeoutForcedInSeconds> <parallelTestsTimeoutInSeconds>0</parallelTestsTimeoutInSeconds> <perCoreThreadCount>true</perCoreThreadCount> <runOrder>random</runOrder> <threadCount>8</threadCount> <trimStackTrace>false</trimStackTrace> </configuration> </plugin> <plugin> <artifactId>maven-help-plugin</artifactId> <version>3.5.1</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>3.1.4</version> </plugin> <plugin> <artifactId>maven-invoker-plugin</artifactId> <version>3.9.0</version> <configuration> <mergeUserSettings>true</mergeUserSettings> <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> <debug>false</debug> <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath> <noLog>false</noLog> <postBuildHookScript>verify</postBuildHookScript> <preBuildHookScript>setup</preBuildHookScript> <projectsDirectory>src/it</projectsDirectory> <settingsFile>${basedir}/src/it/settings.xml</settingsFile> <showErrors>true</showErrors> <showVersion>false</showVersion> <streamLogs>false</streamLogs> <streamLogsOnFailures>true</streamLogsOnFailures> </configuration> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>3.4.2</version> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>3.11.2</version> <configuration> <source>8</source> <tags> <tag> <name>todo</name> <placement>X</placement> </tag> <tag> <name>checkstyle</name> <placement>X</placement> </tag> </tags> </configuration> </plugin> <plugin> <artifactId>maven-plugin-plugin</artifactId> <version>3.15.1</version> </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> <version>3.1.1</version> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.3.1</version> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> <version>3.21.0</version> <dependencies> <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-module-markdown</artifactId> <version>2.0.0</version> </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <version>3.3.1</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>3.5.3</version> <configuration> <useFile>false</useFile> <runOrder>random</runOrder> <trimStackTrace>false</trimStackTrace> <failIfNoTests>true</failIfNoTests> <failIfNoSpecifiedTests>true</failIfNoSpecifiedTests> <parallel>all</parallel> <parallelTestsTimeoutInSeconds>0</parallelTestsTimeoutInSeconds> <parallelTestsTimeoutForcedInSeconds>0</parallelTestsTimeoutForcedInSeconds> <perCoreThreadCount>true</perCoreThreadCount> <threadCount>4</threadCount> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.4.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.18.0</version> <configuration> <generateBackupPoms>false</generateBackupPoms> </configuration> </plugin> <plugin> <groupId>com.github.github</groupId> <artifactId>site-maven-plugin</artifactId> <version>0.12</version> </plugin> <plugin> <groupId>com.qulice</groupId> <artifactId>qulice-maven-plugin</artifactId> <version>0.24.0</version> <configuration> <license>file:${basedir}/LICENSE.txt</license> <excludes> <exclude>xml:.*</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.13</version> </plugin> <plugin> <groupId>org.eluder.coveralls</groupId> <artifactId>coveralls-maven-plugin</artifactId> <version>4.3.0</version> <configuration> <timestampFormat>yyyy-MM-dd'T'HH:mm:ss</timestampFormat> </configuration> </plugin> </plugins> </pluginManagement> </build> <reporting> <!-- Rudimentary section, for Maven 2.0 plugins mostly. --> <excludeDefaults/> </reporting> </project>