@@ -5,20 +5,25 @@ import org.gradle.api.Plugin
55import org.gradle.api.Project
66import org.gradle.api.artifacts.Dependency
77import org.gradle.api.provider.Provider
8+ import org.gradle.api.publish.PublishingExtension
9+ import org.gradle.api.publish.maven.MavenPublication
810import org.gradle.api.tasks.Copy
911import org.gradle.api.tasks.SourceSetContainer
12+ import org.gradle.api.tasks.compile.JavaCompile
1013import org.gradle.jvm.tasks.Jar
1114import org.gradle.kotlin.dsl.*
1215
1316private const val lavalinkExtensionName = " lavalinkPlugin"
1417
15- internal val Project .extension get() = extensions.getByName<LavalinkExtension >(lavalinkExtensionName)
18+ internal val Project .extension
19+ get() = extensions.getByName<LavalinkExtension >(lavalinkExtensionName)
1620
1721class LavalinkGradlePlugin : Plugin <Project > {
1822 override fun apply (target : Project ) {
1923 with (target) {
2024 check(plugins.hasPlugin(" org.gradle.java" )) { " Please apply the Java/Kotlin plugin before Lavalink" }
2125 configureExtension()
26+ configurePublishing()
2227 val serverDependency = configureDependencies()
2328 configureTasks(serverDependency)
2429 configureSourceSets()
@@ -36,6 +41,7 @@ private fun Project.configureExtension(): LavalinkExtension {
3641 name.convention(project.name)
3742 path.convention(provider { project.group.toString() })
3843 serverVersion.convention(apiVersion)
44+ configurePublishing.convention(true )
3945 }
4046}
4147
@@ -63,6 +69,20 @@ private fun Project.configureDependencies(): Provider<Dependency> {
6369 }
6470}
6571
72+ private fun Project.configurePublishing () {
73+ afterEvaluate {
74+ if (extension.configurePublishing.get()) {
75+ configure<PublishingExtension > {
76+ publications {
77+ create<MavenPublication >(" maven" ) {
78+ from(components[" java" ])
79+ }
80+ }
81+ }
82+ }
83+ }
84+ }
85+
6686private fun Project.configureSourceSets () {
6787 configure<SourceSetContainer > {
6888 named(" main" ) {
0 commit comments