Skip to content

Commit 88df3f3

Browse files
author
54895y
committed
Add shared API publication for MatrixLib
1 parent 93ea728 commit 88df3f3

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

build.gradle.kts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import io.izzel.taboolib.gradle.*
2+
import org.gradle.api.publish.maven.MavenPublication
23
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
34

45
plugins {
56
java
7+
`maven-publish`
68
id("io.izzel.taboolib") version "2.0.36"
79
kotlin("jvm") version "2.3.0"
810
}
@@ -44,4 +46,35 @@ kotlin {
4446
configure<JavaPluginExtension> {
4547
sourceCompatibility = JavaVersion.VERSION_1_8
4648
targetCompatibility = JavaVersion.VERSION_1_8
49+
withSourcesJar()
50+
}
51+
52+
val sharedApiRepoDirCandidates = listOf(
53+
layout.projectDirectory.dir("../_publish/matrix-api"),
54+
layout.projectDirectory.dir("../../_publish/matrix-api")
55+
)
56+
val sharedApiRepoDir = sharedApiRepoDirCandidates.firstOrNull {
57+
val parent = it.asFile.parentFile
58+
parent != null && parent.exists()
59+
} ?: sharedApiRepoDirCandidates.first()
60+
61+
publishing {
62+
publications {
63+
create<MavenPublication>("matrixlibApi") {
64+
from(components["java"])
65+
artifactId = "matrixlib-api"
66+
}
67+
}
68+
repositories {
69+
maven {
70+
name = "matrixPublic"
71+
url = uri(sharedApiRepoDir)
72+
}
73+
}
74+
}
75+
76+
tasks.register("publishMatrixApi") {
77+
group = "publishing"
78+
description = "Publish MatrixLib API artifact to the shared local repository."
79+
dependsOn("publishAllPublicationsToMatrixPublicRepository")
4780
}

0 commit comments

Comments
 (0)