Files
SCM-Manager/build.gradle
2021-01-14 12:01:33 +01:00

140 lines
3.7 KiB
Groovy

/*
* 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-platform'
}
subprojects {
repositories {
maven {
url 'https://packages.scm-manager.org/repository/public/'
}
}
apply from: rootProject.file( 'gradle/dependencies.gradle' )
}
apply from: rootProject.file( 'gradle/dependencies.gradle' )
dependencies {
constraints {
// lombok
api libraries.lombok
// servlet api
api libraries.servletApi
// logging
api libraries.slf4jApi
api libraries.slf4jJcl
api libraries.logback
// injection
api libraries.guice
api libraries.guiceMultibindings
api libraries.guiceServlet
api libraries.guiceThrowingproviders
api libraries.guiceAssistedinject
// rest api
api libraries.jaxRs
api libraries.resteasyCore
// json
api libraries.jacksonCore
api libraries.jacksonAnnotations
api libraries.jacksonDatabind
// hypermedia
api libraries.edison
// dto mapping
api libraries.mapstruct
api libraries.mapstructProcessor
// events
api libraries.legman
// xml binding
api libraries.jaxbApi
api libraries.jaxbRuntime
// validation
api libraries.validator
api libraries.elApi
api libraries.elRuntime
// utils
api libraries.guava
api libraries.commonsLang
// security
api libraries.shiroCore
api libraries.ssp
api libraries.sspProcessor
api libraries.shiroUnit
// tests
api libraries.junitJupiterApi
api libraries.junitJupiterParams
api libraries.junitJupiterEngine
// junit 4 support
api libraries.junitVintageEngine
api libraries.junit
// assertions
api libraries.hamcrestCore
api libraries.hamcrestLibrary
api libraries.assertj
// mocking
api libraries.mockitoCore
api libraries.mockitoJunitJupiter
}
}
// set build props
project.ext {
timestamp = new Date().format('yyyyMMddHHmmSS')
revision = "git rev-parse --short HEAD".execute().text.trim()
if (project.version.contains('-SNAPSHOT')) {
expandedVersion = project.version.replace('SNAPSHOT', timestamp)
expandedVersionWithDot = project.version.replace('-SNAPSHOT', ".${timestamp}")
dockerRepository = 'docker.io/cloudogu/scm-manager'
String snapshotVersion = revision
def buildNumber = System.getenv('BUILD_NUMBER')
if (buildNumber != null) {
snapshotVersion += "-${buildNumber}"
}
dockerTag = version.replace('SNAPSHOT', snapshotVersion)
} else {
expandedVersion = project.version
expandedVersionWithDot = project.version
dockerRepository = 'docker.io/scmmanager/scm-manager'
dockerTag = version.replace('SNAPSHOT', snapshotVersion)
}
}