gweaver-query-engine
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.geneweaver</groupId>
<artifactId>gweaver-query-engine</artifactId>
<version>1.3.3</version>
</dependency>
<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>org.geneweaver</groupId>
<artifactId>gweaver-query-engine</artifactId>
<packaging>jar</packaging>
<version>1.3.3</version>
<name>Geneweaver Query Engine</name>
<properties>
<neo4j.version>5.26.10</neo4j.version>
<neo4j.driver.version>5.26.3</neo4j.driver.version>
<testcontainers.version>1.20.4</testcontainers.version>
<junit-jupiter.version>5.6.2</junit-jupiter.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>17</maven.compiler.target>
<maven.compiler.source>17</maven.compiler.source>
<deploy.repo.name>maven</deploy.repo.name>
<deployJax>true</deployJax>
<performRelease>false</performRelease>
</properties>
<description>The Neo4j query engine for VoICE.</description>
<inceptionYear>2021</inceptionYear>
<url>http://www.geneweaver.org</url>
<organization>
<name>Jackson Laboratory</name>
<url>http://www.jax.org</url>
</organization>
<licenses>
<license>
<name>Apache 2</name>
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>gerrim</id>
<name>Matthew Gerring</name>
<url>https://www.jax.org/people/matthew-gerring</url>
</developer>
</developers>
<contributors>
<contributor>
<name>None</name>
</contributor>
</contributors>
<scm>
<connection>scm:git:https://bitbucket.org/geneweaver/gweaver-query-engine/src/master/</connection>
<developerConnection>scm:git:ssh://git@bitbucket.org:geneweaver/gweaver-query-engine.git</developerConnection>
<tag>gweaver-query-engine-1.3.3</tag>
<url>https://www.geneweaver.org</url>
</scm>
<ciManagement>
<system>None</system>
</ciManagement>
<repositories>
<repository>
<id>neo4j-enterprise-repo</id>
<url>https://maven.neo4j.com/artifactory/enterprise-releases</url>
</repository>
<repository>
<id>artifact-registry</id>
<url>artifactregistry://us-maven.pkg.dev/jax-cs-registry/${deploy.repo.name}</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<!-- Ours -->
<dependency>
<groupId>org.geneweaver</groupId>
<artifactId>gweaver-stream-io</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jax</groupId>
<artifactId>cs-storage</artifactId>
<version>0.8.0</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>${neo4j.driver.version}</version>
<exclusions>
<exclusion>
<groupId>com.google</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>${neo4j.version}</version>
<exclusions>
<exclusion>
<groupId>com.google</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-slf4j-provider</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- TODO Figure out how to add this.
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-enterprise</artifactId>
<version>${neo4j.version}</version>
<exclusions>
<exclusion>
<groupId>com.google</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-slf4j-provider</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
-->
<!-- https://mvnrepository.com/artifact/commons-cli/commons-cli -->
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.8.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.velocity/velocity-engine-core -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/uk.co.jemos.podam/podam -->
<dependency>
<groupId>uk.co.jemos.podam</groupId>
<artifactId>podam</artifactId>
<version>7.2.6.RELEASE</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testcontainers/testcontainers -->
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>${testcontainers.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>neo4j</artifactId>
<version>${testcontainers.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.14.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.14.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.14.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-webflux -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<version>3.4.1</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-reactor-netty</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/com.auth0/auth0 -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>auth0</artifactId>
<version>2.15.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.auth0/jwks-rsa -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>jwks-rsa</artifactId>
<version>0.22.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<fork>true</fork>
<compilerArgs>
<arg>-Xlint:unchecked</arg>
</compilerArgs>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<encoding>UTF-8</encoding>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<argLine> -Xmx6G </argLine>
<systemPropertyVariables>
<java.awt.headless>true</java.awt.headless>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.4.0</version>
<configuration>
<encoding>UTF-8</encoding>
<configLocation>src/main/resources/checkstyle/checkstyle-rules.xml</configLocation>
<headerLocation>src/main/resources/checkstyle/header.txt</headerLocation>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<doclint>none</doclint>
<failOnError>false</failOnError>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.4.2</version>
<configuration>
<descriptors>
<descriptor>src/main/assembly/jar-with-deps-merge-services.xml</descriptor>
</descriptors>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<mainClass>org.geneweaver.query.cli.CLI</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>assemble-all</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.12</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<!-- Threshold -->
<execution>
<id>jacoco-check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules>
<rule>
<element>PACKAGE</element>
<excludes>
<!-- Exceptions do not need tests usually. -->
<exclude>*Exception</exclude>
<exclude>org.geneweaver.query.service.StandaloneTokenService</exclude>
<exclude>org.geneweaver.query.service.WebQueryService</exclude>
</excludes>
<limits>
<limit>
<counter>LINE</counter>
<value>COVEREDRATIO</value>
<!-- TODO FIXME Agreed min in 80% -->
<minimum>70%</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<localCheckout>true</localCheckout>
<pushChanges>false</pushChanges>
<mavenExecutorId>forked-path</mavenExecutorId>
<arguments>-DskipTests</arguments>
</configuration>
</plugin>
</plugins>
<extensions>
<extension>
<groupId>com.google.cloud.artifactregistry</groupId>
<artifactId>artifactregistry-maven-wagon</artifactId>
<version>2.2.2</version>
</extension>
</extensions>
</build>
<profiles>
<profile>
<id>jax-repository</id>
<activation>
<property>
<name>deployJax</name>
<value>true</value>
</property>
</activation>
<repositories>
<repository>
<id>artifact-registry</id>
<url>artifactregistry://us-maven.pkg.dev/jax-cs-registry/${deploy.repo.name}</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<distributionManagement>
<snapshotRepository>
<id>artifact-registry</id>
<url>artifactregistry://us-maven.pkg.dev/jax-cs-registry/${deploy.repo.name}</url>
</snapshotRepository>
<repository>
<id>artifact-registry</id>
<url>artifactregistry://us-maven.pkg.dev/jax-cs-registry/${deploy.repo.name}</url>
</repository>
</distributionManagement>
<build>
<plugins>
</plugins>
</build>
</profile>
<!-- Full Release: https://dzone.com/articles/publish-your-artifacts-to-maven-central
http://tutorials.jenkov.com/maven/publish-to-central-maven-repository.html
https://central.sonatype.org/pages/releasing-the-deployment.html -->
<!-- Normal snapshot: mvn deploy -->
<!-- Might need to do:
export GPG_TTY=$(tty) see https://github.com/keybase/keybase-issues/issues/2798 -->
<!-- Full Release: mvn clean release:prepare release:perform -DdeployJax=false -DperformRelease=true
Remember that .m2/settings.xml must have JIRA password for sonatype.
If using 'ZScaler' from JAX you will need to stop it or the certificate for oss.sonatype.org will not be
accepted.
-->
<profile>
<id>release-sign-artifacts</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://ossrh-staging-api.central.sonatype.com/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.7.0</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://ossrh-staging-api.central.sonatype.com/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.8</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<!-- Get from (where '-' IS TWO!!): gpg -list-secret-keys -keyid-format=long
Then name is after slash:
sec rsa4096/ABE36B913FF6D9EA 2025-01-02 [SC]
95D4F054EC94347B7B53877BABE36B913FF6D9EA
uid [ultimate] Matthew Gerring (VoICE and Geneweaver developer) <matthew.gerring@gmail.com>
ssb rsa4096/6CF47BE2871A2EDA 2025-01-02 [E]
Remember that .m2/settings.xml must have JIRA password for sonatype.
If you forget the gpg key, can create a new one for signing using:
1. gpg -full-generate-key # '-' IS TWO!, use rsa
3. provide sec in this xml
4. gpg -keyserver keyserver.ubuntu.com -send-keys <long key id> # '-' IS TWO!!
5. provide key password during signing (below)
-->
<configuration>
<keyname>ABE36B913FF6D9EA</keyname>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>