Files
spring-statemachine/settings.gradle
Janne Valkealahti e62b09d2bb 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
2024-03-14 12:26:47 +00:00

103 lines
3.5 KiB
Groovy

pluginManagement {
repositories {
mavenCentral()
gradlePluginPortal()
maven { url 'https://repo.spring.io/release' }
if (version.contains('-')) {
maven { url 'https://repo.spring.io/milestone' }
}
if (version.endsWith('-SNAPSHOT')) {
maven { url 'https://repo.spring.io/snapshot' }
}
}
plugins {
id 'org.springframework.boot' version "$springBootVersion"
id 'com.gradle.enterprise' version "$gradleEnterpriseVersion"
id 'io.spring.ge.conventions' version "$springGeConventionsVersion"
}
}
plugins {
id "com.gradle.enterprise"
id "io.spring.ge.conventions"
}
rootProject.name = 'spring-statemachine'
settings.gradle.projectsLoaded {
gradleEnterprise {
buildScan {
def buildDir = settings.gradle.rootProject.getBuildDir()
buildDir.mkdirs()
new File(buildDir, "build-scan-uri.txt").text = "build scan not generated"
buildScanPublished { scan ->
buildDir.mkdirs()
new File(buildDir, "build-scan-uri.txt").text = "<${scan.buildScanUri}|build scan>\n"
}
}
}
}
include 'spring-statemachine-platform'
include 'spring-statemachine-core'
include 'spring-statemachine-test'
include 'spring-statemachine-kryo'
include 'spring-statemachine-zookeeper'
include 'spring-statemachine-cluster'
include 'spring-statemachine-uml'
include 'spring-statemachine-build-tests'
include 'spring-statemachine-recipes'
include 'spring-statemachine-autoconfigure'
include 'spring-statemachine-bom'
include 'spring-statemachine-starter'
include 'spring-statemachine-samples'
include 'spring-statemachine-samples:turnstile'
include 'spring-statemachine-samples:turnstilereactive'
include 'spring-statemachine-samples:showcase'
include 'spring-statemachine-samples:cdplayer'
include 'spring-statemachine-samples:tasks'
include 'spring-statemachine-samples:washer'
include 'spring-statemachine-samples:zookeeper'
include 'spring-statemachine-samples:persist'
include 'spring-statemachine-samples:web'
include 'spring-statemachine-samples:scope'
include 'spring-statemachine-samples:security'
include 'spring-statemachine-samples:eventservice'
include 'spring-statemachine-samples:deploy'
include 'spring-statemachine-samples:ordershipping'
include 'spring-statemachine-samples:datajpa'
include 'spring-statemachine-samples:datajpamultipersist'
include 'spring-statemachine-samples:datapersist'
include 'spring-statemachine-samples:monitoring'
include 'spring-statemachine-data'
include 'spring-statemachine-data:jpa'
include 'spring-statemachine-data:redis'
include 'spring-statemachine-data:mongodb'
include 'docs'
rootProject.children.each { project ->
if (project.name == 'spring-statemachine-data') {
project.name = 'spring-statemachine-data-common'
project.buildFileName = 'spring-statemachine-data.gradle'
project.children.each { subproject ->
subproject.buildFileName = "spring-statemachine-data-${subproject.name}.gradle"
subproject.name = 'spring-statemachine-data-' + subproject.name
}
} else if (project.name == 'spring-statemachine-recipes') {
project.name = 'spring-statemachine-recipes-common'
project.buildFileName = 'spring-statemachine-recipes.gradle'
} else if (project.name == 'spring-statemachine-samples') {
project.name = 'spring-statemachine-samples-common'
project.buildFileName = 'spring-statemachine-samples.gradle'
project.children.each { subproject ->
subproject.buildFileName = "spring-statemachine-samples-${subproject.name}.gradle"
subproject.name = 'spring-statemachine-samples-' + subproject.name
}
} else {
project.buildFileName = "${project.name}.gradle"
}
}