-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathBukkitExtension.kt
More file actions
52 lines (43 loc) · 1.76 KB
/
BukkitExtension.kt
File metadata and controls
52 lines (43 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package ru.endlesscode.bukkitgradle
import org.gradle.api.Action
import org.gradle.api.model.ObjectFactory
import org.gradle.api.provider.Property
import org.gradle.api.provider.ProviderFactory
import org.gradle.kotlin.dsl.property
import ru.endlesscode.bukkitgradle.extensions.finalizeAndGet
import ru.endlesscode.bukkitgradle.plugin.plugin
import ru.endlesscode.bukkitgradle.plugin.util.MinecraftVersion
import ru.endlesscode.bukkitgradle.server.extension.ServerConfigurationImpl
import xyz.jpenilla.resourcefactory.bukkit.BukkitPluginYaml
public open class BukkitExtension internal constructor(
public final override val server: ServerConfigurationImpl,
objects: ObjectFactory,
providers: ProviderFactory,
) : Bukkit {
override val generatePluginYaml: Property<Boolean> = objects.property<Boolean>()
.convention(true)
public final override val apiVersion: Property<String> = objects.property<String>()
internal val finalApiVersion = providers.provider {
check(apiVersion.isPresent) { "Please, set 'bukkit.apiVersion' property." }
apiVersion.finalizeAndGet()
}
internal val parsedApiVersion = finalApiVersion.map(MinecraftVersion::parse)
public fun server(body: Action<ServerConfigurationImpl>) {
body.execute(server)
}
@Deprecated("Use 'plugin' instead", ReplaceWith("plugin(body)"))
public fun meta(body: Action<BukkitPluginYaml>) {
body.execute(plugin)
}
/** Disables plugin.yml generation. */
@Deprecated(
"Use 'generatePluginYaml.set(false)' instead",
ReplaceWith("generatePluginYaml.set(false)")
)
public fun disableMetaGeneration() {
generatePluginYaml.set(false)
}
public companion object {
public const val NAME: String = "bukkit"
}
}