From 69ad11ff3e744a710842896605f91fdb4c1f4de6 Mon Sep 17 00:00:00 2001 From: ReaJason Date: Fri, 27 Jun 2025 00:15:26 +0800 Subject: [PATCH] build: rm memshell-party-bom module --- build.gradle.kts | 2 - deserialize/build.gradle.kts | 6 +-- generator/build.gradle.kts | 34 ++++++-------- gradle/libs.versions.toml | 61 ++++++++++++++++++++++++++ integration-test/build.gradle.kts | 25 +++++------ memshell-party-bom/build.gradle.kts | 40 ----------------- memshell-party-common/build.gradle.kts | 22 +++++----- memshell/build.gradle.kts | 15 +++---- settings.gradle.kts | 1 - tools/ant-sword/build.gradle.kts | 15 +++---- tools/behinder/build.gradle.kts | 13 ++---- tools/godzilla/build.gradle.kts | 15 +++---- tools/suo5/build.gradle.kts | 12 ++--- 13 files changed, 122 insertions(+), 139 deletions(-) delete mode 100644 memshell-party-bom/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index f26643e5..b33a6da5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,13 +6,11 @@ version = "2.0.0-SNAPSHOT" tasks.register("publishAllToMavenCentral") { val isSnapshot = rootProject.version.toString().endsWith("-SNAPSHOT") if (isSnapshot) { - dependsOn(":memshell-party-bom:publishAllPublicationsToMavenCentralRepository") dependsOn(":memshell-party-common:publishAllPublicationsToMavenCentralRepository") dependsOn(":deserialize:publishAllPublicationsToMavenCentralRepository") dependsOn(":memshell:publishAllPublicationsToMavenCentralRepository") dependsOn(":generator:publishAllPublicationsToMavenCentralRepository") } else { - dependsOn(":memshell-party-bom:publishAndReleaseToMavenCentral") dependsOn(":memshell-party-common:publishAndReleaseToMavenCentral") dependsOn(":deserialize:publishAndReleaseToMavenCentral") dependsOn(":memshell:publishAndReleaseToMavenCentral") diff --git a/deserialize/build.gradle.kts b/deserialize/build.gradle.kts index add0db51..7b62cf56 100644 --- a/deserialize/build.gradle.kts +++ b/deserialize/build.gradle.kts @@ -9,15 +9,13 @@ description = "Java deserialize payload for MemShellParty" version = rootProject.version dependencies { - implementation(platform(project(":memshell-party-bom"))) implementation(project(":memshell-party-common")) - implementation("net.bytebuddy:byte-buddy") implementation("com.caucho:hessian:4.0.66") implementation("commons-beanutils:commons-beanutils:1.9.2") implementation("commons-collections:commons-collections:3.2.1") implementation("org.apache.commons:commons-collections4:4.0") - testImplementation(platform("org.junit:junit-bom")) - testImplementation("org.junit.jupiter:junit-jupiter") + testImplementation(libs.junit.jupiter) + testRuntimeOnly(libs.junit.platform.launcher) } java { diff --git a/generator/build.gradle.kts b/generator/build.gradle.kts index 992054be..8f0af990 100644 --- a/generator/build.gradle.kts +++ b/generator/build.gradle.kts @@ -27,29 +27,21 @@ tasks.test { } dependencies { - implementation(platform(project(":memshell-party-bom"))) implementation(project(":memshell-party-common")) implementation(project(":deserialize")) implementation(project(":memshell")) - implementation("net.bytebuddy:byte-buddy") - implementation("org.ow2.asm:asm-commons") - implementation("net.java.dev.jna:jna") - implementation("net.java.dev.jna:jna-platform") - implementation("javax.servlet:javax.servlet-api") - implementation("javax.websocket:javax.websocket-api") - implementation("org.apache.bcel:bcel") - implementation("commons-io:commons-io") - implementation("org.apache.commons:commons-lang3") - implementation("com.squareup.okhttp3:okhttp") - implementation("ch.qos.logback:logback-classic") - implementation("com.fasterxml.jackson.core:jackson-databind") - implementation("org.springframework:spring-webmvc") - implementation("org.springframework:spring-webflux") - implementation("io.projectreactor.netty:reactor-netty-core") - testImplementation(platform("org.junit:junit-bom")) - testImplementation("org.junit.jupiter:junit-jupiter") - testRuntimeOnly("org.junit.platform:junit-platform-launcher") - testImplementation("org.mockito:mockito-core") - testImplementation("org.mockito:mockito-junit-jupiter") + implementation(libs.bundles.jna) + implementation(libs.javax.servlet.api) + implementation(libs.javax.websocket.api) + implementation(libs.bcel) + implementation(libs.okhttp3) + implementation(libs.logback.classic) + implementation(libs.jackson.databind) + implementation(libs.spring.webmvc) + implementation(libs.spring.webflux) + implementation(libs.reactor.netty.core) + testImplementation(libs.junit.jupiter) + testRuntimeOnly(libs.junit.platform.launcher) + testImplementation(libs.bundles.mockito) } \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f1384e3a..e3729f9d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,2 +1,63 @@ +[versions] +byte-buddy = "1.17.6" +asm = "9.8" +jna = "5.13.0" +javax-servlet-api = "3.0.1" +javax-websocket-api = "1.1" +spring-webmvc = "5.3.24" +spring-webflux = "5.3.24" +reactor-netty = "1.1.25" +commons-io = "2.19.0" +commons-lang3 = "3.17.0" +commons-codec = "1.18.0" +logback = "1.5.18" +slf4j-simple = "2.0.17" +bcel = "5.2" +java-websocket = "1.6.0" +okhttp3 = "4.12.0" +fastjson2 = "2.0.57" +jackson = "2.19.0" +jetbrains-annotations = "26.0.2" +mockito = "5.18.0" +hamcrest = "3.0" +junit-jupiter = "5.13.2" +junit-platform = "1.13.1" +testcontainers = "1.21.2" + +[libraries] +byte-buddy = { module = "net.bytebuddy:byte-buddy", version.ref = "byte-buddy" } +asm-commons = { module = "org.ow2.asm:asm-commons", version.ref = "asm" } +jna = { module = "net.java.dev.jna:jna", version.ref = "jna" } +jna-platform = { module = "net.java.dev.jna:jna-platform", version.ref = "jna" } +javax-servlet-api = { module = "javax.servlet:javax.servlet-api", version.ref = "javax-servlet-api" } +javax-websocket-api = { module = "javax.websocket:javax.websocket-api", version.ref = "javax-websocket-api" } +spring-webmvc = { module = "org.springframework:spring-webmvc", version.ref = "spring-webmvc" } +spring-webflux = { module = "org.springframework:spring-webflux", version.ref = "spring-webflux" } +reactor-netty-core = { module = "io.projectreactor.netty:reactor-netty-core", version.ref = "reactor-netty" } +commons-io = { module = "commons-io:commons-io", version.ref = "commons-io" } +commons-lang3 = { module = "org.apache.commons:commons-lang3", version.ref = "commons-lang3" } +commons-codec = { module = "commons-codec:commons-codec", version.ref = "commons-codec" } +logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } +slf4j-simple = { module = "org.slf4j:slf4j-simple", version.ref = "slf4j-simple" } +bcel = { module = "org.apache.bcel:bcel", version.ref = "bcel" } +java-websocket = { module = "org.java-websocket:Java-WebSocket", version.ref = "java-websocket" } +okhttp3 = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp3" } +fastjson2 = { module = "com.alibaba.fastjson2:fastjson2", version.ref = "fastjson2" } +jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" } +jetbrains-annotations = { module = "org.jetbrains:annotations", version.ref = "jetbrains-annotations" } +mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockito" } +mockito-junit-jupiter = { module = "org.mockito:mockito-junit-jupiter", version.ref = "mockito" } +hamcrest = { module = "org.hamcrest:hamcrest", version.ref = "hamcrest" } +junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit-jupiter" } +junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher", version.ref = "junit-platform" } +junit-platform-reporting = { module = "org.junit.platform:junit-platform-reporting", version.ref = "junit-platform" } +testcontainers = { module = "org.testcontainers:testcontainers", version.ref = "testcontainers" } +testcontainers-junit-jupiter = { module = "org.testcontainers:junit-jupiter", version.ref = "testcontainers" } + +[bundles] +jna = ["jna", "jna-platform"] +mockito = ["mockito-core", "mockito-junit-jupiter"] +testcontainers = ["testcontainers", "testcontainers-junit-jupiter"] + [plugins] lombok = { id = "io.freefair.lombok", version = "8.13.1" } \ No newline at end of file diff --git a/integration-test/build.gradle.kts b/integration-test/build.gradle.kts index e11540aa..4aef2fc2 100644 --- a/integration-test/build.gradle.kts +++ b/integration-test/build.gradle.kts @@ -7,27 +7,22 @@ group = "io.github.reajason" version = rootProject.version dependencies { - implementation(platform(project(":memshell-party-bom"))) - testImplementation(project(":vul:vul-webapp")) testImplementation(project(":memshell-party-common")) testImplementation(project(":tools:behinder")) testImplementation(project(":tools:godzilla")) testImplementation(project(":tools:suo5")) testImplementation(project(":tools:ant-sword")) testImplementation(project(":generator")) - testImplementation("net.bytebuddy:byte-buddy") - testImplementation("javax.servlet:javax.servlet-api") - testImplementation("javax.websocket:javax.websocket-api") - testImplementation("org.java-websocket:Java-WebSocket") - testImplementation("com.squareup.okhttp3:okhttp") - testImplementation("org.slf4j:slf4j-simple:2.0.16") - testImplementation(platform("org.junit:junit-bom")) - testRuntimeOnly("org.junit.platform:junit-platform-launcher") - testImplementation("org.junit.jupiter:junit-jupiter") - testImplementation("org.junit.platform:junit-platform-reporting") - testImplementation("org.hamcrest:hamcrest") - testImplementation("org.testcontainers:testcontainers") - testImplementation("org.testcontainers:junit-jupiter") + testImplementation(libs.javax.servlet.api) + testImplementation(libs.javax.websocket.api) + testImplementation(libs.java.websocket) + testImplementation(libs.okhttp3) + testImplementation(libs.slf4j.simple) + testImplementation(libs.junit.platform.reporting) + testImplementation(libs.junit.jupiter) + testRuntimeOnly(libs.junit.platform.launcher) + testImplementation(libs.hamcrest) + testImplementation(libs.bundles.testcontainers) } tasks.test { diff --git a/memshell-party-bom/build.gradle.kts b/memshell-party-bom/build.gradle.kts deleted file mode 100644 index 46808855..00000000 --- a/memshell-party-bom/build.gradle.kts +++ /dev/null @@ -1,40 +0,0 @@ -plugins { - id("java-platform") - id("maven-publish-convention") -} - -group = "io.github.reajason" -description = - "This Bill of Materials POM can be used to ease dependency management when referencing multiple MemShellParty artifacts using Gradle or Maven." -version = rootProject.version - -dependencies { - constraints { - api("net.bytebuddy:byte-buddy:1.17.5") - api("org.ow2.asm:asm-commons:9.8") - api("net.java.dev.jna:jna:5.13.0") - api("net.java.dev.jna:jna-platform:5.13.0") - api("javax.servlet:javax.servlet-api:3.0.1") - api("jakarta.servlet:jakarta.servlet-api:6.0.0") - api("javax.websocket:javax.websocket-api:1.1") - api("org.springframework:spring-webmvc:5.3.24") - api("org.springframework:spring-webflux:5.3.24") - api("io.projectreactor.netty:reactor-netty-core:1.1.25") - api("commons-io:commons-io:2.19.0") - api("org.apache.commons:commons-lang3:3.17.0") - api("commons-codec:commons-codec:1.18.0") - api("ch.qos.logback:logback-classic:1.5.18") - api("org.apache.bcel:bcel:5.2") - api("org.java-websocket:Java-WebSocket:1.6.0") - api("com.squareup.okhttp3:okhttp:4.12.0") - api("com.alibaba.fastjson2:fastjson2:2.0.57") - api("com.fasterxml.jackson.core:jackson-databind:2.19.0") - api("org.jetbrains:annotations:26.0.2") - api("org.mockito:mockito-core:5.18.0") - api("org.mockito:mockito-junit-jupiter:5.18.0") - api("org.hamcrest:hamcrest:3.0") - api("org.junit:junit-bom:5.12.2") - api("org.testcontainers:testcontainers:1.21.0") - api("org.testcontainers:junit-jupiter:1.21.0") - } -} \ No newline at end of file diff --git a/memshell-party-common/build.gradle.kts b/memshell-party-common/build.gradle.kts index 9abb797e..26b0df44 100644 --- a/memshell-party-common/build.gradle.kts +++ b/memshell-party-common/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("java") + id("java-library") alias(libs.plugins.lombok) id("maven-publish-convention") } @@ -14,17 +14,15 @@ java { } dependencies { - implementation(platform(project(":memshell-party-bom"))) - implementation("net.bytebuddy:byte-buddy") - implementation("org.ow2.asm:asm-commons") - implementation("commons-io:commons-io") - implementation("org.apache.commons:commons-lang3") - implementation("commons-codec:commons-codec") - implementation("org.jetbrains:annotations") - testImplementation(platform("org.junit:junit-bom")) - testImplementation("org.junit.jupiter:junit-jupiter") - testRuntimeOnly("org.junit.platform:junit-platform-launcher") - testImplementation("org.mockito:mockito-core") + api(libs.byte.buddy) + api(libs.asm.commons) + api(libs.commons.io) + api(libs.commons.lang3) + api(libs.commons.codec) + api(libs.jetbrains.annotations) + testImplementation(libs.junit.jupiter) + testRuntimeOnly(libs.junit.platform.launcher) + testImplementation(libs.bundles.mockito) } tasks.test { diff --git a/memshell/build.gradle.kts b/memshell/build.gradle.kts index 0131dbf6..1a35ed4b 100644 --- a/memshell/build.gradle.kts +++ b/memshell/build.gradle.kts @@ -18,12 +18,11 @@ java { } dependencies { - implementation(platform(project(":memshell-party-bom"))) - implementation("net.bytebuddy:byte-buddy") - implementation("org.ow2.asm:asm-commons") - implementation("javax.servlet:javax.servlet-api") - implementation("javax.websocket:javax.websocket-api") - implementation("org.springframework:spring-webmvc") - implementation("org.springframework:spring-webflux") - implementation("io.projectreactor.netty:reactor-netty-core") + implementation(libs.byte.buddy) + implementation(libs.asm.commons) + implementation(libs.javax.servlet.api) + implementation(libs.javax.websocket.api) + implementation(libs.spring.webmvc) + implementation(libs.spring.webflux) + implementation(libs.reactor.netty.core) } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 478621fa..f49d4b4f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,7 +18,6 @@ dependencyResolutionManagement { rootProject.name = "memshell-party" -include("memshell-party-bom") include("memshell-party-common") include("tools:godzilla", "tools:behinder", "tools:suo5", "tools:ant-sword") include("memshell") diff --git a/tools/ant-sword/build.gradle.kts b/tools/ant-sword/build.gradle.kts index ca82839d..010ad4d0 100644 --- a/tools/ant-sword/build.gradle.kts +++ b/tools/ant-sword/build.gradle.kts @@ -15,17 +15,12 @@ java { } dependencies { - implementation(platform(project(":memshell-party-bom"))) implementation(project(":memshell-party-common")) - implementation("net.bytebuddy:byte-buddy") - implementation("javax.servlet:javax.servlet-api") - implementation("commons-io:commons-io") - implementation("org.apache.commons:commons-lang3") - implementation("commons-codec:commons-codec") - implementation("com.squareup.okhttp3:okhttp") - implementation("com.alibaba.fastjson2:fastjson2") - testImplementation(platform("org.junit:junit-bom")) - testImplementation("org.junit.jupiter:junit-jupiter") + implementation(libs.javax.servlet.api) + implementation(libs.okhttp3) + implementation(libs.fastjson2) + testImplementation(libs.junit.jupiter) + testRuntimeOnly(libs.junit.platform.launcher) } tasks.test { diff --git a/tools/behinder/build.gradle.kts b/tools/behinder/build.gradle.kts index 67aebe9f..18d81878 100644 --- a/tools/behinder/build.gradle.kts +++ b/tools/behinder/build.gradle.kts @@ -16,16 +16,11 @@ java { dependencies { - implementation(platform(project(":memshell-party-bom"))) implementation(project(":memshell-party-common")) - implementation("net.bytebuddy:byte-buddy") - implementation("commons-io:commons-io") - implementation("org.apache.commons:commons-lang3") - implementation("commons-codec:commons-codec") - implementation("com.squareup.okhttp3:okhttp") - implementation("com.alibaba.fastjson2:fastjson2") - testImplementation(platform("org.junit:junit-bom")) - testImplementation("org.junit.jupiter:junit-jupiter") + implementation(libs.okhttp3) + implementation(libs.fastjson2) + testImplementation(libs.junit.jupiter) + testRuntimeOnly(libs.junit.platform.launcher) } tasks.test { diff --git a/tools/godzilla/build.gradle.kts b/tools/godzilla/build.gradle.kts index 132e7ea1..85401321 100644 --- a/tools/godzilla/build.gradle.kts +++ b/tools/godzilla/build.gradle.kts @@ -16,16 +16,13 @@ java { dependencies { - implementation(platform(project(":memshell-party-bom"))) implementation(project(":memshell-party-common")) - implementation("net.bytebuddy:byte-buddy") - implementation("commons-io:commons-io") - implementation("org.apache.commons:commons-lang3") - implementation("commons-codec:commons-codec") - implementation("com.squareup.okhttp3:okhttp") - implementation("org.java-websocket:Java-WebSocket") - testImplementation(platform("org.junit:junit-bom")) - testImplementation("org.junit.jupiter:junit-jupiter") + implementation(libs.java.websocket) + implementation(libs.javax.servlet.api) + implementation(libs.okhttp3) + implementation(libs.fastjson2) + testImplementation(libs.junit.jupiter) + testRuntimeOnly(libs.junit.platform.launcher) } tasks.test { diff --git a/tools/suo5/build.gradle.kts b/tools/suo5/build.gradle.kts index 5c0efb0f..18d81878 100644 --- a/tools/suo5/build.gradle.kts +++ b/tools/suo5/build.gradle.kts @@ -16,15 +16,11 @@ java { dependencies { - implementation(platform(project(":memshell-party-bom"))) implementation(project(":memshell-party-common")) - implementation("net.bytebuddy:byte-buddy") - implementation("commons-io:commons-io") - implementation("org.apache.commons:commons-lang3") - implementation("commons-codec:commons-codec") - implementation("com.squareup.okhttp3:okhttp") - testImplementation(platform("org.junit:junit-bom")) - testImplementation("org.junit.jupiter:junit-jupiter") + implementation(libs.okhttp3) + implementation(libs.fastjson2) + testImplementation(libs.junit.jupiter) + testRuntimeOnly(libs.junit.platform.launcher) } tasks.test {