Skip to content

Commit fdac58f

Browse files
committed
Readd publishing.
1 parent d05a495 commit fdac58f

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

build.gradle.kts

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
import com.smushytaco.lwjgl_gradle.Preset
2+
import groovy.namespace.QName
3+
import groovy.util.Node
4+
import groovy.util.NodeList
5+
import groovy.xml.XmlParser
6+
import java.io.FileNotFoundException
7+
import java.net.URL
8+
29
plugins {
310
alias(libs.plugins.loom)
411
alias(libs.plugins.lwjgl)
512
java
13+
`maven-publish`
614
}
715
val modVersion: Provider<String> = providers.gradleProperty("mod_version")
816
val modGroup: Provider<String> = providers.gradleProperty("mod_group")
@@ -127,3 +135,47 @@ tasks {
127135
}
128136
// Removes LWJGL2 dependencies
129137
configurations.configureEach { exclude(group = "org.lwjgl.lwjgl") }
138+
139+
140+
141+
publishing {
142+
if(checkVersion(modGroup.get(), modName.get(), modVersion.get())){
143+
repositories {
144+
maven {
145+
name = "SignalumMavenReleases"
146+
url = uri("https://maven.thesignalumproject.net/releases")
147+
credentials(PasswordCredentials::class)
148+
authentication {
149+
create<BasicAuthentication>("basic")
150+
}
151+
}
152+
153+
publications {
154+
create<MavenPublication>("maven") {
155+
groupId = project.property("mod_group").toString()
156+
artifactId = project.property("mod_name").toString()
157+
version = project.property("mod_version").toString()
158+
from(components["java"])
159+
}
160+
}
161+
}
162+
}
163+
}
164+
165+
fun checkVersion(group: String, name: String, version: String): Boolean {
166+
return try {
167+
val xml = URL("https://maven.thesignalumproject.net/releases/$group/$name/maven-metadata.xml").readText()
168+
val metadata = XmlParser().parseText(xml)
169+
170+
val versions = metadata.getAt(QName("versioning")).getAt("versions").getAt("version").map { (it as Node).text() }
171+
172+
if (version in versions) {
173+
System.err.println("Version $version of $group.$name already exists!")
174+
false
175+
} else {
176+
true
177+
}
178+
} catch (ignored: FileNotFoundException) {
179+
true
180+
}
181+
}

0 commit comments

Comments
 (0)