Skip to content

Commit dc53a87

Browse files
authored
合并拉取请求 #15
(不兼容)更新Kotlin到v1.8.0; 调整插件的配置方式,并支持多样化的自定义配置
2 parents 74f3d2a + 1ecd83f commit dc53a87

File tree

40 files changed

+896
-1046
lines changed

40 files changed

+896
-1046
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ allprojects {
1212
description = IProject.DESCRIPTION
1313

1414
repositories {
15-
mavenLocal()
1615
mavenCentral()
1716
gradlePluginPortal()
17+
mavenLocal()
1818
//maven {
1919
// url = URI("")
2020
//}

buildSrc/build.gradle.kts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@ repositories {
88
gradlePluginPortal()
99
}
1010

11-
val kotlinVersion = "1.7.20"
11+
val kotlinVersion = "1.8.0"
1212
val dokkaPluginVersion = "1.7.20"
1313

1414
dependencies {
1515
api(gradleApi())
1616
api(kotlin("gradle-plugin", kotlinVersion))
17+
api(kotlin("serialization", kotlinVersion))
1718
api("org.jetbrains.dokka:dokka-gradle-plugin:$dokkaPluginVersion")
1819

1920
api("com.gradle.publish:plugin-publish-plugin:0.12.0")
20-
api("com.github.gmazzo:gradle-buildconfig-plugin:2.0.2")
21+
api("com.github.gmazzo:gradle-buildconfig-plugin:3.1.0")
2122
// see https://github.com/bnorm/kotlin-power-assert#compatibility
2223
api("gradle.plugin.com.bnorm.power:kotlin-power-assert-gradle:0.12.0")
2324
api("io.github.gradle-nexus:publish-plugin:1.1.0")
@@ -32,4 +33,4 @@ dependencies {
3233
//
3334
// tasks.withType<KotlinCompile> {
3435
// kotlinOptions.jvmTarget = "1.8"
35-
// }
36+
// }

buildSrc/src/main/kotlin/IProject.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
object IProject {
2-
const val VERSION = "0.1.0"
2+
const val VERSION = "0.2.0"
33
const val GROUP = "love.forte.plugin.suspend-transform"
44
const val DESCRIPTION = "Generate platform-compatible functions for Kotlin suspend functions"
55

6-
}
6+
}

buildSrc/src/main/kotlin/suspend-transform.jvm-maven-publish.gradle.kts

Lines changed: 36 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
import utils.systemProperty
2-
import utils.by
3-
41
plugins {
52
id("org.jetbrains.dokka")
63
signing
@@ -15,54 +12,53 @@ plugins {
1512
// }
1613

1714

18-
1915
val (sonatypeUsername, sonatypePassword) = sonatypeUserInfoOrNull
2016

2117
val sonatypeContains = sonatypeUserInfoOrNull != null
2218

23-
val jarJavadoc by tasks.registering(Jar::class) {
24-
archiveClassifier.set("javadoc")
25-
// from(tasks.findByName("dokkaHtml"))
26-
}
27-
28-
val jarSources by tasks.registering(Jar::class) {
29-
archiveClassifier.set("sources")
30-
from(sourceSets["main"].allSource)
31-
}
32-
33-
publishing {
34-
publications {
35-
create<MavenPublication>("suspendTransformJvmDist") {
36-
from(components["java"])
37-
artifact(jarSources)
38-
artifact(jarJavadoc)
39-
40-
groupId = project.group.toString()
41-
artifactId = project.name
42-
version = project.version.toString()
43-
}
19+
val jarJavadoc by tasks.registering(Jar::class) {
20+
archiveClassifier.set("javadoc")
21+
// from(tasks.findByName("dokkaHtml"))
22+
}
23+
24+
val jarSources by tasks.registering(Jar::class) {
25+
archiveClassifier.set("sources")
26+
from(sourceSets["main"].allSource)
27+
}
28+
29+
publishing {
30+
publications {
31+
create<MavenPublication>("suspendTransformJvmDist") {
32+
from(components["java"])
33+
artifact(jarSources)
34+
artifact(jarJavadoc)
35+
36+
groupId = project.group.toString()
37+
artifactId = project.name
38+
version = project.version.toString()
39+
}
4440

45-
configureEach {
46-
if (this is MavenPublication) {
47-
pom {
48-
setupPom(project)
49-
}
41+
configureEach {
42+
if (this is MavenPublication) {
43+
pom {
44+
setupPom(project)
5045
}
5146
}
52-
53-
repositories {
54-
mavenLocal()
55-
mavenCentral()
56-
if (sonatypeContains) {
57-
if (project.version.toString().contains("SNAPSHOT", true)) {
58-
configPublishMaven(Sonatype.Snapshot, sonatypeUsername, sonatypePassword)
59-
} else {
60-
configPublishMaven(Sonatype.Central, sonatypeUsername, sonatypePassword)
61-
}
47+
}
48+
49+
repositories {
50+
mavenCentral()
51+
if (sonatypeContains) {
52+
if (project.version.toString().contains("SNAPSHOT", true)) {
53+
configPublishMaven(Sonatype.Snapshot, sonatypeUsername, sonatypePassword)
54+
} else {
55+
configPublishMaven(Sonatype.Central, sonatypeUsername, sonatypePassword)
6256
}
6357
}
58+
mavenLocal()
6459
}
6560
}
61+
}
6662

6763

6864
signing {

buildSrc/src/main/kotlin/suspend-transform.multiplatform-maven-publish.gradle.kts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import gradle.kotlin.dsl.accessors._59a6e08710bd766406b34ec8c4dcd1fe.publishing
21
import gradle.kotlin.dsl.accessors._59a6e08710bd766406b34ec8c4dcd1fe.signing
3-
import utils.systemProperty
42
import utils.by
53

64
plugins {
@@ -25,23 +23,23 @@ publishing {
2523
if (this !is MavenPublication) {
2624
return@configureEach
2725
}
28-
26+
2927
artifact(jarJavadoc)
30-
28+
3129
pom {
3230
setupPom(project)
3331
}
3432
}
35-
33+
3634
repositories {
37-
mavenLocal()
3835
if (sonatypeContains) {
3936
if (project.version.toString().contains("SNAPSHOT", true)) {
4037
configPublishMaven(Sonatype.Snapshot, sonatypeUsername, sonatypePassword)
4138
} else {
4239
configPublishMaven(Sonatype.Central, sonatypeUsername, sonatypePassword)
4340
}
4441
}
42+
mavenLocal()
4543
}
4644
}
4745
}
@@ -67,4 +65,4 @@ fun MavenPublication.jar(taskName: String, config: Action<Jar>) = artifact(tasks
6765
fun MavenPublication.javadocJar(taskName: String, config: Jar.() -> Unit = {}) = jar(taskName) {
6866
archiveClassifier by "javadoc"
6967
config()
70-
}
68+
}

buildSrc/src/main/kotlin/suspend-transform.nexus-publish.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ if (!isPublishConfigurable) {
1919
}
2020

2121

22-
if (isPublishConfigurable) {
23-
val (sonatypeUsername, sonatypePassword) = sonatypeUserInfo
22+
//if (isPublishConfigurable) {
2423
nexusPublishing {
2524
logger.info("[NEXUS] - project.group: ${project.group}")
2625
logger.info("[NEXUS] - project.version: ${project.version}")
@@ -43,6 +42,7 @@ if (isPublishConfigurable) {
4342
repositories {
4443
sonatype {
4544
snapshotRepositoryUrl by uri(Sonatype.Snapshot.URL)
45+
val (sonatypeUsername, sonatypePassword) = sonatypeUserInfoOrNull ?: return@sonatype
4646
username by sonatypeUsername
4747
password by sonatypePassword
4848
}
@@ -51,7 +51,7 @@ if (isPublishConfigurable) {
5151

5252

5353
logger.info("[nexus-publishing-configure] - [{}] configured.", name)
54-
}
54+
//}
5555

5656

5757

compiler/suspend-transform-plugin/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ plugins {
44
java
55
kotlin("jvm")
66
kotlin("kapt")
7+
kotlin("plugin.serialization")
78
id("com.github.gmazzo.buildconfig")
89
//id("com.bnorm.power.kotlin-power-assert")
910
id("suspend-transform.jvm-maven-publish")
@@ -16,6 +17,7 @@ dependencies {
1617
compileOnly(kotlin("stdlib"))
1718
compileOnly(kotlin("compiler"))
1819
compileOnly("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
20+
api("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1")
1921

2022
// compileOnly(kotlin("compiler-embeddable"))
2123

0 commit comments

Comments
 (0)