athena-parent-pom
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.github.qubitpi.athena</groupId> <artifactId>athena-parent-pom</artifactId> <version>1.0.69</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>io.github.qubitpi.athena</groupId> <artifactId>athena-parent-pom</artifactId> <version>1.0.69</version> <packaging>pom</packaging> <name>Athena: Parent POM</name> <description>A GraphQL Object Storage Webservice Backed by OpenStack Swift and Hadoop HDFS</description> <url>https://github.com/QubitPi/athena</url> <modules> <module>athena-core</module> <module>athena-filestore</module> <module>athena-metastore</module> <module>athena-system-config</module> <module>athena-examples</module> </modules> <developers> <developer> <name>Jiaqi Liu</name> <url>https://github.com/QubitPi</url> </developer> </developers> <licenses> <license> <name>The Apache Software License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> <scm> <developerConnection>scm:git:ssh://git@github.com/QubitPi/athena.git</developerConnection> <url>https://github.com/QubitPi/athena.git</url> <tag>HEAD</tag> </scm> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <version.athena>1.0.69</version.athena> <checkstyle.skip>false</checkstyle.skip> <checkstyle.resourceIncludes>**/*.properties*</checkstyle.resourceIncludes> <version.maven.surefire.plugin>3.0.0-M5</version.maven.surefire.plugin> <version.maven.surefire.report.plugin>${version.maven.surefire.plugin}</version.maven.surefire.report.plugin> </properties> <dependencyManagement> <dependencies> <!-- Local module dependencies --> <dependency> <groupId>io.github.qubitpi.athena</groupId> <artifactId>athena-core</artifactId> <version>${version.athena}</version> </dependency> <dependency> <groupId>io.github.qubitpi.athena</groupId> <artifactId>athena-filestore</artifactId> <version>${version.athena}</version> </dependency> <dependency> <groupId>io.github.qubitpi.athena</groupId> <artifactId>athena-filestore-swift</artifactId> <version>${version.athena}</version> </dependency> <dependency> <groupId>io.github.qubitpi.athena</groupId> <artifactId>athena-metastore</artifactId> <version>${version.athena}</version> </dependency> <dependency> <groupId>io.github.qubitpi.athena</groupId> <artifactId>athena-metastore-graphql</artifactId> <version>${version.athena}</version> </dependency> <dependency> <groupId>io.github.qubitpi.athena</groupId> <artifactId>athena-system-config</artifactId> <version>${version.athena}</version> </dependency> <dependency> <groupId>org.glassfish.jersey</groupId> <artifactId>jersey-bom</artifactId> <version>3.1.1</version> <scope>import</scope> <type>pom</type> </dependency> <!-- Validation --> <dependency> <groupId>jakarta.validation</groupId> <artifactId>jakarta.validation-api</artifactId> <version>3.0.1</version> </dependency> <!-- Concurrency --> <dependency> <groupId>net.jcip</groupId> <artifactId>jcip-annotations</artifactId> <version>1.0</version> </dependency> <!-- Logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <!-- GraphQL --> <dependency> <groupId>com.graphql-java</groupId> <artifactId>graphql-java</artifactId> <version>14.0</version> </dependency> <!-- OpenStack Swift --> <dependency> <groupId>org.javaswift</groupId> <artifactId>joss</artifactId> <version>0.10.4</version> </dependency> <dependency> <!-- https://github.com/jakartaee/jaf-api/issues/60#issuecomment-758529977 --> <groupId>com.sun.activation</groupId> <artifactId>jakarta.activation</artifactId> <version>2.0.0</version> </dependency> <!-- JSON Parsing --> <dependency> <groupId>com.fasterxml.jackson</groupId> <artifactId>jackson-bom</artifactId> <version>2.13.3</version> <scope>import</scope> <type>pom</type> </dependency> <!-- Apache Commons Libraries --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-configuration2</artifactId> <version>2.7</version> </dependency> <!-- Apache Commons --> <dependency> <!-- Prefer DBCP over JDBI since lookup should provide low-level speed operations --> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>2.0.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <!-- Servlet API --> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>6.0.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>jakarta.ws.rs</groupId> <artifactId>jakarta.ws.rs-api</artifactId> <version>3.1.0</version> </dependency> <!-- Injection --> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>org.glassfish.hk2</groupId> <artifactId>hk2-locator</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>jakarta.inject</groupId> <artifactId>jakarta.inject-api</artifactId> <version>2.0.1</version> </dependency> <!-- Testing --> <dependency> <groupId>org.spockframework</groupId> <artifactId>spock-bom</artifactId> <version>2.4-M1-groovy-4.0</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.apache.groovy</groupId> <artifactId>groovy</artifactId> <version>4.0.6</version> </dependency> <dependency> <!-- Import JsonSlurper - https://stackoverflow.com/a/71218832/14312712 --> <groupId>org.apache.groovy</groupId> <artifactId>groovy-json</artifactId> <version>4.0.6</version> </dependency> <dependency> <!-- Enable mocking of non-interface types --> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>1.14.11</version> </dependency> <dependency> <!-- enables mocking of classes without default constructor (together with CGLIB) --> <groupId>org.objenesis</groupId> <artifactId>objenesis</artifactId> <version>3.0.1</version> <scope>test</scope> </dependency> <dependency> <!-- only necessary if Hamcrest matchers are used --> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-all</artifactId> <version>1.3</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.derby</groupId> <artifactId>derby</artifactId> <version>10.11.1.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <version>5.0.7</version> <scope>test</scope> </dependency> <!--Jetty--> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-bom</artifactId> <version>11.0.14</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>5.3.0</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.apache.groovy</groupId> <artifactId>groovy</artifactId> </exclusion> </exclusions> </dependency> </dependencies> </dependencyManagement> <!-- Common things that all modules need --> <dependencies> <!-- Fix Jetty startup "WARNING: JAXBContext implementation could not be found. WADL feature is disabled" --> <!-- This WARNING turns all endpoints into 404 --> <!-- See https://stackoverflow.com/a/66198370 for more details --> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-runtime</artifactId> <version>4.0.2</version> </dependency> <dependency> <groupId>jakarta.validation</groupId> <artifactId>jakarta.validation-api</artifactId> </dependency> <!-- Concurrency --> <dependency> <groupId>net.jcip</groupId> <artifactId>jcip-annotations</artifactId> </dependency> <!-- Logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> <!-- Testing --> <dependency> <groupId>org.spockframework</groupId> <artifactId>spock-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.groovy</groupId> <artifactId>groovy</artifactId> </dependency> <dependency> <groupId>org.apache.groovy</groupId> <artifactId>groovy-json</artifactId> </dependency> <dependency> <!-- Enable mocking of non-interface types --> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> </dependency> <dependency> <groupId>org.objenesis</groupId> <artifactId>objenesis</artifactId> </dependency> </dependencies> <build> <pluginManagement> <plugins> <!-- Publish to artifactory --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.5.3</version> </plugin> <!-- Use Java 17 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <!-- Java Checkstyle --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>3.3.1</version> <dependencies> <!-- override default checkstyle version --> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>10.14.2</version> </dependency> </dependencies> <configuration> <configLocation>checkstyle.xml</configLocation> <includes>**\/*.java,**\/*.groovy</includes> <includeTestSourceDirectory>true</includeTestSourceDirectory> <consoleOutput>true</consoleOutput> <failsOnError>true</failsOnError> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.5.0</version> <configuration> <doclint>none</doclint> <!-- Turnoff all checks --> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <id>attach-sources</id> <phase>verify</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <!-- Groovy Spock --> <plugin> <groupId>org.codehaus.gmavenplus</groupId> <artifactId>gmavenplus-plugin</artifactId> <version>2.1.0</version> <executions> <execution> <goals> <goal>compile</goal> <goal>compileTests</goal> </goals> </execution> </executions> </plugin> <!-- Groovy checkstyle --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>codenarc-maven-plugin</artifactId> <version>0.22-1</version> <configuration> <sourceDirectory>${project.basedir}</sourceDirectory> <maxPriority1Violations>0</maxPriority1Violations> <maxPriority2Violations>0</maxPriority2Violations> <maxPriority3Violations>0</maxPriority3Violations> </configuration> <executions> <execution> <phase>prepare-package</phase> <goals> <goal>codenarc</goal> </goals> </execution> </executions> </plugin> <!-- Unite Test --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${version.maven.surefire.plugin}</version> <configuration> <systemPropertyVariables> <java.awt.headless>true</java.awt.headless> </systemPropertyVariables> <includes> <include>%regex[.*Spec.*]</include> </includes> <excludes> <exclude>%regex[.*ITSpec.*]</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>${version.maven.surefire.report.plugin}</version> </plugin> <!-- Integration Test --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>3.0.0-M4</version> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> <configuration> <includes> <include>**/*ITSpec.*</include> </includes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.1</version> <executions> <execution> <id>javadoc-jar</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <classifier>javadoc</classifier> </configuration> </execution> <execution> <id>sources-jar</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <classifier>sources</classifier> </configuration> </execution> </executions> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <executions> <execution> <id>checkstyle</id> <phase>initialize</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <!-- Mandatory plugins for using Spock --> <plugin> <groupId>org.codehaus.gmavenplus</groupId> <artifactId>gmavenplus-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-failsafe-plugin</artifactId> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <reportSets> <reportSet> <id>aggregate-checkstyle</id> <inherited>false</inherited> <reports> <report>checkstyle-aggregate</report> </reports> </reportSet> <reportSet> <id>checkstyle</id> <reports> <report>checkstyle</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <reportSets> <!-- disable Javadoc qtl --> <reportSet> <id>default</id> <reports> <report>javadoc</report> </reports> </reportSet> </reportSets> <configuration> <encoding>UTF-8</encoding> <charset>UTF-8</charset> <docencoding>UTF-8</docencoding> <doclint>none</doclint> <!-- https://maven.apache.org/plugins/maven-javadoc-plugin/examples/javadoc-resources.html --> <!-- https://stackoverflow.com/a/28849620 --> <javadocDirectory>${basedir}/src/main/javadoc/resources</javadocDirectory> <docfilessubdirs>true</docfilessubdirs> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> </plugin> </plugins> </reporting> <profiles> <profile> <id>acceptance-test</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <systemPropertyVariables> <java.awt.headless>true</java.awt.headless> </systemPropertyVariables> <includes> <include>**/RunCucumberTest*.java</include> </includes> <excludes> <exclude>%regex[.*Spec.*]</exclude> <exclude>%regex[.*ITSpec.*]</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> </plugin> </plugins> </build> </profile> <profile> <id>release</id> <build> <plugins> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <version>0.4.0</version> <extensions>true</extensions> <configuration> <tokenAuth>true</tokenAuth> <autoPublish>true</autoPublish> <publishingServerId>${gpg.keyname}</publishingServerId> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <gpgArguments> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> <keyname>${gpg.keyname}</keyname> <passphraseServerId>${gpg.keyname}</passphraseServerId> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>