mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-21 11:43:27 +00:00
add publishing for the api artifact
This commit is contained in:
parent
20c7891c2f
commit
2ecb555619
@ -35,10 +35,12 @@ plugins {
|
|||||||
id("xyz.jpenilla.run-paper") version "2.3.1"
|
id("xyz.jpenilla.run-paper") version "2.3.1"
|
||||||
id("io.sentry.jvm.gradle") version "5.7.0"
|
id("io.sentry.jvm.gradle") version "5.7.0"
|
||||||
}
|
}
|
||||||
apply<ApiGenerator>()
|
|
||||||
|
|
||||||
|
group = "com.volmit"
|
||||||
version = "3.6.11-1.20.1-1.21.5"
|
version = "3.6.11-1.20.1-1.21.5"
|
||||||
|
|
||||||
|
apply<ApiGenerator>()
|
||||||
|
|
||||||
// ADD YOURSELF AS A NEW LINE IF YOU WANT YOUR OWN BUILD TASK GENERATED
|
// ADD YOURSELF AS A NEW LINE IF YOU WANT YOUR OWN BUILD TASK GENERATED
|
||||||
// ======================== WINDOWS =============================
|
// ======================== WINDOWS =============================
|
||||||
registerCustomOutputTask("Cyberpwn", "C://Users/cyberpwn/Documents/development/server/plugins")
|
registerCustomOutputTask("Cyberpwn", "C://Users/cyberpwn/Documents/development/server/plugins")
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
import org.gradle.api.DefaultTask
|
import org.gradle.api.DefaultTask
|
||||||
import org.gradle.api.Plugin
|
import org.gradle.api.Plugin
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.provider.Provider
|
import org.gradle.api.publish.PublishingExtension
|
||||||
|
import org.gradle.api.publish.maven.MavenPublication
|
||||||
|
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin
|
||||||
import org.gradle.api.tasks.InputFile
|
import org.gradle.api.tasks.InputFile
|
||||||
import org.gradle.api.tasks.OutputFile
|
import org.gradle.api.tasks.OutputFile
|
||||||
import org.gradle.api.tasks.TaskAction
|
import org.gradle.api.tasks.TaskAction
|
||||||
@ -12,8 +14,17 @@ import java.util.jar.JarFile
|
|||||||
import java.util.jar.JarOutputStream
|
import java.util.jar.JarOutputStream
|
||||||
|
|
||||||
class ApiGenerator : Plugin<Project> {
|
class ApiGenerator : Plugin<Project> {
|
||||||
override fun apply(target: Project) {
|
override fun apply(target: Project): Unit = with(target) {
|
||||||
target.tasks.register("generateApi", GenerateApiTask::class.java)
|
plugins.apply(MavenPublishPlugin::class.java)
|
||||||
|
val task = tasks.register("irisApi", GenerateApiTask::class.java)
|
||||||
|
extensions.findByType(PublishingExtension::class.java)!!
|
||||||
|
.publications
|
||||||
|
.create("maven", MavenPublication::class.java) {
|
||||||
|
it.groupId = group.toString()
|
||||||
|
it.artifactId = name
|
||||||
|
it.version = version.toString()
|
||||||
|
it.artifact(task)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -21,21 +32,27 @@ abstract class GenerateApiTask : DefaultTask() {
|
|||||||
init {
|
init {
|
||||||
group = "iris"
|
group = "iris"
|
||||||
dependsOn("jar")
|
dependsOn("jar")
|
||||||
|
finalizedBy("publishToMavenLocal")
|
||||||
|
doLast {
|
||||||
|
logger.lifecycle("The API is located at ${outputFile.absolutePath}")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@InputFile
|
@InputFile
|
||||||
val inputFile: Provider<File> = project.tasks
|
val inputFile: File = project.tasks
|
||||||
.named("jar", Jar::class.java)
|
.named("jar", Jar::class.java)
|
||||||
.flatMap { it.archiveFile }
|
.get()
|
||||||
.map { it.asFile }
|
.archiveFile
|
||||||
|
.get()
|
||||||
|
.asFile
|
||||||
|
|
||||||
@OutputFile
|
@OutputFile
|
||||||
val outputFile: Provider<File> = inputFile.map { targetDirectory().resolve(it.name) }
|
val outputFile: File = targetDirectory().resolve(inputFile.name)
|
||||||
|
|
||||||
@TaskAction
|
@TaskAction
|
||||||
fun generate() {
|
fun generate() {
|
||||||
JarFile(inputFile.get()).use { jar ->
|
JarFile(inputFile.apply { mkdirs() }).use { jar ->
|
||||||
JarOutputStream(outputFile.get().outputStream()).use { out ->
|
JarOutputStream(outputFile.apply { mkdirs() }.outputStream()).use { out ->
|
||||||
jar.stream()
|
jar.stream()
|
||||||
.parallel()
|
.parallel()
|
||||||
.filter { !it.isDirectory }
|
.filter { !it.isDirectory }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user