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

@@ -1,16 +0,0 @@
apply plugin: 'java-test-fixtures'
compileTestFixturesJava {
sourceCompatibility = 17
targetCompatibility = 17
}
eclipse.classpath {
file.whenMerged { classpath ->
classpath.entries.findAll { entry -> entry instanceof org.gradle.plugins.ide.eclipse.model.ProjectDependency && entry.entryAttributes.test }
.each { it.entryAttributes['test'] = 'false' }
}
}
components.java.withVariantsFromConfiguration(configurations.testFixturesApiElements) { skip() }
components.java.withVariantsFromConfiguration(configurations.testFixturesRuntimeElements) { skip() }

View File

@@ -1,50 +0,0 @@
apply plugin: "maven-publish"
publishing {
publications {
mavenJava(MavenPublication) {
pom {
afterEvaluate {
name = project.description
description = project.description
}
url = "https://github.com/spring-projects/spring-statemachine"
organization {
name = "Spring IO"
url = "https://spring.io/spring-statemachine"
}
licenses {
license {
name = "Apache License, Version 2.0"
url = "https://www.apache.org/licenses/LICENSE-2.0"
distribution = "repo"
}
}
scm {
url = "https://github.com/spring-projects/spring-statemachine"
connection = "scm:git:git://github.com/spring-projects/spring-statemachine"
developerConnection = "scm:git:git://github.com/spring-projects/spring-statemachine"
}
developers {
developer {
id = 'jvalkeal'
name = 'Janne Valkealahti'
email = 'janne.valkealahti@gmail.com'
}
}
issueManagement {
system = "GitHub"
url = "https://github.com/spring-projects/spring-statemachine/issues"
}
}
versionMapping {
usage('java-api') {
fromResolutionResult()
}
usage('java-runtime') {
fromResolutionResult()
}
}
}
}
}