mirror of
https://github.com/ethauvin/rife2-hello.git
synced 2025-04-25 07:27:12 -07:00
Rework Gradle build
This commit introduces a _convention plugin_ for RIFE2 support. It provides a number of advantages: - the build logic is clearly separated from the build script, which now only contains user-specific configuration, like the framework version or how to configure test logging - it fixes a number of issues like hardcoded dependencies (`dependsOn` is in general a mistake) - it removes the need to resolve the agent path eagerly - it makes the agent configurable - it clearly separates the user classpath from the RIFE classpath (both for precompiling templates and for the agent) - template compilation is cached - it avoids the abuse of `src/main/resources` to put templates and uses a dedicated directory instead, which removes the need for exclusions In addition, this should make it relatively straightforward to convert the convention plugin into a proper RIFE2 plugin, by extracting the code in `build-logic` into its own repository then publishing to the Gradle plugin portal.
This commit is contained in:
parent
3a9bbec851
commit
2e025cd693
9 changed files with 284 additions and 77 deletions
20
build-logic/build.gradle.kts
Normal file
20
build-logic/build.gradle.kts
Normal file
|
@ -0,0 +1,20 @@
|
|||
plugins {
|
||||
`java-gradle-plugin`
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
gradleApi()
|
||||
}
|
||||
|
||||
gradlePlugin {
|
||||
plugins {
|
||||
create("rife2") {
|
||||
id = "com.uwyn.rife2"
|
||||
implementationClass = "com.uwyn.rife2.gradle.Rife2Plugin"
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue