scm-core/build.gradle
Rama develop · réplica de lectura del repositorio original.
/*
* Copyright (c) 2020 - present Cloudogu GmbH
*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see https://www.gnu.org/licenses/.
*/
plugins {
id 'java-library'
id 'org.scm-manager.java'
id 'org.scm-manager.build-info'
}
// 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 libs.lombok
testCompileOnly libs.lombok
annotationProcessor libs.lombok
testAnnotationProcessor libs.lombok
// jakarta
api libs.jakartaAnnotationApi
// servlet api
implementation libs.servletApi
// logging
api libs.slf4jApi
api libs.slf4jJcl // is api here required?
testImplementation libs.logback
// injection
api libs.guice
api libs.guiceServlet
api libs.guiceThrowingproviders
api libs.guiceAssistedinject
// rest api
api libs.jaxRs
testImplementation libs.resteasyCore
// cli
api libs.picocli
// json
api(libs.jacksonCore) {
version { strictly libs.versions.jackson.get() }
}
api(libs.jacksonAnnotations) {
version { strictly libs.versions.jacksonAnnotations.get() }
}
api(libs.jacksonDatabind) {
version { strictly libs.versions.jackson.get() }
}
api libs.jacksonDatatypeJdk8
api libs.jacksonDatatypeJsr310
// hypermedia
api libs.edison
api libs.damnhandy
// dto mapping
api libs.mapstruct
annotationProcessor libs.mapstructProcessor
// events
api libs.legman
// xml binding
api libs.jaxbApi
api libs.jaxbRuntime // should this be an part of api configuration?
// validation
api libs.validator
testImplementation libs.elApi
testImplementation libs.elRuntime
// utils
api libs.guava
api libs.commonsLang
// security
api variantOf(libs.shiroCore) { classifier('jakarta') }
api libs.ssp
annotationProcessor libs.sspProcessor
testImplementation libs.shiroUnit
// compression
implementation libs.commonsCompress
// metrics
api libs.micrometerCore
// tests
testImplementation libs.junitJupiterApi
testImplementation libs.junitJupiterParams
testRuntimeOnly libs.junitJupiterEngine
testImplementation libs.junitPioneer
// shiro
testImplementation libs.shiroExtension
// junit 4 support
testRuntimeOnly libs.junitVintageEngine
testImplementation libs.junit
// assertions
testImplementation libs.hamcrestCore
testImplementation libs.hamcrestLibrary
testImplementation libs.assertj
// mocking
testImplementation libs.mockitoCore
testImplementation libs.mockitoJunitJupiter
}
jar {
from project.layout.buildDirectory.dir('info')
dependsOn 'build-info'
}