Align dependency configurations and versions

This commit is contained in:
Sebastian Sdorra
2021-01-04 15:07:20 +01:00
committed by René Pfeuffer
parent 2c3b1514a4
commit 5c379a5bb4
17 changed files with 348 additions and 191 deletions

2
.gitignore vendored
View File

@@ -33,6 +33,6 @@ rebel.xml
# vagrant
.vagrant
.gradle
.gradletasknamecache
**/build

View File

@@ -28,12 +28,15 @@ plugins {
id 'groovy'
}
apply from: file( '../gradle/dependencies.gradle' )
dependencies {
implementation gradleApi()
implementation 'com.google.guava:guava:30.0-jre'
implementation 'com.github.node-gradle:gradle-node-plugin:2.2.4'
implementation 'org.eclipse.jetty:jetty-server:9.4.35.v20201120'
implementation 'org.eclipse.jetty:jetty-webapp:9.4.35.v20201120'
implementation libraries.guava
implementation libraries.jettyServer
implementation libraries.jettyWebapp
}
gradlePlugin {

View File

@@ -26,86 +26,87 @@ plugins {
id 'java-platform'
}
task('serve') {
dependsOn ':scm-ui:yarn_install', ':scm-webapp:serve'
}
apply from: rootProject.file( 'gradle/dependencies.gradle' )
dependencies {
constraints {
// lombok
api 'org.projectlombok:lombok:1.18.10'
api libraries.lombok
// servlet api
api 'javax.servlet:javax.servlet-api:3.1.0'
api libraries.servletApi
// logging
api 'org.slf4j:slf4j-api:1.7.30'
api 'org.slf4j:jcl-over-slf4j:1.7.30'
api 'ch.qos.logback:logback-classic:1.2.3'
api libraries.slf4jApi
api libraries.slf4jJcl
api libraries.logback
// injection
api 'com.google.inject:guice:4.2.3'
api 'com.google.inject.extensions:guice-multibindings:4.2.3'
api 'com.google.inject.extensions:guice-servlet:4.2.3'
api 'com.google.inject.extensions:guice-throwingproviders:4.2.3'
api 'com.google.inject.extensions:guice-assistedinject:4.2.3'
api libraries.guice
api libraries.guiceMultibindings
api libraries.guiceServlet
api libraries.guiceThrowingproviders
api libraries.guiceAssistedinject
// rest api
api 'javax.ws.rs:javax.ws.rs-api:2.1.1'
api 'org.jboss.resteasy:resteasy-core:4.5.8.Final'
api libraries.jaxRs
api libraries.resteasyCore
// json
api 'com.fasterxml.jackson.core:jackson-core:2.12.0'
api 'com.fasterxml.jackson.core:jackson-annotations:2.12.0'
api 'com.fasterxml.jackson.core:jackson-databind:2.12.0'
api libraries.jacksonCore
api libraries.jacksonAnnotations
api libraries.jacksonDatabind
// hypermedia
api 'de.otto.edison:edison-hal:2.1.0'
api libraries.edison
// dto mapping
api 'org.mapstruct:mapstruct-jdk8:1.3.1.Final'
api 'org.mapstruct:mapstruct-processor:1.3.1.Final'
api libraries.mapstruct
api libraries.mapstructProcessor
// events
api 'com.github.legman:core:1.6.2'
api libraries.legman
// xml binding
api 'jakarta.xml.bind:jakarta.xml.bind-api:2.3.3'
api 'org.glassfish.jaxb:jaxb-runtime:2.3.3'
api libraries.jaxbApi
api libraries.jaxbRuntime
// validation
api 'org.hibernate.validator:hibernate-validator:6.1.6.Final'
api 'javax.el:javax.el-api:3.0.0'
api 'org.glassfish:javax.el:3.0.1-b11'
api libraries.validator
api libraries.elApi
api libraries.elRuntime
// utils
api 'com.google.guava:guava:30.0-jre'
api 'commons-lang:commons-lang:2.6'
api libraries.guava
api libraries.commonsLang
// security
api 'org.apache.shiro:shiro-core:1.7.0'
api 'com.github.sdorra:ssp-lib:1.3.0'
api 'com.github.sdorra:ssp-processor:1.3.0'
api 'com.github.sdorra:shiro-unit:1.0.1'
api libraries.shiroCore
api libraries.ssp
api libraries.sspProcessor
api libraries.shiroUnit
// tests
api 'org.junit.jupiter:junit-jupiter-api:5.7.0'
api 'org.junit.jupiter:junit-jupiter-params:5.7.0'
api 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
api libraries.junitJupiterApi
api libraries.junitJupiterParams
api libraries.junitJupiterEngine
// junit 4 support
api 'org.junit.vintage:junit-vintage-engine:5.7.0'
api 'junit:junit:4.13.1'
api libraries.junitVintageEngine
api libraries.junit
// assertions
api 'org.hamcrest:hamcrest-core:2.1'
api 'org.hamcrest:hamcrest-library:2.1'
api 'org.assertj:assertj-core:3.18.1'
api libraries.hamcrestCore
api libraries.hamcrestLibrary
api libraries.assertj
// mocking
api 'org.mockito:mockito-core:3.6.28'
api 'org.mockito:mockito-junit-jupiter:3.6.28'
api libraries.mockitoCore
api libraries.mockitoJunitJupiter
}
}
@@ -121,6 +122,7 @@ subprojects {
targetCompatibility = JavaVersion.VERSION_1_8
}
apply from: rootProject.file( 'gradle/dependencies.gradle' )
}
// set build props

165
gradle/dependencies.gradle Normal file
View File

@@ -0,0 +1,165 @@
ext {
slf4jVersion = '1.7.30'
guiceVersion = '4.2.3'
resteasyVersion = '4.5.8.Final'
// TODO upgrade to 2.12.0, but this breaks openapi spec generation
jacksonVersion = '2.11.3'
mapstructVersion = '1.3.1.Final'
jaxbVersion = '2.3.3'
shiroVersion = '1.7.0'
sspVersion = '1.3.0'
jjwtVersion = '0.11.2'
bouncycastleVersion = '1.67'
jettyVersion = '9.4.35.v20201120'
junitJupiterVersion = '5.7.0'
hamcrestVersion = '2.1'
mockitoVersion = '3.6.28'
jerseyClientVersion = '1.19.4'
nodeVersion = '14.15.1'
yarnVersion = '1.22.5'
libraries = [
// lombok
lombok: 'org.projectlombok:lombok:1.18.10',
// servlet api
servletApi: 'javax.servlet:javax.servlet-api:3.1.0',
// logging
slf4jApi: "org.slf4j:slf4j-api:${slf4jVersion}",
slf4jJcl: "org.slf4j:jcl-over-slf4j:${slf4jVersion}",
logback: 'ch.qos.logback:logback-classic:1.2.3',
// injection
guice: "com.google.inject:guice:${guiceVersion}",
guiceMultibindings: "com.google.inject.extensions:guice-multibindings:${guiceVersion}",
guiceServlet: "com.google.inject.extensions:guice-servlet:${guiceVersion}",
guiceThrowingproviders: "com.google.inject.extensions:guice-throwingproviders:${guiceVersion}",
guiceAssistedinject: "com.google.inject.extensions:guice-assistedinject:${guiceVersion}",
// rest api
jaxRs: 'javax.ws.rs:javax.ws.rs-api:2.1.1',
resteasyCore: "org.jboss.resteasy:resteasy-core:${resteasyVersion}",
resteasyJaxbProvider: "org.jboss.resteasy:resteasy-jaxb-provider:${resteasyVersion}",
resteasyJackson2Provider: "org.jboss.resteasy:resteasy-jackson2-provider:${resteasyVersion}",
resteasyMultiartProvider: "org.jboss.resteasy:resteasy-multipart-provider:${resteasyVersion}",
resteasyGuice: "org.jboss.resteasy:resteasy-guice:${resteasyVersion}",
resteasyServletInitializer: "org.jboss.resteasy:resteasy-servlet-initializer:${resteasyVersion}",
resteasyValidatorProvider: "org.jboss.resteasy:resteasy-validator-provider:${resteasyVersion}",
// json
jacksonCore: "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}",
jacksonAnnotations: "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}",
jacksonDatabind: "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}",
jacksonJaxbAnnotations: "com.fasterxml.jackson.module:jackson-module-jaxb-annotations:${jacksonVersion}",
jacksonJaxRsBase: "com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:${jacksonVersion}",
jacksonJaxRsJsonProvider: "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:${jacksonVersion}",
jacksonDatatypeJdk8: "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:${jacksonVersion}",
jacksonDatatypeJsr310: "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${jacksonVersion}",
// hypermedia
edison: 'de.otto.edison:edison-hal:2.1.0',
// openapi
swaggerJaxRs: 'io.swagger.core.v3:swagger-jaxrs2:2.1.6',
// dto mapping
mapstruct: "org.mapstruct:mapstruct-jdk8:${mapstructVersion}",
mapstructProcessor: "org.mapstruct:mapstruct-processor:${mapstructVersion}",
// events
legman: 'com.github.legman:core:1.6.2',
// xml binding
jaxbApi: "jakarta.xml.bind:jakarta.xml.bind-api:${jaxbVersion}",
jaxbRuntime: "org.glassfish.jaxb:jaxb-runtime:${jaxbVersion}",
// validation
validator: 'org.hibernate.validator:hibernate-validator:6.1.6.Final',
elApi: 'javax.el:javax.el-api:3.0.0',
elRuntime: 'org.glassfish:javax.el:3.0.1-b11',
// utils
guava: 'com.google.guava:guava:30.0-jre',
commonsLang: 'commons-lang:commons-lang:2.6',
// security
shiroCore: "org.apache.shiro:shiro-core:${shiroVersion}",
shiroWeb: "org.apache.shiro:shiro-web:${shiroVersion}",
shiroGuice: "org.apache.shiro:shiro-guice:${shiroVersion}",
ssp: "com.github.sdorra:ssp-lib:${sspVersion}",
sspProcessor: "com.github.sdorra:ssp-processor:${sspVersion}",
shiroUnit: 'com.github.sdorra:shiro-unit:1.0.1',
// jwt
jjwtApi: "io.jsonwebtoken:jjwt-api:${jjwtVersion}",
jjwtRuntime: "io.jsonwebtoken:jjwt-impl:${jjwtVersion}",
jjwtJackson: "io.jsonwebtoken:jjwt-jackson:${jjwtVersion}",
// gpg
bouncycastlePg: "org.bouncycastle:bcpg-jdk15on:${bouncycastleVersion}",
bouncycastleProv: "org.bouncycastle:bcprov-jdk15on:${bouncycastleVersion}",
bouncycastlePkix: "org.bouncycastle:bcpkix-jdk15on:${bouncycastleVersion}",
// service registration
metainfServices: 'org.kohsuke.metainf-services:metainf-services:1.8',
// cron expression
cronUtils: 'com.cronutils:cron-utils:9.1.3',
// templates
mustache: 'com.github.spullara.mustache.java:compiler:0.9.7',
// static resources
webResources: 'com.github.sdorra:web-resources:1.1.1',
// content type detection
spotter: 'com.github.sdorra:spotter-core:3.0.1',
tika: 'org.apache.tika:tika-core:1.25',
// restart on unix
akuma: 'org.kohsuke:akuma:1.10',
// native access
jna: 'net.java.dev.jna:jna:5.6.0',
// daemonize scm-manager on unix systems
commonsDaemon: 'commons-daemon:commons-daemon:1.2.3',
jsvc: 'commons-daemon:commons-daemon-native:1.1.0@tar.gz',
// jetty
jettyServer: "org.eclipse.jetty:jetty-server:${jettyVersion}",
jettyWebapp: "org.eclipse.jetty:jetty-webapp:${jettyVersion}",
jettyJmx: "org.eclipse.jetty:jetty-jmx:${jettyVersion}",
// tests
junitJupiterApi: "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}",
junitJupiterParams: "org.junit.jupiter:junit-jupiter-params:${junitJupiterVersion}",
junitJupiterEngine: "org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}",
// junit 4 support
junitVintageEngine: "org.junit.vintage:junit-vintage-engine:${junitJupiterVersion}",
junit: 'junit:junit:4.13.1',
// assertions
hamcrestCore: "org.hamcrest:hamcrest-core:${hamcrestVersion}",
hamcrestLibrary: "org.hamcrest:hamcrest-library:${hamcrestVersion}",
assertj: 'org.assertj:assertj-core:3.18.1',
// mocking
mockitoCore: "org.mockito:mockito-core:${mockitoVersion}",
mockitoJunitJupiter: "org.mockito:mockito-junit-jupiter:${mockitoVersion}",
// testing async code
awaitility: 'org.awaitility:awaitility:4.0.2',
// rest api client for testing
jerseyClientApi: "com.sun.jersey:jersey-client:${jerseyClientVersion}",
jerseyClientRuntime: "com.sun.jersey.contribs:jersey-apache-client:${jerseyClientVersion}"
]
}

View File

@@ -31,18 +31,18 @@ dependencies {
implementation project(':scm-annotations')
// injection
implementation 'com.google.inject:guice'
implementation libraries.guice
// rest api
implementation 'javax.ws.rs:javax.ws.rs-api'
implementation libraries.jaxRs
// events
implementation 'com.github.legman:core'
implementation libraries.legman
// utils
implementation 'com.google.guava:guava'
implementation libraries.guava
// service registration
compileOnly 'org.kohsuke.metainf-services:metainf-services:1.8'
annotationProcessor 'org.kohsuke.metainf-services:metainf-services:1.8'
compileOnly libraries.metainfServices
annotationProcessor libraries.metainfServices
}

View File

@@ -27,6 +27,6 @@ plugins {
}
dependencies {
api platform(project(":"))
implementation 'com.google.inject:guice'
api platform(project(':'))
implementation libraries.guice
}

View File

@@ -41,80 +41,79 @@ dependencies {
annotationProcessor project(':scm-annotation-processor')
// lombok
compileOnly 'org.projectlombok:lombok'
// TODO version from parent
annotationProcessor 'org.projectlombok:lombok:1.18.10'
compileOnly libraries.lombok
annotationProcessor libraries.lombok
// servlet api
implementation 'javax.servlet:javax.servlet-api'
implementation libraries.servletApi
// logging
api 'org.slf4j:slf4j-api'
api 'org.slf4j:jcl-over-slf4j' // is api here required?
testImplementation 'ch.qos.logback:logback-classic'
api libraries.slf4jApi
api libraries.slf4jJcl // is api here required?
testImplementation libraries.logback
// injection
api 'com.google.inject:guice'
api 'com.google.inject.extensions:guice-multibindings'
api 'com.google.inject.extensions:guice-servlet'
api 'com.google.inject.extensions:guice-throwingproviders'
api 'com.google.inject.extensions:guice-assistedinject'
api libraries.guice
api libraries.guiceMultibindings
api libraries.guiceServlet
api libraries.guiceThrowingproviders
api libraries.guiceAssistedinject
// rest api
api 'javax.ws.rs:javax.ws.rs-api'
testImplementation 'org.jboss.resteasy:resteasy-core'
api libraries.jaxRs
testImplementation libraries.resteasyCore
// json
api 'com.fasterxml.jackson.core:jackson-core'
api 'com.fasterxml.jackson.core:jackson-annotations'
api 'com.fasterxml.jackson.core:jackson-databind'
api libraries.jacksonCore
api libraries.jacksonAnnotations
api libraries.jacksonDatabind
// hypermedia
api 'de.otto.edison:edison-hal'
api libraries.edison
// dto mapping
api 'org.mapstruct:mapstruct-jdk8'
annotationProcessor 'org.mapstruct:mapstruct-processor'
api libraries.mapstruct
annotationProcessor libraries.mapstructProcessor
// events
api 'com.github.legman:core'
api libraries.legman
// xml binding
api 'jakarta.xml.bind:jakarta.xml.bind-api'
api 'org.glassfish.jaxb:jaxb-runtime' // api ?
api libraries.jaxbApi
api libraries.jaxbRuntime // should this be an part of api configuration?
// validation
api 'org.hibernate.validator:hibernate-validator'
testImplementation 'javax.el:javax.el-api'
testImplementation 'org.glassfish:javax.el'
api libraries.validator
testImplementation libraries.elApi
testImplementation libraries.elRuntime
// utils
api 'com.google.guava:guava'
api 'commons-lang:commons-lang'
api libraries.guava
api libraries.commonsLang
// security
api 'org.apache.shiro:shiro-core'
api 'com.github.sdorra:ssp-lib'
annotationProcessor 'com.github.sdorra:ssp-processor'
testImplementation 'com.github.sdorra:shiro-unit'
api libraries.shiroCore
api libraries.ssp
annotationProcessor libraries.sspProcessor
testImplementation libraries.shiroUnit
// tests
testImplementation 'org.junit.jupiter:junit-jupiter-api'
testImplementation 'org.junit.jupiter:junit-jupiter-params'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
testImplementation libraries.junitJupiterApi
testImplementation libraries.junitJupiterParams
testRuntimeOnly libraries.junitJupiterEngine
// junit 4 support
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine'
testImplementation 'junit:junit'
testRuntimeOnly libraries.junitVintageEngine
testImplementation libraries.junit
// assertions
testImplementation 'org.hamcrest:hamcrest-core'
testImplementation 'org.hamcrest:hamcrest-library'
testImplementation 'org.assertj:assertj-core'
testImplementation libraries.hamcrestCore
testImplementation libraries.hamcrestLibrary
testImplementation libraries.assertj
// mocking
testImplementation 'org.mockito:mockito-core'
testImplementation 'org.mockito:mockito-junit-jupiter'
testImplementation libraries.mockitoCore
testImplementation libraries.mockitoJunitJupiter
}
jar {

View File

@@ -33,9 +33,8 @@ dependencies {
testImplementation project(':scm-test')
// lombok
compileOnly 'org.projectlombok:lombok'
// TODO version from parent
annotationProcessor 'org.projectlombok:lombok:1.18.10'
compileOnly libraries.lombok
annotationProcessor libraries.lombok
}
test {

View File

@@ -32,7 +32,7 @@ configurations {
dependencies {
server project(':scm-server')
webapp project(path: ':scm-webapp', configuration: 'webapp')
jsvc 'commons-daemon:commons-daemon-native:1.1.0@tar.gz'
jsvc libraries.jsvc
}
task distribution(type: Tar) {

View File

@@ -24,7 +24,7 @@
import org.gradle.util.VersionNumber
plugins {
id "de.undercouch.download" version "4.1.1"
id "de.undercouch.download" version "4.1.1"
}
configurations {

View File

@@ -27,13 +27,15 @@ plugins {
id 'org.scm-manager.smp' version '0.5.1'
}
def jgitVersion = '5.6.1.202002131546-r-scm1'
dependencies {
// required by scm-it
api 'sonia.jgit:org.eclipse.jgit:5.6.1.202002131546-r-scm1'
implementation 'sonia.jgit:org.eclipse.jgit.http.server:5.6.1.202002131546-r-scm1'
implementation 'sonia.jgit:org.eclipse.jgit.lfs.server:5.6.1.202002131546-r-scm1'
api "sonia.jgit:org.eclipse.jgit:${jgitVersion}"
implementation "sonia.jgit:org.eclipse.jgit.http.server:${jgitVersion}"
implementation "sonia.jgit:org.eclipse.jgit.lfs.server:${jgitVersion}"
testImplementation 'com.github.sdorra:shiro-unit'
testImplementation libraries.shiroUnit
}
scmPlugin {

View File

@@ -32,8 +32,8 @@ dependencies {
exclude group: 'com.google.guava', module: 'guava'
exclude group: 'org.slf4j'
}
testImplementation 'com.github.sdorra:shiro-unit'
testImplementation 'ch.qos.logback:logback-classic'
testImplementation libraries.shiroUnit
testImplementation libraries.logback
}
scmPlugin {

View File

@@ -27,12 +27,14 @@ plugins {
id 'org.scm-manager.smp' version '0.5.1'
}
def svnkitVersion = '1.10.1-scm2'
dependencies {
implementation('sonia.svnkit:svnkit:1.10.1-scm2') {
implementation("sonia.svnkit:svnkit:${svnkitVersion}") {
exclude group: 'org.tmatesoft.svnkit', module: 'trilead-ssh2'
}
implementation 'sonia.svnkit:svnkit-dav:1.10.1-scm2'
testImplementation 'com.github.sdorra:shiro-unit'
implementation "sonia.svnkit:svnkit-dav:${svnkitVersion}"
testImplementation libraries.shiroUnit
}
scmPlugin {

View File

@@ -29,9 +29,9 @@ plugins {
dependencies {
api platform(project(':'))
implementation 'commons-daemon:commons-daemon:1.2.3'
implementation 'org.eclipse.jetty:jetty-server:9.4.35.v20201120'
implementation 'org.eclipse.jetty:jetty-webapp:9.4.35.v20201120'
implementation libraries.commonsDaemon
implementation libraries.jettyServer
implementation libraries.jettyWebapp
// TODO do we need jetty jmx?
implementation 'org.eclipse.jetty:jetty-jmx:9.4.35.v20201120'
implementation libraries.jettyJmx
}

View File

@@ -31,26 +31,26 @@ dependencies {
api project(':scm-core')
// tests
api 'org.junit.jupiter:junit-jupiter-api'
api 'org.junit.jupiter:junit-jupiter-params'
api 'org.junit.jupiter:junit-jupiter-engine'
api libraries.junitJupiterApi
api libraries.junitJupiterParams
api libraries.junitJupiterEngine
// junit 4 support
api 'org.junit.vintage:junit-vintage-engine'
api 'junit:junit'
api libraries.junitVintageEngine
api libraries.junit
// assertions
api 'org.hamcrest:hamcrest-core'
api 'org.hamcrest:hamcrest-library'
api 'org.assertj:assertj-core'
api libraries.hamcrestCore
api libraries.hamcrestLibrary
api libraries.assertj
// mocking
api 'org.mockito:mockito-core'
api 'org.mockito:mockito-junit-jupiter'
api libraries.mockitoCore
api libraries.mockitoJunitJupiter
// test rest api's
api 'org.jboss.resteasy:resteasy-core'
api libraries.resteasyCore
// test servlet api
api 'javax.servlet:javax.servlet-api'
api libraries.servletApi
}

View File

@@ -27,10 +27,10 @@ plugins {
}
node {
download = true
version = '14.15.1'
yarnVersion = '1.22.5'
nodeModulesDir = file(project.rootProject.projectDir)
download = true
version = nodeVersion
yarnVersion = yarnVersion
nodeModulesDir = file(project.rootProject.projectDir)
}
// TODO define inputs and outputs
@@ -45,7 +45,7 @@ task typecheck(type: YarnTask) {
include 'ui-*/**/*.tsx'
})
.withPathSensitivity(PathSensitivity.RELATIVE)
outputs.file("build/tmp/typecheck/marker")
outputs.file('build/tmp/typecheck/marker')
dependsOn('yarn_install')
doLast {
File directory = new File(project.buildDir, 'tmp/typecheck')

View File

@@ -50,98 +50,83 @@ dependencies {
testImplementation project(':scm-test')
annotationProcessor project(':scm-annotation-processor')
// servlet api TODO version
providedCompile 'javax.servlet:javax.servlet-api:3.0.1'
testImplementation 'javax.servlet:javax.servlet-api'
// servlet api
providedCompile libraries.servletApi
testImplementation libraries.servletApi
// security
implementation 'org.apache.shiro:shiro-web:1.7.0' // TODO
implementation 'org.apache.shiro:shiro-guice:1.7.0' // TODO
implementation libraries.shiroWeb
implementation libraries.shiroGuice
// jwt
implementation 'io.jsonwebtoken:jjwt-api:0.11.2'
implementation 'io.jsonwebtoken:jjwt-impl:0.11.2'
implementation 'io.jsonwebtoken:jjwt-jackson:0.11.2'
implementation libraries.jjwtApi
implementation libraries.jjwtRuntime
implementation libraries.jjwtJackson
// gpg
implementation 'org.bouncycastle:bcpg-jdk15on:1.67'
implementation 'org.bouncycastle:bcprov-jdk15on:1.67'
implementation 'org.bouncycastle:bcpkix-jdk15on:1.67'
implementation libraries.bouncycastlePg
implementation libraries.bouncycastleProv
implementation libraries.bouncycastlePkix
// json TODO versions
implementation 'com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.11.3'
implementation 'com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.11.3'
implementation 'com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.11.3'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.3'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.3'
// json
implementation libraries.jacksonJaxbAnnotations
implementation libraries.jacksonJaxRsBase
implementation libraries.jacksonJaxRsJsonProvider
implementation libraries.jacksonDatatypeJdk8
implementation libraries.jacksonDatatypeJsr310
// rest api TODO versions
implementation 'org.jboss.resteasy:resteasy-jaxb-provider:4.5.8.Final'
implementation 'org.jboss.resteasy:resteasy-jackson2-provider:4.5.8.Final'
implementation 'org.jboss.resteasy:resteasy-multipart-provider:4.5.8.Final'
implementation 'org.jboss.resteasy:resteasy-guice:4.5.8.Final'
implementation 'org.jboss.resteasy:resteasy-servlet-initializer:4.5.8.Final'
implementation 'org.jboss.resteasy:resteasy-validator-provider:4.5.8.Final'
// rest api
implementation libraries.resteasyJaxbProvider
implementation libraries.resteasyJackson2Provider
implementation libraries.resteasyMultiartProvider
implementation libraries.resteasyGuice
implementation libraries.resteasyServletInitializer
implementation libraries.resteasyValidatorProvider
// openapi
compileOnly 'io.swagger.core.v3:swagger-jaxrs2:2.1.6'
// validation
implementation 'org.hibernate.validator:hibernate-validator:6.1.6.Final'
implementation 'javax.el:javax.el-api:3.0.0'
implementation 'org.glassfish:javax.el:3.0.1-b11'
compileOnly libraries.swaggerJaxRs
// logging
implementation 'ch.qos.logback:logback-classic'
// api 'org.slf4j:jcl-over-slf4j' from core, but why?
implementation 'org.slf4j:log4j-over-slf4j:1.7.30'
// utils
implementation 'com.google.guava:guava'
implementation libraries.logback
// cron expression
implementation 'com.cronutils:cron-utils:9.1.3'
implementation libraries.cronUtils
// templates
implementation 'com.github.spullara.mustache.java:compiler:0.9.7'
implementation libraries.mustache
// static resources
implementation 'com.github.sdorra:web-resources:1.1.1'
implementation libraries.webResources
// content type detection
implementation 'com.github.sdorra:spotter-core:3.0.1'
implementation 'org.apache.tika:tika-core:1.25'
implementation libraries.spotter
implementation libraries.tika
// restart on unix
implementation 'org.kohsuke:akuma:1.10'
implementation libraries.akuma
// native access
implementation 'net.java.dev.jna:jna:5.6.0'
implementation libraries.jna
// lombok
compileOnly 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'
// TODO version from parent
annotationProcessor 'org.projectlombok:lombok:1.18.10'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.10'
compileOnly libraries.lombok
testCompileOnly libraries.lombok
annotationProcessor libraries.lombok
testAnnotationProcessor libraries.lombok
// dto mapping
annotationProcessor 'org.mapstruct:mapstruct-processor'
annotationProcessor libraries.mapstructProcessor
// selenium TODO do we need this?
// testImplementation 'org.seleniumhq.selenium:selenium-java:2.53.1'
// testImplementation 'org.seleniumhq.selenium:selenium-firefox-driver:2.53.1'
// testImplementation 'org.seleniumhq.selenium:htmlunit-driver:2.21'
// rest api client TODO do we need this?
testImplementation 'com.sun.jersey:jersey-client:1.19.4'
testImplementation 'com.sun.jersey.contribs:jersey-apache-client:1.19.4'
// async
testImplementation 'org.awaitility:awaitility:4.0.2'
// testing async code
testImplementation libraries.awaitility
// shiro unit
testImplementation 'com.github.sdorra:shiro-unit:1.0.1'
testImplementation libraries.shiroUnit
// rest api client
// TODO do we need this?
testImplementation libraries.jerseyClientApi
testImplementation libraries.jerseyClientRuntime
}
war {