evomaster
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster</artifactId> <version>3.4.0</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.evomaster</groupId> <artifactId>evomaster</artifactId> <!-- To change version in all modules, use: mvn versions:set -DnewVersion=a.b.c --> <version>3.4.0</version> <inceptionYear>2016</inceptionYear> <name>EvoMaster</name> <description>A tool for automatically generating system-level test cases</description> <url>www.evomaster.org</url> <packaging>pom</packaging> <modules> <module>dbconstraint</module> <module>core</module> <module>core-driver-it</module> <module>core-it</module> <module>core-graphql-it</module> <module>client-java</module> <module>e2e-tests</module> <module>report</module> <module>test-old-libraries</module> <module>solver</module> <module>test-utils</module> <module>wfc</module> <!-- TODO remove once moved in own repository--> </modules> <issueManagement> <system>Github</system> <url>https://github.com/EMResearch/evomaster/issues</url> </issueManagement> <scm> <connection>scm:git:https://github.com/EMResearch/evomaster.git</connection> <developerConnection>scm:git:https://github.com/EMResearch/evomaster.git</developerConnection> <url>https://github.com/EMResearch/evomaster/tree/master</url> </scm> <profiles> <profile> <id>Configs for JDK >= 17</id> <activation> <jdk>[17,)</jdk> </activation> <!-- Unfortunately, recent versions of Kotlin led to crashes due JDK 17 module access shenanigans :( setting up .mvn/jvm.config is not a viable option, as it messes up build in JDK 8 so, need to use something like MAVEN_OPTS="-Xmx4g - -add-opens=java.base/java.lang=ALL-UNNAMED - -add-opens=java.base/java.io=ALL-UNNAMED" mvn when running "mvn" on command line for JDK 17 :( what a mess... (btw, note that XML above does not like 2 - - together... so command cannot be directly copy&pasted) for CI, this is handled directly there Check following in case Kotlin Plugin will avoid this issues in the future: https://youtrack.jetbrains.com/issue/KT-56137#focus=Comments-27-6800445.0-0 --> <properties> <addOpens> --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.https=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.logging/java.util.logging=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED</addOpens> </properties> </profile> <profile> <!-- This profile is needed when making a deployment to Maven Central. Note: we upload only the client library, not the whole EvoMaster. However, we also need this root pom.xml. So, On the root: mvn -N -Pdeployment -DskipTests deploy On "client-java": mvn clean -Pdeployment -DskipTests deploy --> <id>deployment</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> </plugin> </plugins> </build> </profile> </profiles> <developers> <developer> <id>arcuri82</id> <name>Andrea Arcuri</name> <email>arcuri82@gmail.com</email> <url>http://www.arcuriandrea.org</url> <timezone>2</timezone> <roles> <role>Architect/Developer</role> </roles> </developer> </developers> <licenses> <license> <name>GNU Lesser General Public License (LGPL), version 3</name> <url>http://www.gnu.org/licenses/lgpl-3.0.en.html</url> <distribution>repo</distribution> </license> </licenses> <properties> <addOpens></addOpens> <!-- overridden in profile --> <redirectTestOutputToFile>true</redirectTestOutputToFile> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <kotlin.version>1.8.20</kotlin.version> <kotlin.compiler.incremental>true</kotlin.compiler.incremental> <junit.jupiter.version>5.7.2</junit.jupiter.version> <junit.platform.version>1.7.2</junit.platform.version> <dropwizard.version>1.3.7</dropwizard.version> <swagger.version>1.6.1</swagger.version> <!-- upgrading to 1.0.68 breaks Spring... TODO would need try upgrading in own branch --> <swagger.parser-v2.version>1.0.61</swagger.parser-v2.version> <!-- upgrading to 2.1.18 breaks Spring... TODO would need try upgrading in own branch --> <swagger.parser-v3.version>2.1.8</swagger.parser-v3.version> <swagger.annotations.version>2.2.7</swagger.annotations.version> <springboot.version>2.5.4</springboot.version> <springboot3.version>3.1.5</springboot3.version> <springfox.version>3.0.0</springfox.version> <springdoc.version>1.6.9</springdoc.version> <jetty.version>9.4.29.v20200521</jetty.version> <slf4j.version>1.7.24</slf4j.version> <jersey.version>2.33</jersey.version> <javax.el.version>2.2.5</javax.el.version> <!-- Using latest, eg 2.16.0, breaks build, as Maven Shade Plugin still does not support multi-release JARs https://github.com/apache/maven-shade-plugin/pull/202 recent versions of Jackson are multi-release. More info at: https://www.logicbig.com/tutorials/core-java-tutorial/java-9-changes/multi-release-jars.html --> <jackson.version>2.14.3</jackson.version> <asm.version>9.7</asm.version> <testcontainers.version>1.17.6</testcontainers.version> <testcontainers.mockerserver.version>1.17.2</testcontainers.mockerserver.version> <mockserver.client.version>5.13.2</mockserver.client.version> <selenium.version>4.7.2</selenium.version> <jetbrains.annotations.version>20.1.0</jetbrains.annotations.version> <antlr.version>4.9.2</antlr.version> <nlp.version>4.3.1</nlp.version> <dk.brics.automaton.version>1.11-8</dk.brics.automaton.version> <jgrapht.version>0.8.3</jgrapht.version> <version.graphql-spring>11.1.0</version.graphql-spring> <mysql.connector.java.version>8.0.27</mysql.connector.java.version> <mariadb.java.client.version>2.7.2</mariadb.java.client.version> <mssql.jdbc.version>9.2.1.jre8</mssql.jdbc.version> <org.mybatis.spring.boot.version>2.2.0</org.mybatis.spring.boot.version> <thrift.libthrift.version>0.15.0</thrift.libthrift.version> <io.grpc.version>1.57.2</io.grpc.version> <org.xolsticeprotobuf.version>0.6.1</org.xolsticeprotobuf.version> <com.google.protobuf.protoc.version>3.17.3</com.google.protobuf.protoc.version> <kr.motd.maven.version>1.6.2</kr.motd.maven.version> <wiremock.version>2.32.0</wiremock.version> <apache.http.client.version>4.5.13</apache.http.client.version> <okhttp3.client.version>4.9.3</okhttp3.client.version> <okhttp.client.version>2.4.0</okhttp.client.version> <dns.cache.manipulator.version>1.8.2</dns.cache.manipulator.version> <jakarta.annotation.version>2.0.0</jakarta.annotation.version> <jakarta.validation-api.version>3.0.2</jakarta.validation-api.version> <jakarta.persistence-api.version>3.1.0</jakarta.persistence-api.version> <jakarta.ws.rs-api.version>3.1.0</jakarta.ws.rs-api.version> <micronaut.version>3.2.7</micronaut.version> <micronaut.openapi.version>3.2.0</micronaut.openapi.version> <micronaut.test.version>3.0.5</micronaut.test.version> <org.mongodb.version>4.2.3</org.mongodb.version> <org.locationtech.jts.version>1.19.0</org.locationtech.jts.version> </properties> <dependencyManagement> <!-- Use mvn versions:display-dependency-updates -DprocessDependencyManagement=false for plugins, use: mvn versions:display-plugin-updates --> <dependencies> <!-- Internal Modules --> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-core</artifactId> <version>${project.version}</version> </dependency> <!-- Note: adding here also the one for <type>test-jar</type> gives a lot of problems --> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-dbconstraint</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-client-java-controller</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-client-java-controller-api</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-client-java-instrumentation</artifactId> <version>${project.version}</version> <type>jar</type> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-client-java-instrumentation</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-client-java-instrumentation-shared</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-client-java-sql</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-client-java-sql-dto</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-client-java-distance-heuristics</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>solver</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-test-utils-java</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-test-utils-js</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-test-utils-py</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.evomaster</groupId> <artifactId>evomaster-client-java-dependencies</artifactId> <version>${project.version}</version> <type>pom</type> <scope>test</scope> </dependency> <!-- Kotlin --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-compiler-embeddable</artifactId> <version>${kotlin.version}</version> <scope>test</scope> </dependency> <!-- Javax --> <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <version>${javax.el.version}</version> </dependency> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>javax.el</artifactId> <version>${javax.el.version}</version> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>2.1.1</version> </dependency> <!-- Dependency Injection --> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>5.0.1</version> </dependency> <dependency> <!-- This is needed as Guice has no LifeCycle management --> <groupId>com.netflix.governator</groupId> <artifactId>governator</artifactId> <version>1.17.12</version> <exclusions> <!--It looks like it uses quite a few old versions --> <exclusion> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> </exclusion> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </exclusion> </exclusions> </dependency> <!-- JVM --> <dependency> <!-- For bytecode instrumentation --> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <version>${asm.version}</version> </dependency> <dependency> <!-- For bytecode instrumentation --> <groupId>org.ow2.asm</groupId> <artifactId>asm-util</artifactId> <version>${asm.version}</version> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-commons</artifactId> <version>${asm.version}</version> </dependency> <dependency> <!-- To attach instrumenting JavaAgent at runtime --> <groupId>com.ea.agentloader</groupId> <artifactId>ea-agent-loader</artifactId> <version>1.0.3</version> </dependency> <!-- Misc --> <dependency> <!-- We do not (and SHOULD NOT) use it directly... but as it brought in transitively by different libraries, we force a specific version here to avoid conflicts (which for example happened when updating Guice) --> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>31.1-jre</version> </dependency> <dependency> <!-- So dependencies bring this one here transitively... but old version of this one before 3.11 do not play well with JDK 17+. So we force this version here --> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>1.9</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.1.0.Final</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.8</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.11.0</version> </dependency> <dependency> <!-- Used to handle terminal/console inputs --> <groupId>net.sf.jopt-simple</groupId> <artifactId>jopt-simple</artifactId> <version>6.0-alpha-3</version> </dependency> <dependency> <!-- Used for parsers --> <groupId>org.antlr</groupId> <artifactId>antlr4-runtime</artifactId> <version>${antlr.version}</version> </dependency> <dependency><!-- Used for Java Regex distances --> <!-- BSD --> <groupId>dk.brics.automaton</groupId> <artifactId>automaton</artifactId> <version>${dk.brics.automaton.version}</version> </dependency> <dependency><!-- Used for Java Regex distances --> <!-- LGPL --> <groupId>net.sf.jgrapht</groupId> <artifactId>jgrapht</artifactId> <version>${jgrapht.version}</version> </dependency> <!-- <dependency> <!– Needed for Process handling in Windows for JDK 8–>--> <!-- <groupId>net.java.dev.jna</groupId>--> <!-- <artifactId>jna-platform</artifactId>--> <!-- <version>5.11.0</version>--> <!-- </dependency>--> <!-- Logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>com.auth0</groupId> <artifactId>auth0</artifactId> <version>1.8.0</version> </dependency> <dependency> <groupId>org.apache.opennlp</groupId> <artifactId>opennlp-tools</artifactId> <!-- As of version of 2.0.0, they moved to JDK 11 https://opennlp.apache.org/news/release-200.html --> <version>1.9.4</version> </dependency> <!-- Jetty --> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> <version>${jetty.version}</version> </dependency> <!-- Jersey --> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet-core</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-jetty-http</artifactId> <version>${jersey.version}</version> <exclusions> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>${jersey.version}</version> </dependency> <!-- Jackson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-yaml</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-dataformat-yaml</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-toml</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-base</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-json-provider</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-kotlin</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>${jersey.version}</version> </dependency> <!-- DropWizard --> <dependency> <groupId>io.dropwizard</groupId> <artifactId>dropwizard-core</artifactId> <version>${dropwizard.version}</version> </dependency> <dependency> <groupId>io.dropwizard</groupId> <artifactId>dropwizard-assets</artifactId> <version>${dropwizard.version}</version> </dependency> <dependency> <groupId>io.dropwizard</groupId> <artifactId>dropwizard-testing</artifactId> <version>${dropwizard.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.dropwizard</groupId> <artifactId>dropwizard-jetty</artifactId> <version>${dropwizard.version}</version> <exclusions> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <!-- Spring --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot</artifactId> <version>${springboot.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>${springboot.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <version>${springboot.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> <version>${springboot.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <version>${springboot.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <version>${springboot.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> <version>${springboot.version}</version> </dependency> <!-- SpringFox: Swagger documentation for SpringBoot--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${springfox.version}</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-spring-web</artifactId> <version>${springfox.version}</version> </dependency> <!-- SpringDoc: Swagger/OpenApi documentation for SpringBoot--> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>${springdoc.version}</version> </dependency> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-security</artifactId> <version>${springdoc.version}</version> </dependency> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-kotlin</artifactId> <version>${springdoc.version}</version> </dependency> <!-- Swagger for JaxRS TODO: at the moment, only used for Dropwizard test. We ll need to update to v3 version --> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-jaxrs</artifactId> <version>${swagger.version}</version> <exclusions> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-jersey2-jaxrs</artifactId> <version>${swagger.version}</version> </dependency> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-hibernate-validations</artifactId> <version>${swagger.version}</version> </dependency> <!-- OpenApi/Swagger Parser--> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-parser</artifactId> <version>${swagger.parser-v2.version}</version> </dependency> <dependency> <groupId>io.swagger.parser.v3</groupId> <artifactId>swagger-parser</artifactId> <version>${swagger.parser-v3.version}</version> </dependency> <dependency> <groupId>com.atlassian.oai</groupId> <artifactId>swagger-request-validator-core</artifactId> <version>2.42.0</version> </dependency> <!-- databases --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>2.1.212</version> </dependency> <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>4.9</version> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.3.1</version> </dependency> <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <version>7.14.1</version> </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>${mariadb.java.client.version}</version> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>${mssql.jdbc.version}</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.connector.java.version}</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${org.mybatis.spring.boot.version}</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>bson</artifactId> <version>${org.mongodb.version}</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>${org.mongodb.version}</version> </dependency> <!-- XML --> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-runtime</artifactId> <version>2.3.1</version> </dependency> <!-- HTML --> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.15.3</version> </dependency> <!-- GraphQL --> <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphql-spring-boot-starter</artifactId> <version>${version.graphql-spring}</version> </dependency> <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphiql-spring-boot-starter</artifactId> <version>${version.graphql-spring}</version> </dependency> <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>voyager-spring-boot-starter</artifactId> <version>${version.graphql-spring}</version> </dependency> <!-- test dependencies --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>${junit.jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit.jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> <version>${junit.platform.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> <version>${junit.jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>${junit.jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> <version>${junit.jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>4.3.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-all</artifactId> <version>1.3</version> <scope>test</scope> </dependency> <dependency> <!-- Mocking for Java. To use with great care (ie, only sporadically) --> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>4.4.0</version> <scope>test</scope> </dependency> <dependency> <!-- Mocking for Kotlin. To use with great care (ie, only sporadically) --> <groupId>io.mockk</groupId> <artifactId>mockk</artifactId> <version>1.12.3</version> <scope>test</scope> </dependency> <dependency> <!-- To use Docker from tests --> <groupId>org.testcontainers</groupId> <artifactId>testcontainers</artifactId> <version>${testcontainers.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>selenium</artifactId> <version>${testcontainers.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-remote-driver</artifactId> <version>${selenium.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-chrome-driver</artifactId> <version>${selenium.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-support</artifactId> <version>${selenium.version}</version> <scope>test</scope> </dependency> <dependency> <!-- Used in SqlHandlerInDBTest class --> <groupId>org.jetbrains</groupId> <artifactId>annotations</artifactId> <version>${jetbrains.annotations.version}</version> <scope>test</scope> </dependency> <!-- RPC--> <!-- Thrift--> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> <version>${thrift.libthrift.version}</version> </dependency> <!-- gRPC--> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty-shaded</artifactId> <version>${io.grpc.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-protobuf</artifactId> <version>${io.grpc.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-stub</artifactId> <version>${io.grpc.version}</version> </dependency> <!-- Wiremock --> <dependency> <groupId>com.github.tomakehurst</groupId> <artifactId>wiremock-jre8-standalone</artifactId> <version>${wiremock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${apache.http.client.version}</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>${okhttp3.client.version}</version> </dependency> <!-- the version used in catwatch --> <dependency> <groupId>com.squareup.okhttp</groupId> <artifactId>okhttp</artifactId> <version>${okhttp.client.version}</version> </dependency> <dependency> <groupId>com.squareup.okhttp</groupId> <artifactId>okhttp-urlconnection</artifactId> <version>${okhttp.client.version}</version> </dependency> <!-- https://jmaven.com/maven/com.alibaba/dns-cache-manipulator --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dns-cache-manipulator</artifactId> <version>${dns.cache.manipulator.version}</version> </dependency> <!-- Micronaut --> <dependency> <groupId>io.micronaut</groupId> <artifactId>micronaut-bom</artifactId> <version>${micronaut.version}</version> </dependency> <dependency> <groupId>io.micronaut</groupId> <artifactId>micronaut-inject</artifactId> <version>${micronaut.version}</version> </dependency> <dependency> <groupId>io.micronaut</groupId> <artifactId>micronaut-validation</artifactId> <version>${micronaut.version}</version> </dependency> <dependency> <groupId>io.micronaut.test</groupId> <artifactId>micronaut-test-junit5</artifactId> <version>${micronaut.test.version}</version> </dependency> <dependency> <groupId>io.micronaut</groupId> <artifactId>micronaut-http-client</artifactId> <version>${micronaut.version}</version> </dependency> <dependency> <groupId>io.micronaut</groupId> <artifactId>micronaut-http-server-netty</artifactId> <version>${micronaut.version}</version> </dependency> <dependency> <groupId>io.micronaut</groupId> <artifactId>micronaut-jackson-databind</artifactId> <version>${micronaut.version}</version> </dependency> <dependency> <groupId>io.micronaut</groupId> <artifactId>micronaut-runtime</artifactId> <version>${micronaut.version}</version> </dependency> <dependency> <groupId>io.micronaut</groupId> <artifactId>micronaut-core</artifactId> <version>${micronaut.version}</version> </dependency> <dependency> <groupId>io.swagger.core.v3</groupId> <artifactId>swagger-annotations</artifactId> <version>${swagger.annotations.version}</version> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>mockserver</artifactId> <version>${testcontainers.mockerserver.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mock-server</groupId> <artifactId>mockserver-client-java-no-dependencies</artifactId> <version>${mockserver.client.version}</version> <scope>test</scope> </dependency> <dependency> <!-- To deal with RFC3339 dateTime --> <groupId>com.ethlo.time</groupId> <artifactId>itu</artifactId> <version>1.10.2</version> </dependency> </dependencies> </dependencyManagement> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.0.0</version> <executions> <execution> <id>enforce-maven</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <!-- Due to possible issues with CI not having latest version, good to stay bit behind (but not too much) --> <version>3.6.3</version> </requireMavenVersion> </rules> </configuration> </execution> </executions> </plugin> <!-- To run unit tests --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.3.1</version> <configuration> <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/> <forkCount>1</forkCount> <redirectTestOutputToFile>${redirectTestOutputToFile}</redirectTestOutputToFile> <rerunFailingTestsCount>2</rerunFailingTestsCount> <trimStackTrace>false</trimStackTrace> <!-- @{argLine} is needed for JaCoCo -Djdk.attach.allowAttachSelf=true is needed for Java 9+ TODO might not needed when using workaround like in ByteBuddy of creating an external process to do the Agent attachment https://github.com/raphw/byte-buddy/issues/295 Fucking JDK 17!!! And fuck you JEP 403!!! https://bugs.openjdk.java.net/browse/JDK-8266851 --> <argLine>@{argLine} -ea -Xms1024m -Xmx4096m -Xss4m -Dfile.encoding=UTF-8 -Djdk.attach.allowAttachSelf=true ${addOpens}</argLine> <!-- Needed for some weird bug in JDK used in CircleCI--> <!-- Commented out, as no longer using CircleCI--> <!-- <useSystemClassLoader>false</useSystemClassLoader>--> <runOrder>alphabetical</runOrder> </configuration> </plugin> <!-- To run integration tests --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>3.0.0-M4</version> <configuration> <forkCount>1</forkCount> <redirectTestOutputToFile>true</redirectTestOutputToFile> <rerunFailingTestsCount>2</rerunFailingTestsCount> <argLine>@{argLine} -ea -Xms1024m -Xmx4096m -Djdk.attach.allowAttachSelf=true ${addOpens}</argLine> <useSystemClassLoader>false</useSystemClassLoader> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <!-- To compile Kotlin code --> <plugin> <artifactId>kotlin-maven-plugin</artifactId> <groupId>org.jetbrains.kotlin</groupId> <version>${kotlin.version}</version> <configuration> <jvmTarget>${java.version}</jvmTarget> <args> <!-- This seems wrong, as args to compiler but not the JVM itself --> <!-- <arg>--add-opens=java.base/java.io=ALL-UNNAMED</arg>--> <!-- <arg>--add-opens=java.base/java.lang=ALL-UNNAMED</arg>--> </args> </configuration> <executions> <execution> <id>compile</id> <goals> <goal>compile</goal> </goals> <configuration> <sourceDirs> <sourceDir>${project.basedir}/src/main/kotlin</sourceDir> <sourceDir>${project.basedir}/src/main/java</sourceDir> <sourceDir>${project.basedir}/target/generated-sources/antlr4</sourceDir> </sourceDirs> </configuration> </execution> <execution> <id>test-compile</id> <goals> <goal>test-compile</goal> </goals> <configuration> <sourceDirs> <sourceDir>${project.basedir}/src/test/kotlin</sourceDir> <sourceDir>${project.basedir}/src/test/java</sourceDir> </sourceDirs> </configuration> </execution> </executions> </plugin> <!-- To compile Java code --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> <executions> <!-- Replacing default-compile as it is treated specially by maven --> <execution> <id>default-compile</id> <phase>none</phase> </execution> <!-- Replacing default-testCompile as it is treated specially by maven --> <execution> <id>default-testCompile</id> <phase>none</phase> </execution> <execution> <id>java-compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>java-test-compile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> <!-- To create Jar files for tests --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> <!-- To create self-executable uber/fat jars --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.3.0</version> </plugin> <!-- To create self-executable uber/fat jars with shaded packages--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.1</version> </plugin> <!-- To sign Jar files before uploading them to Maven Central --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>sign-artifacts</id> <phase>deploy</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> <!-- We deploy to SonaType, which then sync to Maven Central --> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.8</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> <!-- Needed to be able to run on CircleCI --> <plugin> <groupId>de.qaware.maven</groupId> <artifactId>go-offline-maven-plugin</artifactId> <version>1.1.0</version> </plugin> <!-- Used to calculate code-coverage of the tests. Note: Kotlin still has problems, as its compiler not marking yet the automatically generated/added functions --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.12</version> <configuration> <excludes> <!-- Prevent SUTs in E2E to be part of coverage report --> <exclude>com/foo/**/*</exclude> <exclude>com/thrift/example/**/*</exclude> </excludes> </configuration> <executions> <execution> <id>default-prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>default-report</id> <phase>prepare-package</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> <!-- To publish JaCoCo results to Coveralls. Should be run only on Travis, by adding "coveralls:report" WARN: unfortunately, does not seem to work well with Kotlin :( So, rather use CodeCov, which is setup directly Travis --> <plugin> <groupId>org.eluder.coveralls</groupId> <artifactId>coveralls-maven-plugin</artifactId> <version>4.3.0</version> <configuration> <sourceDirectories> <param>src/main/java</param> <param>src/main/kotlin</param> </sourceDirectories> </configuration> </plugin> <!-- Used for parsers. Eg, to analyze regex --> <plugin> <groupId>org.antlr</groupId> <artifactId>antlr4-maven-plugin</artifactId> <version>${antlr.version}</version> <configuration> <listener>false</listener> <visitor>true</visitor> </configuration> <executions> <execution> <goals> <goal>antlr4</goal> </goals> </execution> </executions> </plugin> <plugin> <!-- Need to create self-executable uber/fat jars for Spring--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${springboot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>${org.xolsticeprotobuf.version}</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> </plugin> <!-- Executed JaCoCo in all the modules. Default binding is on "verify" --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> </plugin> </plugins> </build> </project>