Introduced spotless checks to gradle scripts. Added publishing logic … (#401)

* Introduced spotless checks to gradle scripts. Added publishing logic to all the generic jvm libs. Removed redundant useJUnitPlatform()

* Removed more useJUnitPlatform()

* feat: update copyShadowJarToLocalBesu in finalized-tag-updater gradle build file

* fix: geth traces-node running in start-all local stack

---------

Co-authored-by: jonesho <jones.ho@consensys.net>
This commit is contained in:
Roman Vaseev
2024-12-06 10:44:00 +01:00
committed by GitHub
parent 5cf5c52337
commit c356dc4016
52 changed files with 392 additions and 386 deletions

View File

@@ -44,9 +44,7 @@ allprojects {
'-Xlint:deprecation',
])
if (!allowCompilationWarnings) {
options.compilerArgs.addAll([
'-Werror'
])
options.compilerArgs.addAll(['-Werror'])
}
if (!project.path.contains("testing-tools")) {
@@ -110,6 +108,13 @@ allprojects {
ktlint(libs.versions.ktlint.get().toString()).setEditorConfigPath("$rootDir/.editorconfig")
}
}
// spotless check applied to build.gradle (groovy) files
groovyGradle {
target '**/*.gradle'
greclipse()
indentWithSpaces(2)
endWithNewline()
}
}
}
}
@@ -143,8 +148,15 @@ dockerCompose {
// "l1-blockscout",
// "l2-blockscout"
]
composeAdditionalArgs = ["--profile", "l1", "--profile", "l2"]
useComposeFiles = ["${project.rootDir.path}/docker/compose.yml"]
composeAdditionalArgs = [
"--profile",
"l1",
"--profile",
"l2"
]
useComposeFiles = [
"${project.rootDir.path}/docker/compose.yml"
]
waitForHealthyStateTimeout = Duration.ofMinutes(3)
waitForTcpPorts = false
removeOrphans = true
@@ -157,10 +169,10 @@ dockerCompose {
}
localStackPostgresDbOnly {
startedServices = [
"postgres"
startedServices = ["postgres"]
useComposeFiles = [
"${project.rootDir.path}/docker/compose.yml"
]
useComposeFiles = ["${project.rootDir.path}/docker/compose.yml"]
waitForHealthyStateTimeout = Duration.ofMinutes(3)
waitForTcpPorts = true
removeOrphans = true
@@ -183,8 +195,17 @@ dockerCompose {
// "l1-blockscout",
// "l2-blockscout"
]
composeAdditionalArgs = ["--profile", "l1", "--profile", "l2", "--profile", "staterecover"]
useComposeFiles = ["${project.rootDir.path}/docker/compose.yml"]
composeAdditionalArgs = [
"--profile",
"l1",
"--profile",
"l2",
"--profile",
"staterecover"
]
useComposeFiles = [
"${project.rootDir.path}/docker/compose.yml"
]
waitForHealthyStateTimeout = Duration.ofMinutes(3)
waitForTcpPorts = false
removeOrphans = true

View File

@@ -3,9 +3,9 @@
*/
plugins {
// Apply the common convention plugin for shared build configuration between library and application projects.
id 'net.consensys.zkevm.kotlin-common-conventions'
// Apply the common convention plugin for shared build configuration between library and application projects.
id 'net.consensys.zkevm.kotlin-common-conventions'
// Apply the application plugin to add support for building a CLI application in Java.
id 'application'
// Apply the application plugin to add support for building a CLI application in Java.
id 'application'
}

View File

@@ -1,4 +1,4 @@
plugins {
id 'net.consensys.zkevm.kotlin-common-conventions'
id 'java-library'
id 'net.consensys.zkevm.kotlin-common-conventions'
id 'java-library'
}

View File

@@ -5,8 +5,8 @@ import java.time.Duration
import java.time.Instant
void downloadFileUsingWget(
String url,
String outputFilePath
String url,
String outputFilePath
) {
println("Downloading ${url} into ${outputFilePath}")
@@ -31,9 +31,9 @@ ext.architectureResourceDirMapping = [
]
private String downloadAssetIfNotPresent(
String libsZipUrl,
String releaseTag,
String outputDir
String libsZipUrl,
String releaseTag,
String outputDir
) {
def fileName = releaseTag + ".zip"
def outputFilePath = Path.of(outputDir).resolve(fileName)
@@ -55,7 +55,7 @@ private String downloadAssetIfNotPresent(
}
def getBinaryResourceFolder(
String libFile
String libFile
) {
def destResource = architectureResourceDirMapping.find {
libFile.contains(it.key.toString())
@@ -68,8 +68,8 @@ def getBinaryResourceFolder(
}
def getBinaryResourceFileName(
String libFile,
String libName
String libFile,
String libName
) {
def versionPattern = ~/v\d+\.\d+\.\d+/
def matcher = versionPattern.matcher(libFile)
@@ -82,9 +82,9 @@ def getBinaryResourceFileName(
}
def lazyUnzipWithRetry(
Path zipFile,
Path outputDir = zipFile.parent.resolve(zipFile.getFileName().toString().replaceFirst("\\.zip", "")).toString(),
Duration timeout
Path zipFile,
Path outputDir = zipFile.parent.resolve(zipFile.getFileName().toString().replaceFirst("\\.zip", "")).toString(),
Duration timeout
) {
if (outputDir.toFile().exists()) {
println("Skipping unzip, directory already exists at ${outputDir.toString()}")
@@ -114,51 +114,47 @@ def lazyUnzipWithRetry(
}
def extractLibToResources(
Path zipFile,
Path outputUnzipDir,
String libName
Path zipFile,
Path outputUnzipDir,
String libName
) {
lazyUnzipWithRetry(zipFile, outputUnzipDir, Duration.ofSeconds(60))
fileTree(outputUnzipDir.toFile())
.filter { it.name.contains(libName) && (it.name.endsWith(".so") || it.name.endsWith(".dylib")) }
.each { File file ->
def javaResourcesLibDir = getBinaryResourceFolder(file.name)
def destResourceFileName = getBinaryResourceFileName(file.name, libName)
def destResourcesPath = Path.of(project.layout.projectDirectory
.file("src/main/resources/${javaResourcesLibDir}").asFile.absolutePath)
def destFilePath = destResourcesPath.resolve(destResourceFileName)
.filter { it.name.contains(libName) && (it.name.endsWith(".so") || it.name.endsWith(".dylib")) }
.each { File file ->
def javaResourcesLibDir = getBinaryResourceFolder(file.name)
def destResourceFileName = getBinaryResourceFileName(file.name, libName)
def destResourcesPath = Path.of(project.layout.projectDirectory
.file("src/main/resources/${javaResourcesLibDir}").asFile.absolutePath)
def destFilePath = destResourcesPath.resolve(destResourceFileName)
if (destFilePath.toFile().exists()) {
println("Skipping: ${file} already found at ${destResourcesPath}/${destResourceFileName}")
} else {
println("Copying ${file} to ${destResourcesPath}/${destResourceFileName}")
}
copy {
from file
into destResourcesPath
rename {
destResourceFileName
if (destFilePath.toFile().exists()) {
println("Skipping: ${file} already found at ${destResourcesPath}/${destResourceFileName}")
} else {
println("Copying ${file} to ${destResourcesPath}/${destResourceFileName}")
}
copy {
from file
into destResourcesPath
rename {
destResourceFileName
}
}
}
}
}
def downloadZipReleaseAndExtractToResources(
String libsZipUrl,
String releaseTag,
String libName,
String outputDir
String libsZipUrl,
String releaseTag,
String libName,
String outputDir
) {
def zipFile = downloadAssetIfNotPresent(libsZipUrl, releaseTag, outputDir)
def outputUnzipDir = Path.of(outputDir).resolve(releaseTag)
extractLibToResources(Path.of(zipFile), outputUnzipDir, libName)
}
ext.fetchLibFromZip = {
String libsZipUrl,
String libName,
String outputDir
->
def releaseTag = libsZipUrl.split("/").last().replace(".zip", "")
downloadZipReleaseAndExtractToResources(libsZipUrl, releaseTag, libName, outputDir)
ext.fetchLibFromZip = { String libsZipUrl, String libName, String outputDir ->
def releaseTag = libsZipUrl.split("/").last().replace(".zip", "")
downloadZipReleaseAndExtractToResources(libsZipUrl, releaseTag, libName, outputDir)
}

View File

@@ -79,10 +79,10 @@ jar {
archiveBaseName = 'coordinator'
manifest {
attributes(
'Class-Path': project.configurations.runtimeClasspath.collect { it.getName() }.findAll { it.endsWith('jar') }.join(' '),
'Main-Class': 'net.consensys.zkevm.coordinator.app.CoordinatorAppMain',
'Multi-Release': 'true'
)
'Class-Path': project.configurations.runtimeClasspath.collect { it.getName() }.findAll { it.endsWith('jar') }.join(' '),
'Main-Class': 'net.consensys.zkevm.coordinator.app.CoordinatorAppMain',
'Multi-Release': 'true'
)
}
}
@@ -103,9 +103,18 @@ run {
"-Dvertx.configurationFile=config/coordinator/vertx-options.json",
"-Dlog4j2.configurationFile=config/coordinator/log4j2-dev.xml"
] + System.properties.entrySet()
.findAll { it.key.startsWith("config") }
.collect { "-D${it.key}=${it.value}" }
args = ["--traces-limits", "config/common/traces-limits-v1.toml", "--smart-contract-errors", "config/common/smart-contract-errors.toml", "--gas-price-cap-time-of-day-multipliers", "config/common/gas-price-cap-time-of-day-multipliers.toml", "config/coordinator/coordinator-docker.config.toml", "config/coordinator/coordinator-local-dev.config.overrides.toml"]
.findAll { it.key.startsWith("config") }
.collect { "-D${it.key}=${it.value}" }
args = [
"--traces-limits",
"config/common/traces-limits-v1.toml",
"--smart-contract-errors",
"config/common/smart-contract-errors.toml",
"--gas-price-cap-time-of-day-multipliers",
"config/common/gas-price-cap-time-of-day-multipliers.toml",
"config/coordinator/coordinator-docker.config.toml",
"config/coordinator/coordinator-local-dev.config.overrides.toml"
]
}
test {

View File

@@ -1,5 +1,5 @@
plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'net.consensys.zkevm.kotlin-library-conventions'
}
dependencies {

View File

@@ -3,14 +3,10 @@ plugins {
}
dependencies {
api "com.fasterxml.jackson.core:jackson-annotations:${libs.versions.jackson.get()}"
api "com.fasterxml.jackson.core:jackson-databind:${libs.versions.jackson.get()}"
api "com.fasterxml.jackson.module:jackson-module-kotlin:${libs.versions.jackson.get()}"
api("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${libs.versions.jackson.get()}")
api(project(":jvm-libs:generic:extensions:kotlin"))
api(project(":coordinator:core"))
}
test {
useJUnitPlatform()
api "com.fasterxml.jackson.core:jackson-annotations:${libs.versions.jackson.get()}"
api "com.fasterxml.jackson.core:jackson-databind:${libs.versions.jackson.get()}"
api "com.fasterxml.jackson.module:jackson-module-kotlin:${libs.versions.jackson.get()}"
api("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${libs.versions.jackson.get()}")
api(project(":jvm-libs:generic:extensions:kotlin"))
api(project(":coordinator:core"))
}

View File

@@ -3,21 +3,17 @@ plugins {
}
dependencies {
implementation project(':coordinator:core')
implementation project(':jvm-libs:generic:extensions:futures')
implementation project(':jvm-libs:generic:json-rpc')
implementation project(':jvm-libs:linea:metrics:micrometer')
implementation project(':jvm-libs:linea:core:traces')
implementation project(":jvm-libs:linea:teku-execution-client")
implementation "tech.pegasys.teku.internal:unsigned:${libs.versions.teku.get()}"
implementation project(':coordinator:core')
implementation project(':jvm-libs:generic:extensions:futures')
implementation project(':jvm-libs:generic:json-rpc')
implementation project(':jvm-libs:linea:metrics:micrometer')
implementation project(':jvm-libs:linea:core:traces')
implementation project(":jvm-libs:linea:teku-execution-client")
implementation "tech.pegasys.teku.internal:unsigned:${libs.versions.teku.get()}"
api "io.vertx:vertx-core"
api "io.vertx:vertx-core"
testImplementation 'org.junit.jupiter:junit-jupiter'
testImplementation "io.vertx:vertx-junit5"
testImplementation "com.github.tomakehurst:wiremock-jre8:${libs.versions.wiremock.get()}"
}
test {
useJUnitPlatform()
testImplementation 'org.junit.jupiter:junit-jupiter'
testImplementation "io.vertx:vertx-junit5"
testImplementation "com.github.tomakehurst:wiremock-jre8:${libs.versions.wiremock.get()}"
}

View File

@@ -3,7 +3,7 @@
*/
plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'net.consensys.zkevm.kotlin-library-conventions'
}
dependencies {

View File

@@ -1,6 +1,6 @@
plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'java-test-fixtures'
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'java-test-fixtures'
}
dependencies {
@@ -39,7 +39,3 @@ dependencies {
testImplementation(testFixtures(project(':jvm-libs:generic:extensions:kotlin')))
testImplementation("io.vertx:vertx-junit5")
}
test {
useJUnitPlatform()
}

View File

@@ -37,10 +37,6 @@ dependencies {
testImplementation("org.apache.logging.log4j:log4j-slf4j2-impl:2.20.0")
}
test {
useJUnitPlatform()
}
sourceSets {
integrationTest {
kotlin {
@@ -52,30 +48,27 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
task integrationTest(type: Test) { test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackComposeUp")
dependsOn(":localStackComposeUp")
testLogging {
events TestLogEvent.FAILED,
testLogging {
events TestLogEvent.FAILED,
TestLogEvent.SKIPPED,
TestLogEvent.STANDARD_ERROR,
TestLogEvent.STARTED,
TestLogEvent.PASSED
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
// set showStandardStreams if you need to see test logs
showStandardStreams false
}
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
// set showStandardStreams if you need to see test logs
showStandardStreams false
}
}

View File

@@ -9,7 +9,3 @@ dependencies {
exclude group: "org.slf4j", module: "slf4j-nop"
}
}
test {
useJUnitPlatform()
}

View File

@@ -21,7 +21,3 @@ dependencies {
testImplementation(testFixtures(project(":jvm-libs:generic:extensions:kotlin")))
testImplementation("io.vertx:vertx-junit5")
}
test {
useJUnitPlatform()
}

View File

@@ -11,7 +11,3 @@ dependencies {
testFixturesImplementation "tech.pegasys.teku.internal:async:${libs.versions.teku.get()}"
testFixturesImplementation project(":coordinator:core")
}
test {
useJUnitPlatform()
}

View File

@@ -12,7 +12,3 @@ dependencies {
testImplementation("io.vertx:vertx-junit5")
}
test {
useJUnitPlatform()
}

View File

@@ -32,19 +32,12 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackComposeUp")
}
test {
task integrationTest(type: Test) { test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackComposeUp")
}

View File

@@ -34,13 +34,12 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
task integrationTest(type: Test) { test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackComposeUp")
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackComposeUp")
}

View File

@@ -34,27 +34,26 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
task integrationTest(type: Test) { test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackComposeUp")
testLogging {
events TestLogEvent.FAILED,
dependsOn(":localStackComposeUp")
testLogging {
events TestLogEvent.FAILED,
TestLogEvent.SKIPPED,
TestLogEvent.STANDARD_ERROR,
TestLogEvent.STARTED,
TestLogEvent.PASSED
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
// set showStandardStreams if you need to see test logs
showStandardStreams true
}
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
// set showStandardStreams if you need to see test logs
showStandardStreams true
}
}

View File

@@ -30,16 +30,13 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
task integrationTest(type: Test) { test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackPostgresDbOnlyComposeUp")
dependsOn(":localStackPostgresDbOnlyComposeUp")
}

View File

@@ -30,16 +30,13 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
task integrationTest(type: Test) { test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackPostgresDbOnlyComposeUp")
dependsOn(":localStackPostgresDbOnlyComposeUp")
}

View File

@@ -33,26 +33,24 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
testLogging {
events TestLogEvent.FAILED,
task integrationTest(type: Test) { test ->
testLogging {
events TestLogEvent.FAILED,
TestLogEvent.SKIPPED,
TestLogEvent.STANDARD_ERROR,
TestLogEvent.STANDARD_OUT
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
showStandardStreams false
}
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
showStandardStreams false
}
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackPostgresDbOnlyComposeUp")
dependsOn(":localStackPostgresDbOnlyComposeUp")
}

View File

@@ -25,14 +25,13 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
task integrationTest(type: Test) { test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackComposeUp")
dependsOn(":localStackComposeUp")
}

View File

@@ -33,27 +33,24 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
testLogging {
events TestLogEvent.FAILED,
task integrationTest(type: Test) { test ->
testLogging {
events TestLogEvent.FAILED,
TestLogEvent.SKIPPED,
TestLogEvent.STANDARD_ERROR,
TestLogEvent.STANDARD_OUT
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
showStandardStreams false
}
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
showStandardStreams false
}
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackComposeUp")
dependsOn(":localStackComposeUp")
}

View File

@@ -1,5 +1,5 @@
plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'net.consensys.zkevm.kotlin-library-conventions'
}
dependencies {
@@ -16,7 +16,3 @@ dependencies {
testImplementation "io.vertx:vertx-junit5"
testImplementation testFixtures(project(':jvm-libs:generic:extensions:kotlin'))
}
test {
useJUnitPlatform()
}

View File

@@ -14,7 +14,7 @@ services:
command: [ "sh", "/file-downloader.sh", "https://github.com/Consensys/linea-sequencer/releases/download/v0.8.0-rc6.1/linea-sequencer-v0.8.0-rc6.1.jar", "/linea-besu-sequencer" ]
traces-node:
command: ['echo', 'forced exit as replaced by traces-node-v2']
entrypoint: ['echo', 'forced exit as replaced by traces-node-v2']
traces-api:
command: ['echo', 'forced exit as replaced by traces-node-v2']

View File

@@ -20,11 +20,11 @@ shadowJar {
}
manifest {
attributes(
'Specification-Title': archiveBaseName,
'Specification-Version': project.version,
'Implementation-Title': archiveBaseName,
'Implementation-Version': project.version,
)
'Specification-Title': archiveBaseName,
'Specification-Version': project.version,
'Implementation-Title': archiveBaseName,
'Implementation-Version': project.version,
)
}
}
@@ -51,11 +51,12 @@ dependencies {
tasks.register('copyShadowJarToLocalBesu', Copy) {
def jarFileSuffix = "${project.version}" != 'unspecified' ? "${project.version}" : "all"
def jarFile = project.getLayout().buildDirectory.dir("libs").get()
.asFileTree
.filter { it.name.endsWith("-${jarFileSuffix}.jar") }
.singleFile
from jarFile
into file("$rootDir/tmp/linea-besu-sequencer/plugins")
def jarFiles = project.getLayout().buildDirectory.dir("libs").get()
.asFileTree
.filter { it.name.endsWith("-${jarFileSuffix}.jar") }
.files
if (jarFiles.size() > 0) {
from jarFiles[0]
into file("$rootDir/tmp/linea-besu-sequencer/plugins")
}
}

View File

@@ -2,7 +2,10 @@
docker = { id = "com.avast.gradle.docker-compose", version = "0.17.7" }
web3j = { id = "org.web3j", version.ref = "web3j" }
spotless = { id = "com.diffplug.spotless", version = "6.16.0" }
jreleaser = {id = "org.jreleaser", version = "1.13.1"}
jreleaser = {id = "org.jreleaser", version = "1.15.0"}
[libraries]
jreleaser = { group = "org.jreleaser", name = "jreleaser-gradle-plugin", version = "1.15.0" }
[versions]
besu = "24.10.0"

View File

@@ -1,5 +1,5 @@
apply plugin: 'maven-publish'
apply plugin: 'org.jreleaser' //, version: "1.13.1"
apply plugin: 'org.jreleaser'
java {
// necessary for maven publishing
@@ -8,7 +8,7 @@ java {
}
def stagingDeployDir = rootProject.layout.buildDirectory.dir("staging-deploy")
.get().asFile.absolutePath.toString()
.get().asFile.absolutePath.toString()
def _artifactId = project.hasProperty('artifactId') ? project.artifactId : project.name
@@ -57,6 +57,14 @@ publishing {
}
}
task prePublishValidation {
doFirst {
if (project.description == null) {
throw new GradleScriptException("${project} will be published, but it doesn't have a description! Please add it!", null)
}
}
}
task createJreleaserOutputDir {
doLast {
// workaround for JRleaser poor support for multi-module projects
@@ -66,6 +74,7 @@ task createJreleaserOutputDir {
}
}
jreleaserRelease.dependsOn(prePublishValidation)
jreleaserRelease.dependsOn(createJreleaserOutputDir)

View File

@@ -0,0 +1,18 @@
buildscript {
dependencies {
classpath(libs.jreleaser)
}
}
plugins {
id 'net.consensys.zkevm.kotlin-library-minimal-conventions'
}
subprojects {
def hasSourceFiles = it.fileTree(dir: 'src', includes: ['**/*.java', '**/*.kt']).files.size() > 0
group="${rootProject.group}.internal"
if (hasSourceFiles) {
it.apply from: rootProject.file("gradle/publishing.gradle")
}
}

View File

@@ -1,3 +1,5 @@
plugins {
id 'net.consensys.zkevm.kotlin-common-conventions'
}
description = "Utilities related to errors"

View File

@@ -1,13 +1,15 @@
plugins {
id 'net.consensys.zkevm.kotlin-common-conventions'
id 'java-library'
id 'net.consensys.zkevm.kotlin-common-conventions'
id 'java-library'
}
description = "Utilities related to futures used in Linea"
dependencies {
implementation "io.vertx:vertx-core"
testImplementation("io.vertx:vertx-junit5")
}
jar {
dependsOn configurations.runtimeClasspath
dependsOn configurations.runtimeClasspath
}

View File

@@ -3,9 +3,10 @@ plugins {
id 'java-test-fixtures'
}
description = "Basic Kotlin types extensions"
dependencies {
api "org.jetbrains.kotlinx:kotlinx-datetime:${libs.versions.kotlinxDatetime.get()}"
testImplementation "io.tmio:tuweni-units:${libs.versions.tuweni.get()}"
}
jar {

View File

@@ -2,6 +2,8 @@ plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
}
description = "Tuweni bytes utilities"
dependencies {
api "io.tmio:tuweni-bytes:${libs.versions.tuweni.get()}"
implementation(project(':jvm-libs:generic:extensions:kotlin'))

View File

@@ -2,6 +2,8 @@ plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
}
description = "HTTP REST utilities"
dependencies {
implementation project(":jvm-libs:generic:errors")
implementation project(':jvm-libs:generic:extensions:futures')
@@ -15,7 +17,3 @@ dependencies {
testImplementation "com.github.tomakehurst:wiremock-jre8:${libs.versions.wiremock.get()}"
testImplementation "io.vertx:vertx-micrometer-metrics"
}
test {
useJUnitPlatform()
}

View File

@@ -1,8 +1,10 @@
plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'java-library'
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'java-library'
}
description = "JSON RPC 2.0 utilities"
dependencies {
implementation project(":jvm-libs:linea:metrics:micrometer")
implementation project(":jvm-libs:generic:extensions:futures")
@@ -28,5 +30,5 @@ dependencies {
}
jar {
dependsOn configurations.runtimeClasspath
dependsOn configurations.runtimeClasspath
}

View File

@@ -3,6 +3,8 @@ plugins {
id 'java-library'
}
description = "Logging utilities"
dependencies {
implementation(project(':jvm-libs:generic:extensions:kotlin'))
testImplementation "org.apache.logging.log4j:log4j-core-test:${libs.versions.log4j.get()}"

View File

@@ -3,6 +3,8 @@ plugins {
id 'java-test-fixtures'
}
description = "Vertx + Postgres backed persistence utilities"
dependencies {
implementation(project(":jvm-libs:generic:extensions:futures"))
implementation(project(":jvm-libs:generic:extensions:kotlin"))

View File

@@ -2,6 +2,8 @@ plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
}
description = "Jackson SerDe utilities"
dependencies {
implementation(project(':jvm-libs:generic:extensions:kotlin'))
api "com.fasterxml.jackson.core:jackson-annotations:${libs.versions.jackson.get()}"

View File

@@ -1,7 +1,9 @@
plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'net.consensys.zkevm.kotlin-library-conventions'
}
description = "Vertx utilities"
dependencies {
implementation project(':jvm-libs:generic:extensions:kotlin')
implementation project(':jvm-libs:generic:extensions:futures')
@@ -22,4 +24,3 @@ dependencies {
test {
systemProperty "vertx.parameter.filename", "/vertx-options.json"
}

View File

@@ -48,11 +48,11 @@ compileKotlin {
task cleanResources(type: Delete) {
fileTree(project.layout.projectDirectory.dir('src/main/resources'))
.filter {
it.name.endsWith(".so") || it.name.endsWith(".dll") || it.name.endsWith(".dylib")
}.each {
delete it
}
.filter {
it.name.endsWith(".so") || it.name.endsWith(".dll") || it.name.endsWith(".dylib")
}.each {
delete it
}
}
clean.dependsOn cleanResources

View File

@@ -7,5 +7,5 @@ dependencies {
}
jar {
dependsOn configurations.runtimeClasspath
dependsOn configurations.runtimeClasspath
}

View File

@@ -1,6 +1,6 @@
plugins {
id 'net.consensys.zkevm.kotlin-common-conventions'
id 'java-test-fixtures'
id 'net.consensys.zkevm.kotlin-common-conventions'
id 'java-test-fixtures'
}
dependencies {
@@ -12,5 +12,5 @@ dependencies {
}
jar {
dependsOn configurations.runtimeClasspath
dependsOn configurations.runtimeClasspath
}

View File

@@ -22,7 +22,7 @@ dependencies {
web3jContractWrappers {
def contractAbi = layout.buildDirectory.dir("${rootProject.projectDir}/contracts/abi").get()
.file("L2MessageServiceV1.0.abi").asFile.absolutePath
.file("L2MessageServiceV1.0.abi").asFile.absolutePath
contractsPackage = "net.consensys.linea.contract"
contracts = ["$contractAbi": "L2MessageService"]

View File

@@ -38,17 +38,13 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
task integrationTest(type: Test) { test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackComposeUp")
dependsOn(":localStackComposeUp")
}

View File

@@ -37,28 +37,27 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
task integrationTest(type: Test) { test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackComposeUp")
dependsOn(":localStackComposeUp")
testLogging {
events TestLogEvent.FAILED,
testLogging {
events TestLogEvent.FAILED,
TestLogEvent.SKIPPED,
TestLogEvent.STANDARD_ERROR,
TestLogEvent.STARTED,
TestLogEvent.PASSED
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
// set showStandardStreams if you need to see test logs
showStandardStreams false
}
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
// set showStandardStreams if you need to see test logs
showStandardStreams false
}
}

View File

@@ -29,28 +29,27 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
task integrationTest(type: Test) { test ->
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackComposeUp")
dependsOn(":localStackComposeUp")
testLogging {
events TestLogEvent.FAILED,
testLogging {
events TestLogEvent.FAILED,
TestLogEvent.SKIPPED,
TestLogEvent.STANDARD_ERROR,
TestLogEvent.STARTED,
TestLogEvent.PASSED
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
// set showStandardStreams if you need to see test logs
showStandardStreams false
}
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
// set showStandardStreams if you need to see test logs
showStandardStreams false
}
}

View File

@@ -14,7 +14,6 @@ openApiGenerate {
configOptions.set([
dateLibrary: "java8"
])
}
application {

View File

@@ -1,6 +1,6 @@
plugins {
id 'net.consensys.zkevm.kotlin-application-conventions'
id 'com.github.johnrengelman.shadow' version '7.1.2'
id 'net.consensys.zkevm.kotlin-application-conventions'
id 'com.github.johnrengelman.shadow' version '7.1.2'
}
dependencies {
@@ -42,16 +42,16 @@ dependencies {
}
application {
mainClass = 'net.consensys.linea.traces.app.TracesAppMain'
mainClass = 'net.consensys.linea.traces.app.TracesAppMain'
}
jar {
manifest {
attributes(
'Class-Path': configurations.runtimeClasspath.collect { it.getName() }.findAll {it.endsWith('jar') }.join(' '),
'Main-Class': 'net.consensys.linea.traces.app.TracesAppMain',
'Multi-Release': 'true'
)
'Class-Path': configurations.runtimeClasspath.collect { it.getName() }.findAll {it.endsWith('jar') }.join(' '),
'Main-Class': 'net.consensys.linea.traces.app.TracesAppMain',
'Multi-Release': 'true'
)
}
}
@@ -61,9 +61,12 @@ run {
"-Dvertx.configurationFile=config/traces-api/vertx.json",
"-Dlog4j2.configurationFile=config/traces-api/log4j2-dev.xml"
] + System.properties.entrySet()
.findAll { it.key.startsWith("config") }
.collect { "-D${it.key}=${it.value}" }
args = ["config/traces-api/traces-app-docker.config.toml", "config/traces-api/traces-app-local-dev.config.overrides.toml"]
.findAll { it.key.startsWith("config") }
.collect { "-D${it.key}=${it.value}" }
args = [
"config/traces-api/traces-app-docker.config.toml",
"config/traces-api/traces-app-local-dev.config.overrides.toml"
]
}
test {

View File

@@ -1,14 +1,14 @@
plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'idea'
id 'application'
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'idea'
id 'application'
}
dependencies {
implementation project(':traces-api-facade:core')
implementation "org.jetbrains.kotlin:kotlin-reflect:1.7.20"
implementation "com.fasterxml.jackson.core:jackson-annotations:${libs.versions.jackson.get()}"
implementation "com.fasterxml.jackson.core:jackson-databind:${libs.versions.jackson.get()}"
implementation project(':traces-api-facade:core')
implementation "org.jetbrains.kotlin:kotlin-reflect:1.7.20"
implementation "com.fasterxml.jackson.core:jackson-annotations:${libs.versions.jackson.get()}"
implementation "com.fasterxml.jackson.core:jackson-databind:${libs.versions.jackson.get()}"
}
application {

View File

@@ -1,9 +1,9 @@
plugins {
id 'net.consensys.zkevm.kotlin-library-conventions'
id 'net.consensys.zkevm.kotlin-library-conventions'
}
dependencies {
api project(':jvm-libs:linea:core:domain-models')
api project(':jvm-libs:linea:core:traces')
api "io.vertx:vertx-core"
api project(':jvm-libs:linea:core:domain-models')
api project(':jvm-libs:linea:core:traces')
api "io.vertx:vertx-core"
}

View File

@@ -51,17 +51,17 @@ dependencies {
}
application {
mainClass = 'net.consensys.linea.transactionexclusion.app.TransactionExclusionAppMain'
mainClass = 'net.consensys.linea.transactionexclusion.app.TransactionExclusionAppMain'
}
jar {
archiveBaseName = 'transaction-exclusion-api'
manifest {
attributes(
'Class-Path': configurations.runtimeClasspath.collect { it.getName() }.findAll {it.endsWith('jar') }.join(' '),
'Main-Class': 'net.consensys.linea.transactionexclusion.app.TransactionExclusionAppMain',
'Multi-Release': 'true'
)
'Class-Path': configurations.runtimeClasspath.collect { it.getName() }.findAll {it.endsWith('jar') }.join(' '),
'Main-Class': 'net.consensys.linea.transactionexclusion.app.TransactionExclusionAppMain',
'Multi-Release': 'true'
)
}
}
@@ -77,10 +77,12 @@ run {
"-Dvertx.configurationFile=config/transaction-exclusion-api/vertx.json",
"-Dlog4j2.configurationFile=config/transaction-exclusion-api/log4j2-dev.xml"
] + System.properties.entrySet()
.findAll { it.key.startsWith("config") }
.collect { "-D${it.key}=${it.value}" }
args = ["config/transaction-exclusion-api/transaction-exclusion-app-docker.config.toml",
"config/transaction-exclusion-api/transaction-exclusion-app-local-dev.config.overrides.toml"]
.findAll { it.key.startsWith("config") }
.collect { "-D${it.key}=${it.value}" }
args = [
"config/transaction-exclusion-api/transaction-exclusion-app-docker.config.toml",
"config/transaction-exclusion-api/transaction-exclusion-app-local-dev.config.overrides.toml"
]
}
sourceSets {
@@ -94,18 +96,17 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
systemProperty "vertx.configurationFile", "vertx-options.json"
task integrationTest(type: Test) { test ->
systemProperty "vertx.configurationFile", "vertx-options.json"
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackPostgresDbOnlyComposeUp")
dependsOn(":localStackPostgresDbOnlyComposeUp")
}
task integrationTestAllNeeded {

View File

@@ -30,26 +30,24 @@ sourceSets {
}
}
task integrationTest(type: Test) {
test ->
testLogging {
events TestLogEvent.FAILED,
task integrationTest(type: Test) { test ->
testLogging {
events TestLogEvent.FAILED,
TestLogEvent.SKIPPED,
TestLogEvent.STANDARD_ERROR,
TestLogEvent.STANDARD_OUT
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
showStandardStreams false
}
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
exceptionFormat TestExceptionFormat.FULL
showCauses true
showExceptions true
showStackTraces true
showStandardStreams false
}
description = "Runs integration tests."
group = "verification"
useJUnitPlatform()
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
testClassesDirs = sourceSets.integrationTest.output.classesDirs
dependsOn(":localStackPostgresDbOnlyComposeUp")
dependsOn(":localStackPostgresDbOnlyComposeUp")
}