Skip to content

Commit 52784cd

Browse files
committed
chore: publishing & version toml
1 parent 100ef28 commit 52784cd

3 files changed

Lines changed: 78 additions & 17 deletions

File tree

build.gradle.kts

Lines changed: 38 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,38 @@ import com.google.protobuf.gradle.id
22

33
plugins {
44
id("java")
5-
id("com.google.protobuf") version "0.9.5"
6-
id("maven-publish")
5+
alias(libs.plugins.protobuf)
6+
alias(libs.plugins.maven.publish)
7+
}
8+
9+
group = project.property("GROUP").toString()
10+
version = project.property("VERSION_NAME").toString()
11+
val artifactId = project.property("POM_ARTIFACT_ID").toString()
12+
13+
base {
14+
archivesName.set(artifactId)
715
}
816

917
repositories {
1018
mavenCentral()
1119
}
1220

1321
dependencies {
14-
implementation("com.google.protobuf:protobuf-java:4.32.0")
15-
implementation("com.google.protobuf:protobuf-java-util:4.32.0")
16-
implementation("com.google.code.gson:gson:2.9.1")
22+
implementation(libs.protobuf.java)
23+
implementation(libs.protobuf.java.util)
24+
implementation(libs.gson)
1725

18-
implementation("org.jspecify:jspecify:1.0.0")
26+
implementation(libs.jspecify)
1927
}
2028

2129
protobuf {
2230
// https://github.com/google/protobuf-gradle-plugin/blob/master/examples/exampleKotlinDslProject/build.gradle.kts
2331
protoc {
24-
artifact = "com.google.protobuf:protoc:4.32.0"
32+
artifact = libs.protoc.artifact.get().toString()
2533
}
2634
plugins {
2735
id("doc") {
28-
artifact = "io.github.pseudomuto:protoc-gen-doc:1.5.1"
36+
artifact = libs.protoc.gen.doc.artifact.get().toString()
2937
}
3038
}
3139
generateProtoTasks {
@@ -44,13 +52,26 @@ java {
4452
withSourcesJar()
4553
}
4654

47-
publishing {
48-
publications {
49-
create<MavenPublication>("proto") {
50-
from(components["java"])
51-
groupId = "com.mcdiamondfire"
52-
artifactId = "proto"
53-
version = "1.0.0"
54-
}
55-
}
55+
tasks.withType<Jar> {
56+
// Exclude proto files.
57+
exclude("**/*.proto")
58+
includeEmptyDirs = false
59+
}
60+
61+
tasks.matching { it.name == "plainJavadocJar" }.configureEach {
62+
enabled = false
63+
}
64+
65+
tasks.withType<Javadoc> {
66+
options {
67+
val options = this as StandardJavadocDocletOptions
68+
options.addStringOption("Xdoclint:none", "-quiet") // Protobuf generates DocLint warnings.
69+
}
70+
}
71+
72+
mavenPublishing {
73+
publishToMavenCentral()
74+
signAllPublications()
75+
76+
coordinates(group.toString(), artifactId, version.toString())
5677
}

gradle.properties

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
GROUP=com.mcdiamondfire.modapi
2+
POM_ARTIFACT_ID=mod-api
3+
VERSION_NAME=1.0.0
4+
5+
POM_NAME=DiamondFire ModAPI
6+
POM_DESCRIPTION=Utility library for interfacing with DiamondFire's ModAPI plugin messaging system.
7+
POM_INCEPTION_YEAR=2026
8+
POM_URL=https://github.com/MCDiamondFire/ModAPI/
9+
10+
POM_LICENSE_NAME=MIT
11+
POM_LICENSE_URL=https://opensource.org/license/mit/
12+
POM_LICENSE_DIST=repo
13+
14+
POM_SCM_URL=https://github.com/MCDiamondFire/ModAPI/
15+
POM_SCM_CONNECTION=scm:git:git://github.com/MCDiamondFire/ModAPI.git
16+
POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/MCDiamondFire/ModAPI.git
17+
18+
POM_DEVELOPER_ID=mcdiamondfire
19+
POM_DEVELOPER_NAME=MCDiamondFire
20+
POM_DEVELOPER_URL=https://github.com/MCDiamondFire/

gradle/libs.versions.toml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[versions]
2+
protobuf-gradle = "0.9.5"
3+
maven-publish = "0.36.0"
4+
protobuf = "4.32.0"
5+
gson = "2.9.1"
6+
jspecify = "1.0.0"
7+
protoc-gen-doc = "1.5.1"
8+
9+
[libraries]
10+
protobuf-java = { group = "com.google.protobuf", name = "protobuf-java", version.ref = "protobuf" }
11+
protobuf-java-util = { group = "com.google.protobuf", name = "protobuf-java-util", version.ref = "protobuf" }
12+
gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" }
13+
jspecify = { group = "org.jspecify", name = "jspecify", version.ref = "jspecify" }
14+
15+
protoc-artifact = { group = "com.google.protobuf", name = "protoc", version.ref = "protobuf" }
16+
protoc-gen-doc-artifact = { group = "io.github.pseudomuto", name = "protoc-gen-doc", version.ref = "protoc-gen-doc" }
17+
18+
[plugins]
19+
protobuf = { id = "com.google.protobuf", version.ref = "protobuf-gradle" }
20+
maven-publish = { id = "com.vanniktech.maven.publish", version.ref = "maven-publish" }

0 commit comments

Comments
 (0)