Files
linea-monorepo/besu-plugins/state-recovery/besu-plugin/build.gradle
VolodymyrBg e39fd7f244 chore: migrate project to Kotlin 2.0.0 and fix null-safety in tests (#1040)
* chore: update kotlin-gradle-plugin to 2.0.0

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* fix: add null-safety (!!) for micrometer gauge/counter/timer in tests for Kotlin 2.0

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* chore: update kotlin-reflect dependency to 2.0.0 in besu-plugin

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* chore: add kotlin 2.0.0 version to version catalog

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* chore: update kotlin dependencies and plugins to 2.0.0 in testing-tools

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* fix: add null-safety (!!) for micrometer gauge/counter/timer in tests for Kotlin 2.0

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update ProverClientFactoryTest.kt

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update build.gradle

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update build.gradle

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update libs.versions.toml

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update libs.versions.toml

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update MicrometerMetricsFacadeTest.kt

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update MicrometerMetricsFacadeTest.kt

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update build.gradle

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update build.gradle

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update build.gradle

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update build.gradle

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update build.gradle

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Create gradle.properties

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update libs.versions.toml

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Delete buildSrc/gradle.properties

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* Update gradle.properties

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>

* feat: add gradle.properties for buildSrc

* feat: upgrade to gradle 8.12.1 and log4j to 2.24.3 and fixed missing test fixture dependencies

* feat: update kotlinx-serialization-json to 1.8.1

---------

Signed-off-by: VolodymyrBg <aqdrgg19@gmail.com>
Co-authored-by: Jones Ho <jones.ho@consensys.net>
Co-authored-by: jonesho <81145364+jonesho@users.noreply.github.com>
2025-06-17 16:50:53 +08:00

75 lines
2.2 KiB
Groovy

plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'com.gradleup.shadow' version '8.3.5'
}
group = 'build.linea.staterecovery'
archivesBaseName = 'linea-staterecovery-besu-plugin'
dependencies {
compileOnly("info.picocli:picocli:${libs.versions.picoli.get()}") {
because 'Required for command line parsing. Provided by Besu at runtime.'
}
implementation "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}"
api(project(":jvm-libs:generic:vertx-helper"))
api(project(":jvm-libs:generic:serialization:jackson"))
api(project(":jvm-libs:linea:metrics:micrometer"))
api(project(":jvm-libs:linea:clients:eth-logs-searcher"))
api(project(":jvm-libs:linea:clients:linea-contract-clients"))
api(project(":jvm-libs:linea:web3j-extensions"))
api(project(":besu-plugins:state-recovery:appcore:logic"))
api(project(":besu-plugins:state-recovery:clients:blobscan-client"))
api(project(":besu-plugins:state-recovery:clients:eth-api"))
}
ext.groupsToIncludeInShadow = [
"build.linea.*",
"io.micrometer.*",
"io.vertx:vertx-web-client",
"io.vertx:vertx-uri-template",
"org.jetbrains.kotlin:kotlin-reflect.*",
"org.jetbrains.kotlinx:kotlinx-datetime.*",
"tech.pegasys.teku.internal:async",
"com.michael-bull.kotlin-result:kotlin-result.*",
"com.fasterxml.jackson.module:jackson-module-kotlin",
]
def canIncludeLib(String lib) {
def allowed = groupsToIncludeInShadow.find { libAllowed ->
lib.matches(libAllowed)
} != null
allowed
}
tasks.create("testLibsInclusion", Task) {
// def lib = "build.linea.internal:kotlin-extensions"
doLast {
def lib = "com.michael-bull.kotlin-result:kotlin-result"
println("Can include $lib: ${canIncludeLib(lib)}")
}
}
shadowJar {
if ("${project.version}" != 'unspecified') {
archiveClassifier.set('')
archiveVersion.set("${project.version}")
} else {
archiveClassifier.set('SNAPSHOT')
}
dependencies {
exclude { dependency ->
!canIncludeLib("${dependency.moduleGroup}:${dependency.moduleName}")
}
}
manifest {
attributes(
'Specification-Title': archiveBaseName,
'Specification-Version': project.version,
'Implementation-Title': archiveBaseName,
'Implementation-Version': project.version,
)
}
}