Files
SCM-Manager/scm-core/build.gradle

128 lines
4.0 KiB
Groovy
Raw Normal View History

2020-12-18 14:14:07 +01:00
/*
* MIT License
*
* Copyright (c) 2020-present Cloudogu GmbH and Contributors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
plugins {
id 'java-library'
id 'org.scm-manager.build-info'
2020-12-18 14:14:07 +01:00
}
// TODO
// gradle has xerces on it classpath, which breaks our annotation processor
// so we force jdk build in for now
// @see https://stackoverflow.com/questions/53299280/java-and-xerces-cant-find-property-xmlconstants-access-external-dtd
System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
dependencies {
api platform(project(':'))
// scm annotations
api project(':scm-annotations')
annotationProcessor project(':scm-annotation-processor')
// lombok
compileOnly 'org.projectlombok:lombok'
2020-12-18 16:03:42 +01:00
// TODO version from parent
annotationProcessor 'org.projectlombok:lombok:1.18.10'
2020-12-18 14:14:07 +01:00
// servlet api
implementation 'javax.servlet:javax.servlet-api'
// logging
api 'org.slf4j:slf4j-api'
api 'org.slf4j:jcl-over-slf4j' // is api here required?
testImplementation 'ch.qos.logback:logback-classic'
// 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'
// rest api
api 'javax.ws.rs:javax.ws.rs-api'
testImplementation 'org.jboss.resteasy:resteasy-core'
// json
api 'com.fasterxml.jackson.core:jackson-core'
api 'com.fasterxml.jackson.core:jackson-annotations'
api 'com.fasterxml.jackson.core:jackson-databind'
// hypermedia
api 'de.otto.edison:edison-hal'
// dto mapping
api 'org.mapstruct:mapstruct-jdk8'
annotationProcessor 'org.mapstruct:mapstruct-processor'
// events
api 'com.github.legman:core'
// xml binding
api 'jakarta.xml.bind:jakarta.xml.bind-api'
api 'org.glassfish.jaxb:jaxb-runtime' // api ?
// validation
api 'org.hibernate.validator:hibernate-validator'
testImplementation 'javax.el:javax.el-api'
testImplementation 'org.glassfish:javax.el'
// utils
api 'com.google.guava:guava'
api 'commons-lang:commons-lang'
// 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'
// tests
testImplementation 'org.junit.jupiter:junit-jupiter-api'
testImplementation 'org.junit.jupiter:junit-jupiter-params'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
// junit 4 support
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine'
testImplementation 'junit:junit'
// assertions
testImplementation 'org.hamcrest:hamcrest-core'
testImplementation 'org.hamcrest:hamcrest-library'
testImplementation 'org.assertj:assertj-core'
// mocking
testImplementation 'org.mockito:mockito-core'
testImplementation 'org.mockito:mockito-junit-jupiter'
}
jar {
from project.buildDirectory.dir('info')
dependsOn 'build-info'
}
2020-12-18 14:14:07 +01:00
test {
useJUnitPlatform()
}