Skip to content

Commit 97c0b6e

Browse files
committed
优化构建脚本
1 parent 3e13690 commit 97c0b6e

3 files changed

Lines changed: 40 additions & 88 deletions

File tree

build.gradle.kts

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ import java.util.*
33

44
plugins {
55
id("java")
6+
id("maven-publish")
67
}
78

89
group = "com.github.luiox"
9-
version = "1.8"
10+
version = "1.9"
1011

1112
subprojects {
1213
apply(plugin = "java")
14+
apply(plugin = "maven-publish")
1315

1416
// 设置子项目的属性
1517
group = rootProject.group
@@ -19,11 +21,48 @@ subprojects {
1921
dependencies {
2022
testImplementation(platform("org.junit:junit-bom:${properties["junit_version"] as String}"))
2123
testImplementation("org.junit.jupiter:junit-jupiter")
24+
25+
implementation("org.ow2.asm:asm:${properties["asm_version"] as String}")
26+
implementation("org.ow2.asm:asm-tree:${properties["asm_version"] as String}")
27+
implementation("org.ow2.asm:asm-commons:${properties["asm_version"] as String}")
28+
implementation("org.ow2.asm:asm-analysis:${properties["asm_version"] as String}")
29+
implementation("org.ow2.asm:asm-util:${properties["asm_version"] as String}")
30+
31+
implementation("ch.qos.logback:logback-classic:${properties["logback_version"] as String}")
32+
implementation("ch.qos.logback:logback-core:${properties["logback_version"] as String}")
33+
34+
implementation("org.jetbrains:annotations:${properties["jetbrains_annotations_version"] as String}")
2235
}
2336

2437
tasks.withType<Test> {
2538
useJUnitPlatform()
2639
}
40+
41+
publishing {
42+
publications {
43+
create<MavenPublication>("mavenJava") {
44+
artifactId = project.name
45+
groupId = project.group.toString()
46+
version = project.version.toString()
47+
48+
from(components["java"])
49+
50+
pom.withXml {
51+
val dependenciesNode = asNode().appendNode("dependencies")
52+
53+
// 遍历项目依赖并添加到 POM
54+
project.configurations.implementation.get().allDependencies.forEach { dep ->
55+
if (dep.group != null) { // 过滤掉没有 group 的依赖(如本地项目)
56+
val dependencyNode = dependenciesNode.appendNode("dependency")
57+
dependencyNode.appendNode("groupId", dep.group)
58+
dependencyNode.appendNode("artifactId", dep.name)
59+
dependencyNode.appendNode("version", dep.version ?: "")
60+
}
61+
}
62+
}
63+
}
64+
}
65+
}
2766
}
2867

2968
allprojects {

morpher-api/build.gradle.kts

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,8 @@
1-
plugins {
2-
id("java")
3-
id("maven-publish")
4-
//id("java-library")
5-
}
6-
71
description = "A tool that use custom transformer for modifying java bytecode"
82

93
dependencies {
10-
testImplementation(platform("org.junit:junit-bom:${properties["junit_version"] as String}"))
11-
testImplementation("org.junit.jupiter:junit-jupiter")
124

13-
implementation("org.ow2.asm:asm:${properties["asm_version"] as String}")
14-
implementation("org.ow2.asm:asm-tree:${properties["asm_version"] as String}")
15-
implementation("org.ow2.asm:asm-commons:${properties["asm_version"] as String}")
16-
implementation("org.ow2.asm:asm-analysis:${properties["asm_version"] as String}")
17-
implementation("org.ow2.asm:asm-util:${properties["asm_version"] as String}")
185

19-
implementation("ch.qos.logback:logback-classic:${properties["logback_version"] as String}")
20-
implementation("ch.qos.logback:logback-core:${properties["logback_version"] as String}")
21-
22-
implementation("org.jetbrains:annotations:${properties["jetbrains_annotations_version"] as String}")
236
}
247

258
tasks {
@@ -40,31 +23,7 @@ tasks {
4023
// }
4124
// }
4225

43-
publishing {
44-
publications {
45-
create<MavenPublication>("mavenJava") {
46-
artifactId = "morpher-api"
47-
groupId = project.group.toString()
48-
version = project.version.toString()
49-
50-
artifact(jar)
5126

52-
pom.withXml {
53-
val dependenciesNode = asNode().appendNode("dependencies")
54-
55-
// 遍历项目依赖并添加到 POM
56-
project.configurations.implementation.get().allDependencies.forEach { dep ->
57-
if (dep.group != null) { // 过滤掉没有 group 的依赖(如本地项目)
58-
val dependencyNode = dependenciesNode.appendNode("dependency")
59-
dependencyNode.appendNode("groupId", dep.group)
60-
dependencyNode.appendNode("artifactId", dep.name)
61-
dependencyNode.appendNode("version", dep.version ?: "")
62-
}
63-
}
64-
}
65-
}
66-
}
67-
}
6827
}
6928

7029

morpher-passes/build.gradle.kts

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,10 @@
1-
plugins {
2-
id("java")
3-
id("maven-publish")
4-
}
5-
61
description = "some generic passes"
72

83
repositories {
9-
mavenCentral()
104
maven { url = uri("https://jitpack.io") }
115
}
126

137
dependencies {
14-
testImplementation(platform("org.junit:junit-bom:${properties["junit_version"] as String}"))
15-
testImplementation("org.junit.jupiter:junit-jupiter")
16-
17-
implementation("org.ow2.asm:asm:${properties["asm_version"] as String}")
18-
implementation("org.ow2.asm:asm-tree:${properties["asm_version"] as String}")
19-
implementation("org.ow2.asm:asm-commons:${properties["asm_version"] as String}")
20-
implementation("org.ow2.asm:asm-analysis:${properties["asm_version"] as String}")
21-
implementation("org.ow2.asm:asm-util:${properties["asm_version"] as String}")
22-
23-
implementation("ch.qos.logback:logback-classic:${properties["logback_version"] as String}")
24-
implementation("ch.qos.logback:logback-core:${properties["logback_version"] as String}")
25-
26-
implementation("org.jetbrains:annotations:${properties["jetbrains_annotations_version"] as String}")
27-
288
// implementation("com.github.luiox:morpher-api:v1.6")
299
implementation(project(":morpher-api"))
3010

@@ -44,30 +24,4 @@ tasks{
4424
test {
4525
useJUnitPlatform()
4626
}
47-
48-
publishing {
49-
publications {
50-
create<MavenPublication>("mavenJava") {
51-
artifactId = "morpher-passes"
52-
groupId = project.group.toString()
53-
version = project.version.toString()
54-
55-
artifact(jar)
56-
57-
pom.withXml {
58-
val dependenciesNode = asNode().appendNode("dependencies")
59-
60-
// 遍历项目依赖并添加到 POM
61-
project.configurations.implementation.get().allDependencies.forEach { dep ->
62-
if (dep.group != null) { // 过滤掉没有 group 的依赖(如本地项目)
63-
val dependencyNode = dependenciesNode.appendNode("dependency")
64-
dependencyNode.appendNode("groupId", dep.group)
65-
dependencyNode.appendNode("artifactId", dep.name)
66-
dependencyNode.appendNode("version", dep.version ?: "")
67-
}
68-
}
69-
}
70-
}
71-
}
72-
}
7327
}

0 commit comments

Comments
 (0)