Migrate module scm-core

This commit is contained in:
Sebastian Sdorra
2020-12-18 14:14:07 +01:00
committed by René Pfeuffer
parent eaaface61b
commit f749a71aea
4 changed files with 199 additions and 0 deletions

View File

@@ -28,10 +28,79 @@ plugins {
dependencies {
constraints {
// lombok
api 'org.projectlombok:lombok:1.18.10'
// servlet api
api 'javax.servlet:javax.servlet-api:3.1.0'
// 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'
// 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'
// rest api
api 'javax.ws.rs:javax.ws.rs-api:2.1.1'
api 'org.jboss.resteasy:resteasy-core:4.5.8.Final'
// json
api 'com.fasterxml.jackson.core:jackson-core:2.11.3'
api 'com.fasterxml.jackson.core:jackson-annotations:2.11.3'
api 'com.fasterxml.jackson.core:jackson-databind:2.11.3'
// hypermedia
api 'de.otto.edison:edison-hal:2.1.0'
// dto mapping
api 'org.mapstruct:mapstruct-jdk8:1.3.1.Final'
api 'org.mapstruct:mapstruct-processor:1.3.1.Final'
// events
api 'com.github.legman:core:1.6.2'
// xml binding
api 'jakarta.xml.bind:jakarta.xml.bind-api:2.3.3'
api 'org.glassfish.jaxb:jaxb-runtime:2.3.3'
// 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'
// utils
api 'com.google.guava:guava:30.0-jre'
api 'commons-lang:commons-lang:2.6'
// 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'
// 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'
// junit 4 support
api 'org.junit.vintage:junit-vintage-engine:5.7.0'
api 'junit:junit:4.13.1'
// assertions
api 'org.hamcrest:hamcrest-core:2.1'
api 'org.hamcrest:hamcrest-library:2.1'
api 'org.assertj:assertj-core:3.18.1'
// mocking
api 'org.mockito:mockito-core:3.6.28'
api 'org.mockito:mockito-junit-jupiter:3.6.28'
}
}

View File

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

120
scm-core/build.gradle Normal file
View File

@@ -0,0 +1,120 @@
/*
* 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'
}
// 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'
annotationProcessor 'org.projectlombok:lombok'
// 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'
}
test {
useJUnitPlatform()
}

View File

@@ -26,3 +26,4 @@ rootProject.name = 'scm'
include('scm-annotations')
include('scm-annotation-processor')
include('scm-core')