mirror of
https://github.com/vacp2p/linea-monorepo.git
synced 2026-01-07 03:23:49 -05:00
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>
This commit is contained in:
@@ -10,7 +10,7 @@ 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:1.9.21"
|
||||
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"))
|
||||
|
||||
@@ -8,7 +8,7 @@ repositories {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20")
|
||||
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
|
||||
implementation("org.web3j:codegen:4.12.0")
|
||||
}
|
||||
|
||||
|
||||
1
buildSrc/gradle.properties
Normal file
1
buildSrc/gradle.properties
Normal file
@@ -0,0 +1 @@
|
||||
kotlinVersion=2.1.21
|
||||
@@ -118,10 +118,9 @@ open class GenericFileBasedProverClient<Request, Response, RequestDto, ResponseD
|
||||
FileMonitor.ErrorType.TIMED_OUT -> {
|
||||
SafeFuture.failedFuture<Path>(RuntimeException("Timeout waiting for response file=$responseFilePath"))
|
||||
}
|
||||
|
||||
else -> {
|
||||
SafeFuture.failedFuture(RuntimeException("Unexpected error=$it"))
|
||||
}
|
||||
// else -> {
|
||||
// SafeFuture.failedFuture(RuntimeException("Unexpected error=$it"))
|
||||
// }
|
||||
}
|
||||
} else {
|
||||
SafeFuture.completedFuture(responseFilePath)
|
||||
|
||||
@@ -22,6 +22,7 @@ dependencies {
|
||||
|
||||
testFixturesImplementation project(':jvm-libs:linea:metrics:micrometer')
|
||||
testImplementation(project(':jvm-libs:generic:logging'))
|
||||
testImplementation(project(':jvm-libs:linea:metrics:micrometer'))
|
||||
testImplementation(testFixtures(project(':jvm-libs:linea:clients:interfaces')))
|
||||
testImplementation(testFixtures(project(':jvm-libs:linea:core:traces')))
|
||||
testImplementation(testFixtures(project(':jvm-libs:generic:extensions:kotlin')))
|
||||
|
||||
@@ -85,7 +85,7 @@ fun makeDeployLineaRollup(
|
||||
deploymentPrivateKey?.let { env["DEPLOYMENT_PRIVATE_KEY"] = it }
|
||||
val command = when (contractVersion) {
|
||||
LineaContractVersion.V6 -> "make deploy-linea-rollup-v6"
|
||||
else -> throw IllegalArgumentException("Unsupported contract version: $contractVersion")
|
||||
// else -> throw IllegalArgumentException("Unsupported contract version: $contractVersion")
|
||||
}
|
||||
|
||||
return deployContract(
|
||||
|
||||
@@ -9,3 +9,5 @@ lineaSequencerProjectPath=:besu-plugins:linea-sequencer
|
||||
# Version of the project, at release override this value with
|
||||
# /gradlew jvm-libs:blob-compressor:publish -Pversion=0.0.3
|
||||
# version=0.0.0-SNAPSHOT
|
||||
|
||||
kotlinVersion=2.1.21
|
||||
|
||||
@@ -40,7 +40,7 @@ kotlinResult = "1.1.16"
|
||||
kotlinxDatetime = "0.6.2"
|
||||
ktlint = "0.50.0"
|
||||
lineaKotlin = "0.1.0"
|
||||
log4j = "2.24.1"
|
||||
log4j = "2.24.3"
|
||||
micrometer = "1.12.13"
|
||||
netty = "4.1.92.Final"
|
||||
picoli = "4.7.6"
|
||||
|
||||
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
10
gradlew
vendored
10
gradlew
vendored
@@ -15,6 +15,8 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
@@ -84,7 +86,7 @@ done
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
@@ -112,7 +114,7 @@ case "$( uname )" in #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
CLASSPATH="\\\"\\\""
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
@@ -203,7 +205,7 @@ fi
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
@@ -211,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-classpath "$CLASSPATH" \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
|
||||
6
gradlew.bat
vendored
6
gradlew.bat
vendored
@@ -13,6 +13,8 @@
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
@rem SPDX-License-Identifier: Apache-2.0
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@@ -68,11 +70,11 @@ goto fail
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
set CLASSPATH=
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
|
||||
@@ -6,6 +6,15 @@ plugins {
|
||||
|
||||
description = "JSON RPC 2.0 utilities"
|
||||
|
||||
configurations {
|
||||
testFixturesDeps {
|
||||
extendsFrom implementation // Inherit plugin's dependencies
|
||||
canBeConsumed = false
|
||||
canBeResolved = false
|
||||
}
|
||||
testFixturesImplementation.extendsFrom testFixturesDeps
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(":jvm-libs:linea:core:metrics")
|
||||
implementation project(":jvm-libs:linea:metrics:micrometer")
|
||||
|
||||
@@ -14,6 +14,7 @@ dependencies {
|
||||
|
||||
testImplementation "net.java.dev.jna:jna:${libs.versions.jna.get()}"
|
||||
testImplementation project(":jvm-libs:linea:blob-shnarf-calculator")
|
||||
testImplementation project(":jvm-libs:generic:extensions:kotlin")
|
||||
testFixturesImplementation project(':jvm-libs:linea:besu-libs')
|
||||
testFixturesImplementation project(':jvm-libs:linea:besu-rlp-and-mappers')
|
||||
testFixturesImplementation(project(":jvm-libs:linea:testing:file-system"))
|
||||
|
||||
@@ -5,6 +5,15 @@ plugins {
|
||||
|
||||
description="Interfaces for interaction with Linea Smart Contract"
|
||||
|
||||
configurations {
|
||||
testFixturesDeps {
|
||||
extendsFrom implementation // Inherit plugin's dependencies
|
||||
canBeConsumed = false
|
||||
canBeResolved = false
|
||||
}
|
||||
testFixturesImplementation.extendsFrom testFixturesDeps
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api project(':jvm-libs:linea:core:domain-models')
|
||||
api project(':jvm-libs:generic:extensions:futures')
|
||||
|
||||
@@ -9,6 +9,7 @@ dependencies {
|
||||
implementation project(":jvm-libs:generic:extensions:kotlin")
|
||||
testFixturesApi "org.jetbrains.kotlinx:kotlinx-datetime:${libs.versions.kotlinxDatetime.get()}"
|
||||
testFixturesApi project(":jvm-libs:linea:besu-libs")
|
||||
testFixturesApi project(":jvm-libs:generic:extensions:kotlin")
|
||||
}
|
||||
|
||||
jar {
|
||||
|
||||
@@ -22,6 +22,7 @@ dependencies {
|
||||
testImplementation "com.fasterxml.jackson.core:jackson-databind:${libs.versions.jackson.get()}"
|
||||
testImplementation "org.wiremock:wiremock:${libs.versions.wiremock.get()}"
|
||||
testImplementation project(":jvm-libs:linea:besu-rlp-and-mappers")
|
||||
testFixturesImplementation "org.apache.logging.log4j:log4j-slf4j2-impl:${libs.versions.log4j.get()}"
|
||||
}
|
||||
|
||||
jar {
|
||||
|
||||
@@ -3,7 +3,7 @@ plugins {
|
||||
id 'com.github.johnrengelman.shadow' version '7.1.2'
|
||||
id 'java-library'
|
||||
id "org.openapi.generator" version "7.2.0"
|
||||
id "org.jetbrains.kotlin.plugin.serialization" version "1.9.20"
|
||||
id "org.jetbrains.kotlin.plugin.serialization" version "${kotlinVersion}"
|
||||
}
|
||||
|
||||
openApiGenerate {
|
||||
@@ -39,6 +39,6 @@ dependencies {
|
||||
testImplementation "org.junit.jupiter:junit-jupiter"
|
||||
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.2'
|
||||
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2'
|
||||
testImplementation "org.jetbrains.kotlin:kotlin-test-junit:1.9.20"
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1")
|
||||
testImplementation "org.jetbrains.kotlin:kotlin-test-junit:${kotlinVersion}"
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user