Overhaul gradle build

- Focus of this commit is to have modern gradle build.
- Migrate most of a plugin configurations from dsl
  into buildSrc.
- This fixes issues with existing docs build.
- Allows to sign files so that we have that part
  done for central in a build.
- We can skip publishing samples.
- We're able to share similar logic for modules
  which are meant for publish or just being samples.
- It's easier to upgrade gradle versions without
  getting various build issues.
- Relates #1143
This commit is contained in:
Janne Valkealahti
2024-03-14 12:26:06 +00:00
parent 1b2a868ab5
commit e62b09d2bb
60 changed files with 2128 additions and 954 deletions

View File

@@ -0,0 +1,37 @@
plugins {
id 'org.springframework.statemachine.module'
}
description = 'Spring State Machine Uml'
dependencies {
management platform(project(":spring-statemachine-platform"))
api project(':spring-statemachine-core')
api ("org.eclipse.uml2:uml:$eclipseUml2UmlVersion") {
exclude group: 'org.eclipse.core', module: 'runtime'
exclude group: 'org.eclipse.emf', module: 'ecore'
exclude group: 'org.eclipse.emf.ecore', module: 'xmi'
exclude group: 'org.eclipse.emf.mapping', module: 'ecore2xml'
exclude group: 'org.eclipse.uml2', module: 'common'
exclude group: 'org.eclipse.uml2', module: 'types'
}
api ('org.eclipse.uml2:types') {
exclude group: 'org.eclipse.core', module: 'runtime'
exclude group: 'org.eclipse.emf', module: 'ecore'
exclude group: 'org.eclipse.uml2', module: 'common'
}
api ('org.eclipse.uml2:common') {
exclude group: 'org.eclipse.core', module: 'runtime'
exclude group: 'org.eclipse.emf', module: 'ecore'
}
api 'org.eclipse.emf:org.eclipse.emf.ecore.xmi'
api 'org.eclipse.emf:org.eclipse.emf.ecore'
api 'org.eclipse.emf:org.eclipse.emf.common'
testImplementation(testFixtures(project(":spring-statemachine-core")))
testImplementation 'org.assertj:assertj-core'
testImplementation 'io.projectreactor:reactor-test'
testImplementation 'org.springframework:spring-test'
testImplementation 'org.junit.jupiter:junit-jupiter-api'
testImplementation 'org.junit.jupiter:junit-jupiter-engine'
testImplementation 'org.awaitility:awaitility'
}