Skip to content

Rename meta to plugin #64

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
- **Breaking change!**
Refactor development server implementation to use [jpenilla/run-task](https://github.com/jpenilla/run-task/) plugin and integrate run-paper for server execution,
improving maintainability and compatibility with various server versions.
- **Breaking change!**
Rename `bukkit.meta { ... }` to `bukkit.plugin { ... }`.
- Task `:parsePluginMetaFile` and `:mergePluginMeta` renamed to `:parsePluginYaml` and `:mergePluginYaml` respectively.
- `bukkit.disableMetaGeneration()` replaced by `bukkit.plugin.disablePluginYamlGeneration()`
- Package `.meta` renamed to `.plugin` to reflect this change
- Set the default [JVM toolchain](https://docs.gradle.org/current/userguide/toolchains.html) version
instead of setting JVM target and source compatibility to 1.8.
By default, the minimal supported JVM version compatible with the specified `bukkit.server.version` is used.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ bukkit {
apiVersion = "1.15.2"

// Attributes for plugin.yml
meta {
plugin {
name.set("MyPlugin")
description.set("My amazing plugin, that doing nothing")
main.set("com.example.plugin.MyPlugin")
Expand Down
12 changes: 9 additions & 3 deletions src/main/kotlin/Bukkit.kt
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
package ru.endlesscode.bukkitgradle

import org.gradle.api.provider.Provider
import ru.endlesscode.bukkitgradle.meta.extension.PluginMeta
import ru.endlesscode.bukkitgradle.plugin.extension.PluginConfiguration
import ru.endlesscode.bukkitgradle.server.extension.ServerConfiguration

public interface Bukkit {

/** Plugin meta. */
public val meta: PluginMeta
/** Plugin plugin. */
public val plugin: PluginConfiguration

@Deprecated("Use 'plugin' field instead", ReplaceWith("plugin"))
public val meta: PluginConfiguration
get() = plugin

/** Dev server configuration. */
public val server: ServerConfiguration
Expand All @@ -16,5 +20,7 @@ public interface Bukkit {
public val apiVersion: Provider<String>

/** Plugin Meta generation enabled. */
@Deprecated("Use 'plugin.generatePluginYaml' instead", ReplaceWith("plugin.generatePluginYaml"))
public val generateMeta: Provider<Boolean>
get() = plugin.generatePluginYaml
}
28 changes: 15 additions & 13 deletions src/main/kotlin/BukkitExtension.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,19 @@ import org.gradle.api.Action
import org.gradle.api.Project
import org.gradle.api.model.ObjectFactory
import org.gradle.api.provider.Property
import org.gradle.api.provider.Provider
import org.gradle.kotlin.dsl.assign
import org.gradle.kotlin.dsl.getByType
import org.gradle.kotlin.dsl.property
import org.slf4j.LoggerFactory
import ru.endlesscode.bukkitgradle.extensions.finalizedOnRead
import ru.endlesscode.bukkitgradle.extensions.warnSyntaxChanged
import ru.endlesscode.bukkitgradle.meta.extension.PluginMetaImpl
import ru.endlesscode.bukkitgradle.plugin.extension.PluginConfigurationImpl
import ru.endlesscode.bukkitgradle.server.ServerConstants
import ru.endlesscode.bukkitgradle.server.extension.ServerConfigurationImpl

// TODO 1.0: Remove deprecated fields on release
public open class BukkitExtension internal constructor(
public final override val meta: PluginMetaImpl,
public final override val plugin: PluginConfigurationImpl,
public final override val server: ServerConfigurationImpl,
objects: ObjectFactory,
) : Bukkit {
Expand All @@ -26,12 +25,6 @@ public open class BukkitExtension internal constructor(
.convention(ServerConstants.DEFAULT_VERSION)
.finalizedOnRead()

private val _generateMeta: Property<Boolean> = objects.property<Boolean>()
.convention(true)
.finalizedOnRead()

public final override val generateMeta: Provider<Boolean> = _generateMeta

private val logger = LoggerFactory.getLogger("BukkitExtension")

@Deprecated("Use 'server' instead", ReplaceWith("server"))
Expand All @@ -51,8 +44,13 @@ public open class BukkitExtension internal constructor(
body.execute(server)
}

public fun meta(body: Action<PluginMetaImpl>) {
body.execute(meta)
public fun plugin(body: Action<PluginConfigurationImpl>) {
body.execute(plugin)
}

@Deprecated("Use 'plugin' instead", ReplaceWith("plugin(body)"))
public fun meta(body: Action<PluginConfigurationImpl>) {
plugin(body)
}

@Deprecated("Use apiVersion instead of version.", ReplaceWith("apiVersion = version"))
Expand All @@ -61,9 +59,13 @@ public open class BukkitExtension internal constructor(
apiVersion = version
}

/** Disabled plugin.yml generation. */
/** Disables plugin.yml generation. */
@Deprecated(
"Use 'plugin.disablePluginYamlGeneration()' instead",
ReplaceWith("plugin.disablePluginYamlGeneration()")
)
public fun disableMetaGeneration() {
_generateMeta = false
plugin.disablePluginYamlGeneration()
}
}

Expand Down
20 changes: 10 additions & 10 deletions src/main/kotlin/BukkitGradlePlugin.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.api.tasks.compile.JavaCompile
import org.gradle.kotlin.dsl.*
import ru.endlesscode.bukkitgradle.dependencies.Dependencies
import ru.endlesscode.bukkitgradle.meta.PluginMetaPlugin
import ru.endlesscode.bukkitgradle.meta.extension.PluginMetaImpl
import ru.endlesscode.bukkitgradle.meta.util.MinecraftVersion
import ru.endlesscode.bukkitgradle.meta.util.StringUtils
import ru.endlesscode.bukkitgradle.meta.util.parsedApiVersion
import ru.endlesscode.bukkitgradle.meta.util.resolveMinimalJavaVersion
import ru.endlesscode.bukkitgradle.plugin.PluginConfigurationPlugin
import ru.endlesscode.bukkitgradle.plugin.extension.PluginConfigurationImpl
import ru.endlesscode.bukkitgradle.plugin.util.MinecraftVersion
import ru.endlesscode.bukkitgradle.plugin.util.StringUtils
import ru.endlesscode.bukkitgradle.plugin.util.parsedApiVersion
import ru.endlesscode.bukkitgradle.plugin.util.resolveMinimalJavaVersion
import ru.endlesscode.bukkitgradle.server.DevServerPlugin
import ru.endlesscode.bukkitgradle.server.extension.ServerConfigurationImpl

Expand All @@ -30,11 +30,11 @@ public class BukkitGradlePlugin : Plugin<Project> {

/** Adds needed plugins. */
private fun Project.addPlugins() {
val bukkit = extensions.create<BukkitExtension>("bukkit", configurePluginMeta(), ServerConfigurationImpl())
val bukkit = extensions.create<BukkitExtension>("bukkit", createPluginConfiguration(), ServerConfigurationImpl())

with(plugins) {
apply("java")
apply<PluginMetaPlugin>()
apply<PluginConfigurationPlugin>()
apply<DevServerPlugin>()
}

Expand All @@ -45,8 +45,8 @@ public class BukkitGradlePlugin : Plugin<Project> {
}
}

private fun Project.configurePluginMeta(): PluginMetaImpl {
return PluginMetaImpl(objects).apply {
private fun Project.createPluginConfiguration(): PluginConfigurationImpl {
return PluginConfigurationImpl(objects).apply {
name.convention(project.name)
description.convention(provider { project.description })
main.convention(name.map { "${project.group}.${StringUtils.toPascalCase(it)}" })
Expand Down
4 changes: 2 additions & 2 deletions src/main/kotlin/dependencies/Dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import org.gradle.kotlin.dsl.KotlinClosure0
import org.gradle.kotlin.dsl.extra
import org.gradle.kotlin.dsl.maven
import ru.endlesscode.bukkitgradle.bukkit
import ru.endlesscode.bukkitgradle.meta.util.MinecraftVersion
import ru.endlesscode.bukkitgradle.meta.util.parsedApiVersion
import ru.endlesscode.bukkitgradle.plugin.util.MinecraftVersion
import ru.endlesscode.bukkitgradle.plugin.util.parsedApiVersion

private typealias RepositoryClosure = Closure<MavenArtifactRepository>

Expand Down
8 changes: 8 additions & 0 deletions src/main/kotlin/extensions/Accessors.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package ru.endlesscode.bukkitgradle.extensions

import org.gradle.api.Project
import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.kotlin.dsl.the

internal val Project.java: JavaPluginExtension
get() = the()
73 changes: 0 additions & 73 deletions src/main/kotlin/meta/PluginMetaPlugin.kt

This file was deleted.

65 changes: 0 additions & 65 deletions src/main/kotlin/meta/task/MergePluginMeta.kt

This file was deleted.

64 changes: 0 additions & 64 deletions src/main/kotlin/meta/task/ParsePluginMetaFile.kt

This file was deleted.

Loading