dependencyManagement {
  versions {
    // please keep the list sorted
    aetherVersion: "1.1.0"
    akkaHttpVersion: "10.0.11"
    akkaVersion: "2.5.4"
    apacheDsVersion: "1.5.5" // Spring security doesn't work with 1.5.6 or 1.5.7
    aspectjVersion: "1.8.10"
    bouncyCastleVersion: "1.58"
    caffeineVersion: "2.6.1"
    crashVersion: "1.3.2"
    docBaseStyleVersion: "2.0.11"
    dropwizardMetricsVersion="4.0.0+xebialabs.201709281600"
    groovyVersion: "2.4.12"
    httpClientVersion: "4.5.3"
    httpCoreVersion: "4.4.6"
    infinispanVersion: "7.2.4.Final"
    jackrabbitVersion: "2.14.0"
    jacksonVersion: "2.9.3"
    jcloudsVersion: "1.9.2"
    jettyVersion: "9.4.8.v20171121"
    jythonVersion: "2.7.1"
    kamonVersion="0.6.7"
    liquibaseVersion: "3.5.3"
    logbackVersion: "1.2.2"
    lombokVersion: "1.16.20"
    minaVersion: "2.0.16"
    mockitoVersion: "2.7.19"
    overthereVersion: "5.0.2"
    restassuredVersion: "2.9.0"
    resteasyVersion: "3.1.3.Final"
    scalaFullVersion: "2.12.3"
    scalaTestVersion: "3.0.1"
    scalaVersion: "2.12"
    scannitVersion: "1.4.1"
    seleniumVersion: "2.53.1"
    slickVersion: "3.2.1"
    slf4jVersion: "1.7.25"
    sprayJsonVersion: "1.3.3"
    springLdapVersion: "2.3.1.RELEASE"
    springSecurityVersion: "5.0.0.RELEASE"
    springVersion: "5.0.2.RELEASE"
    sshdVersion: "1.4.0"
    telnetdVersion: "2.1.1"
    testcontainersScalaVersion: "0.13.0"
    trueZipVersion: "7.7.10"
  }
  dependencies: [
    "args4j:args4j:2.33"
    "cglib:cglib:3.2.4"
    {
      group: "ch.qos.logback"
      version: "$logbackVersion"
      artifacts: [
        "logback-classic"
        "logback-core"
      ]}
    "com.enragedginger:akka-quartz-scheduler_${scalaVersion}:1.6.0-akka-2.4.x"
    "com.esotericsoftware:kryo:4.0.0"
    {
      group: "com.fasterxml.jackson.core"
      version: "$jacksonVersion"
      artifacts: [
        "jackson-annotations"
        "jackson-core"
        "jackson-databind"
      ]}
    {
      group: "com.fasterxml.jackson.datatype"
      version: "$jacksonVersion"
      artifacts: [
        "jackson-datatype-joda"
      ]}
    {
      group: "com.fasterxml.jackson.jaxrs"
      version: "$jacksonVersion"
      artifacts: [
        "jackson-jaxrs-base"
        "jackson-jaxrs-json-provider"
      ]}
    "com.fasterxml.jackson.module:jackson-module-scala_${scalaVersion}:2.9.3"
    "com.github.maiflai:gradle-scalatest:0.14"
    "com.github.nscala-time:nscala-time_${scalaVersion}:2.14.0"
    "com.github.romix.akka:akka-kryo-serialization_${scalaVersion}:0.5.2"
    "com.github.scopt:scopt_${scalaVersion}:3.5.0"
    "com.github.zafarkhaja:java-semver:0.9.0"
    {
      group: "com.google.code.findbugs"
      version: "3.0.1"
      artifacts: [
        "annotations"
        "jsr305"
      ]}

    "com.github.ben-manes.caffeine:caffeine:${caffeineVersion}"
    "com.google.guava:guava:19.0"
    "com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20160924.1"
    "com.h2database:h2:1.4.193"
    "com.jayway.restassured:rest-assured:$restassuredVersion"
    "com.mchange:c3p0:0.9.5.2"
    "com.oracle:ojdbc6:11.2.0.1.0"
    "com.ibm:db2jcc4:4.19.26"
    "com.microsoft.sqlserver:mssql-jdbc:6.2.2.jre8"
    "com.ryantenney.metrics:metrics-spring:3.1.3"
    "com.samskivert:jmustache:1.13"
    "com.sun.mail:javax.mail:1.5.6"
    "com.thoughtworks.xstream:xstream:1.4.9"
    "com.twitter:chill_${scalaVersion}:0.9.2"
    {
      group: "com.typesafe.akka"
      version: "$akkaVersion"
      artifacts: [
        "akka-actor_${scalaVersion}"
        "akka-cluster-sharding_${scalaVersion}"
        "akka-cluster_${scalaVersion}"
        "akka-distributed-data_${scalaVersion}"
        "akka-remote_${scalaVersion}"
        "akka-slf4j_${scalaVersion}"
        "akka-stream_${scalaVersion}"
        "akka-testkit_${scalaVersion}"
      ]}
    {
        group: "com.typesafe.akka"
        version: "$akkaHttpVersion"
        artifacts: [
            "akka-http_${scalaVersion}"
            "akka-http-core_${scalaVersion}"
            "akka-http-spray-json_${scalaVersion}"
            "akka-http-testkit_${scalaVersion}"
            "akka-http-xml_${scalaVersion}"
        ]}
    "com.typesafe:config:1.3.1"
    "com.vmware:vijava:5.1"
    "com.xebialabs.cloud:overcast:$overcastVersion"
    "com.xebialabs.deployit.documentation:base-documentation-style:$docBaseStyleVersion@zip"
    {
      group: "com.xebialabs.deployit.engine"
      version: "$xlDeployVersion"
      artifacts: [
        "packager"
        "planner"
        "tasker"
        "test-engine"
      ]}
    {
      group: "com.xebialabs.deployit.engine"
      version: "$xlPlatformVersion"
      artifacts: [
        "engine-xml"
        "local-booter"
        "packager"
        "remote-booter"
        "replacer"
        "staged-files"
        "test-tools"
      ]}
    "com.xebialabs.deployit.gradle:license-data:$licenseDatabaseVersion"
    "com.xebialabs.deployit.license:xl-license-generator:$xlPlatformVersion"
    {
      group: "com.xebialabs.deployit.plugins"
      version: "$xlDeployVersion"
      artifacts: [
        "base-plugin"
        "command-plugin"
        "database-plugin"
        "deployment-checklist-plugin"
        "file-plugin"
        "generic-plugin"
        "group-orchestrator-plugin"
        "jee-plugin"
        "powershell-plugin"
        "python-plugin"
        "remoting-plugin"
        "trigger-plugin"
        "webserver-plugin"
      ]}
    "com.xebialabs.deployit.plugins:xld-tasker-extension:$xlPlatformVersion"
    {
      group: "com.xebialabs.deployit.plugins"
      version: "$xldProvisionVersion"
      artifacts: [
        "xld-provision"
        "xld-provision-cli"
      ]}
    {
      group: "com.xebialabs.deployit"
      version: "$xlPlatformVersion"
      artifacts: [
        "appserver-api"
        "appserver-api-impl"
        "appserver-core"
        "appserver-main"
        "appserver-migrations-jcr"
        "engine-api"
        "engine-spi"
        "engine-spi-jcr"
        "server-extension"
        "udm-plugin-api"
      ]}
    "com.xebialabs.overthere:overthere:$overthereVersion"
    "com.xebialabs.restito:restito:0.5.1"
    {
      group: "com.xebialabs.xl-platform"
      version: "$xlPlatformVersion"
      artifacts: [
        "appserver-migrations-sql"
        "export-cis"
        "maven-resolver"
        "repository-utils"
        "satellite-protocol"
        "satellite-system"
        "scala-base"
        "test-utils"
        "tasker-akka"
        "xl-base"
        "xl-core"
        "xl-endpoints-api"
        "xl-endpoints-routes"
        "xl-cluster"
        "xl-license"
        "xl-license-web"
        "xl-plugin"
        "xl-plugin-manager"
        "xl-repository-api"
        "xl-repository-jackrabbit"
        "xl-repository-jcr"
        "xl-repository-crash"
        "xl-repository-tck"
        "xl-repository-sql"
        "xl-scheduler"
        "xl-script-engine"
        "xl-auth-oidc"
        "xl-security"
        "xl-security-api"
        "xl-security-jackrabbit"
        "xl-security-jcr",
        "xl-security-sql",
        "xl-test-repository"
        "xl-ui-components-api"
        "xl-ui-components-rest"
        "xl-utils"
        "xl-jmx"
      ]}
    "com.zaxxer:HikariCP:2.7.4"
    "commons-codec:commons-codec:1.10"
    "commons-collections:commons-collections:3.2.2"
    "commons-io:commons-io:2.5"
    "commons-lang:commons-lang:2.6"
    "de.javakaffee:kryo-serializers:0.41"
    {
      group: "de.schlichtherle.truezip"
      version: "$trueZipVersion"
      artifacts: [
        "truezip-driver-file"
        "truezip-driver-tar"
        "truezip-driver-zip"
        "truezip-file"
        "truezip-kernel"
      ]}
    "dom4j:dom4j:1.6.1"
    "httpunit:httpunit:1.7.2"
    {
      group: "io.dropwizard.metrics"
      version: "$dropwizardMetricsVersion"
      artifacts: [
        "metrics-annotation"
        "metrics-core"
        "metrics-healthchecks"
        "metrics-jetty9"
        "metrics-jmx"
        "metrics-json"
        "metrics-jvm"
      ]}
    {
      group="io.kamon"
      version="$kamonVersion"
      artifacts=[
        "kamon-core_${scalaVersion}",
        "kamon-jmx_${scalaVersion}",
        "kamon-system-metrics_${scalaVersion}",
        "kamon-akka-2.5_${scalaVersion}",
        "kamon-scala_${scalaVersion}",
        "kamon-jdbc_${scalaVersion}"
      ]}
    "io.reactivex:rxjava:1.0.14"
    "io.spray:spray-json_${scalaVersion}:$sprayJsonVersion"
    "javax.inject:javax.inject:1"
    "javax.jcr:jcr:2.0"
    "javax.jms:jms:1.1"
    "javax.json:javax.json-api:1.0"
    "javax.servlet:javax.servlet-api:3.1.0"
    "javax.transaction:jta:1.1"
    "jaxen:jaxen:1.1.6"
    "jline:jline:2.14.2"
    "joda-time:joda-time:2.9.5"
    "junit:junit:4.12"
    "mysql:mysql-connector-java:5.1.40"
    "org.postgresql:postgresql:42.1.1"
    "nl.javadude.assumeng:assumeng:1.2.4"
    "nl.javadude.scannit:scannit:$scannitVersion"
    "nl.javadude.t2bus:t2-bus:1.2.1"
    "org.apache.commons:commons-csv:1.4"
    "org.apache.commons:commons-compress:1.14"
    "org.apache.commons:commons-lang3:3.5"
    "org.apache.commons:commons-math3:3.6.1"
    "org.apache.derby:derby:10.12.1.1"
    {
      group: "org.apache.directory.server"
      version: "$apacheDsVersion"
      artifacts: [
        "apacheds-core-integ"
        "apacheds-server-integ"
        "apacheds-all"
      ]}
    {
      group: "org.apache.httpcomponents"
      version: "$httpClientVersion"
      artifacts: [
        "httpclient"
        "httpmime"
      ]}
    "org.apache.httpcomponents:httpcore:$httpCoreVersion"
    {
      group: "org.apache.jackrabbit"
      version: "$jackrabbitVersion"
      artifacts: [
        "jackrabbit-api"
        "jackrabbit-core"
        "jackrabbit-jcr-commons"
        "jackrabbit-jcr-server"
        "jackrabbit-spi"
        "jackrabbit-spi-commons"
        "jackrabbit-webdav"
      ]}
    "org.apache.jackrabbit:jackrabbit-webapp:$jackrabbitVersion}@ja"
    "org.apache.james:apache-mime4j:0.6" // Resteasy depends on this version, changes in 0.7 are severe
    "org.apache.jclouds.api:ec2:$jcloudsVersion"
    "org.apache.jclouds.provider:aws-ec2:$jcloudsVersion"
    {
      group: "org.apache.jclouds"
      version: "$jcloudsVersion"
      artifacts: [
        "jclouds-compute"
        "jclouds-core"
      ]}
    "org.apache.maven:maven-aether-provider:3.3.9"
    "org.apache.mina:mina-core:$minaVersion"
    "org.apache.sshd:sshd-core:$sshdVersion"
    "org.apache.velocity:velocity:1.7"
    {
      group: "org.aspectj"
      version: "$aspectjVersion"
      artifacts: [
        "aspectjrt"
        "aspectjweaver"
      ]}
    {
      group: "org.bouncycastle"
      version: "$bouncyCastleVersion"
      artifacts: [
        "bcpkix-jdk15on"
        "bcprov-jdk15on"
      ]}
    "org.clapper:grizzled-slf4j_${scalaVersion}:1.3.0"
    "org.codehaus.groovy:groovy-all:$groovyVersion"
    "org.codehaus.jettison:jettison:1.3.8"
    "org.easymock:easymock:3.4"
    "org.easytesting:fest-reflect:1.4.1"
    "org.easytesting:fest-assert-core:2.0M10"
    {
      group: "org.eclipse.aether"
      version: "$aetherVersion"
      artifacts: [
        "aether"
        "aether-api"
        "aether-connector-basic"
        "aether-impl"
        "aether-spi"
        "aether-transport-file"
        "aether-transport-http"
      ]}
    {
      group: "org.eclipse.jetty"
      version: "$jettyVersion"
      artifacts: [
        "jetty-client"
        "jetty-jmx"
        "jetty-jndi"
        "jetty-security"
        "jetty-server"
        "jetty-servlet"
        "jetty-servlets"
        "jetty-util"
        "jetty-webapp"
      ]}
    {
      group: "org.eclipse.jetty.websocket"
      version: "$jettyVersion"
      artifacts: [
        "websocket-client"
        "websocket-api"
        "websocket-server"
      ]}
    "org.freemarker:freemarker:2.3.23"
    "org.glassfish:javax.json:1.0.4"
    {
      group: "org.hamcrest"
      version: "1.3"
      artifacts: [
        "hamcrest-core"
        "hamcrest-library"
      ]}
    {
      group: "org.infinispan"
      version: "$infinispanVersion"
      artifacts: [
        "infinispan-cachestore-jdbc"
        "infinispan-commons"
        "infinispan-core"
      ]}
    "org.javassist:javassist:3.21.0-GA"
    {
      group: "org.jboss.resteasy"
      version: "$resteasyVersion"
      artifacts: [
        "resteasy-client"
        "resteasy-jackson2-provider"
        "resteasy-jaxb-provider"
        "resteasy-jaxrs"
        "resteasy-jettison-provider"
        "resteasy-multipart-provider"
        "resteasy-netty"
        "resteasy-spring"
      ]}
    "org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.0_spec:1.0.0.Final"
    "org.jdom:jdom:2.0.2"
    "org.joda:joda-convert:1.8.1"
    "org.liquibase:liquibase-core:${liquibaseVersion}"
    "com.mattbertolini:liquibase-slf4j:2.0.0"
    "org.mockito:mockito-core:${mockitoVersion}"
    "org.owasp.antisamy:antisamy:1.5.3"
    "org.pegdown:pegdown:1.6.0"
    "org.python:jython:$jythonVersion"
    "org.python:jython-standalone:${jythonVersion}.patch2618"
    "org.projectlombok:lombok:${lombokVersion}"
    "org.scala-lang.modules:scala-java8-compat_${scalaVersion}:0.8.0"
    "org.scala-lang.modules:scala-xml_${scalaVersion}:1.0.6"
    {
      group: "org.scala-lang"
      version: "$scalaFullVersion"
      artifacts: [
        "scala-library"
        "scala-reflect"
      ]}
    "org.scalacheck:scalacheck_${scalaVersion}:1.13.4"
    "org.scalatest:scalatest_${scalaVersion}:$scalaTestVersion"
    "org.seleniumhq.selenium:selenium-java:$seleniumVersion"
    {
      group: "org.slf4j"
      version: "$slf4jVersion"
      artifacts: [
        "jcl-over-slf4j"
        "jul-to-slf4j"
        "log4j-over-slf4j"
        "slf4j-api"
      ]}
    "org.springframework.ldap:spring-ldap-core:$springLdapVersion"
    {
      group: "org.springframework.security"
      version: "$springSecurityVersion"
      artifacts: [
        "spring-security-config"
        "spring-security-core"
        "spring-security-ldap"
        "spring-security-web"
      ]}
    "org.springframework.security:spring-security-jwt:1.0.8.RELEASE"
    "org.springframework.security.oauth:spring-security-oauth2:2.2.0.RELEASE"
    {
      group: "org.springframework"
      version: "$springVersion"
      artifacts: [
        "spring-beans"
        "spring-context"
        "spring-core"
        "spring-jdbc"
        "spring-test"
        "spring-messaging"
        "spring-web"
        "spring-webmvc"
        "spring-websocket"
      ]}
    "org.testng:testng:6.9.10"
    "org.yaml:snakeyaml:1.17"
    "pl.pragmatists:JUnitParams:1.0.5"
    {
      group: "org.crashub"
      version: "$crashVersion"
      artifacts: [
        "crash.shell"
        "crash.cli"
        "crash.connectors.ssh"
        "crash.connectors.telnet"
        "crash.embed.spring"
      ]
    }
    "net.wimpi:telnetd-x:$telnetdVersion"
    "com.typesafe.slick:slick_${scalaVersion}:$slickVersion"
    "com.dimafeng:testcontainers-scala_$scalaVersion:$testcontainersScalaVersion"
  ]

  blacklist: [
    "com.esotericsoftware:kryo-shaded"
    "com.google.collections:google-collections"
    "commons-logging:commons-logging"
    "javassist:javassist"
    "javax.servlet:servlet-api"
    "javax.xml.bind:jsr173_api"
    "javax.xml.stream:stax-api"
    "log4j:log4j"
    "org.bouncycastle:bcprov-jdk15"
    "org.bouncycastle:bcprov-jdk16"
    "org.fusesource.hawtjni:hawtjni-runtime"
    "org.fusesource.leveldbjni:leveldbjni"
    "org.fusesource.leveldbjni:leveldbjni-all"
    "org.fusesource.leveldbjni:leveldbjni-linux32"
    "org.fusesource.leveldbjni:leveldbjni-linux64"
    "org.fusesource.leveldbjni:leveldbjni-osx"
    "org.fusesource.leveldbjni:leveldbjni-win32"
    "org.fusesource.leveldbjni:leveldbjni-win64"
    "org.iq80.leveldb:leveldb"
    "org.iq80.leveldb:leveldb-api"
    "org.jboss.resteasy:resteasy-jackson-provider"
    "org.mortbay.jetty:servlet-api-2.5"
    "org.slf4j:slf4j-log4j12"
    "org.slf4j:slf4j-simple"
    "stax:stax-api"
  ]

  rewrites {
    "jdom:jdom": "org.jdom:jdom"
    "c3p0:c3p0": "com.mchange:c3p0"
    "javax.mail:mail": "com.sun.mail:javax.mail"
  }
}
