Skip to content

Commit 5e645d7

Browse files
authored
Merge pull request #50 from EndlessCodeGroup/feature/remove_scripts
Remove scripts
2 parents eb92394 + c8da540 commit 5e645d7

22 files changed

+136
-351
lines changed

CHANGELOG.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,16 @@ The plugin has been converted to Kotlin to make support easier.
4242
The plugin still can be configured with Groovy DSL but
4343
now it is friendly to Kotlin DSL.
4444

45-
### Added
46-
- Configuration avoidance and build cache for task `generateMetaData`
47-
4845
### Removed
4946
- Task `:rebuildServerCore`, use `:buildServerCore --rerun-tasks` instead
5047
- Extension `DependencyHandler.craftbukkit()`, use `DependencyHandler.spigot()` instead
5148
- Automatic `mavenLocal()` apply, you should apply it manually if you need it
5249

50+
### Changed
51+
- Add `nogui` argument by default to `bukkitArgs`
52+
- Type of properties `server.jvmArgs` and `server.bukkitArgs` changed from `String` to `List<String>`.
53+
It makes it easier to add arguments without overriding defaults
54+
5355
### Housekeeping
5456
- Default bukkit version now is 1.16.4
5557
- Update Gradle to 6.7.1

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,9 +227,9 @@ bukkit {
227227
// Set server encoding (flag -Dfile.encoding)
228228
encoding = "UTF-8"
229229
// JVM arguments
230-
javaArgs = "-Xmx1G"
230+
javaArgs("-Xmx1G")
231231
// Bukkit arguments
232-
bukkitArgs = ""
232+
bukkitArgs("nogui")
233233
}
234234
}
235235
```

build.gradle.kts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
plugins {
22
`kotlin-dsl`
3+
`maven-publish`
4+
groovy
35
kotlin("jvm") version "1.4.21"
4-
id("groovy")
5-
id("maven-publish")
66
id("com.gradle.plugin-publish") version "0.12.0"
77
id("com.github.ben-manes.versions") version "0.36.0"
88
}
99

1010
java {
1111
sourceCompatibility = JavaVersion.VERSION_1_8
1212
targetCompatibility = JavaVersion.VERSION_1_8
13+
withSourcesJar()
1314
}
1415

1516
kotlin {
1617
explicitApi()
1718
}
1819

19-
tasks.test {
20+
tasks.test.configure {
2021
useJUnitPlatform()
2122
}
2223

src/main/kotlin/BukkitExtension.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import groovy.lang.Closure
44
import org.gradle.api.Project
55
import org.gradle.kotlin.dsl.getByType
66
import org.gradle.util.ConfigureUtil
7+
import org.slf4j.LoggerFactory
8+
import ru.endlesscode.bukkitgradle.extensions.warnSyntaxChanged
79
import ru.endlesscode.bukkitgradle.meta.extension.PluginMetaImpl
810
import ru.endlesscode.bukkitgradle.server.ServerConstants
911
import ru.endlesscode.bukkitgradle.server.extension.ServerConfigurationImpl
@@ -16,12 +18,18 @@ public open class BukkitExtension(
1618

1719
public override var apiVersion: String = ServerConstants.DEFAULT_VERSION
1820

21+
private val logger = LoggerFactory.getLogger("BukkitExtension")
22+
1923
@Deprecated("Use 'server' instead", ReplaceWith("server"))
2024
public val run: ServerConfigurationImpl
21-
get() = server
25+
get() {
26+
logger.warnSyntaxChanged("bukkit.run", "bukkit.server")
27+
return server
28+
}
2229

2330
@Deprecated("Use 'server { ... }' instead", ReplaceWith("server(body)"))
2431
public fun run(body: Closure<out ServerConfigurationImpl>) {
32+
logger.warnSyntaxChanged("bukkit.run { ... }", "bukkit.server { ... }")
2533
ConfigureUtil.configure(body, server)
2634
}
2735

@@ -43,6 +51,7 @@ public open class BukkitExtension(
4351

4452
@Deprecated("Use apiVersion instead of version.", ReplaceWith("apiVersion = version"))
4553
public fun setVersion(version: String) {
54+
logger.warnSyntaxChanged("bukkit.version = '...'", "bukkit.apiVersion = '...'")
4655
apiVersion = version
4756
}
4857
}

src/main/kotlin/dependencies/Dependencies.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ internal object Dependencies {
4747
repoExtra["dmulloy2"] = closureOf<Any?> { repoHandler.addRepo("dmulloy2", URL_DMULLOY2) }
4848
repoExtra["md5"] = closureOf<Any?> { repoHandler.addRepo("md5", URL_MD5) }
4949
repoExtra["vault"] = closureOf<Any?> { repoHandler.addRepo("Vault", URL_VAULT) }
50-
repoExtra["placeholderApi"] = closureOf<Any?> { repoHandler.addRepo("PlaceholderAPI", URL_PLACEHOLDERAPI) }
50+
repoExtra["placeholderapi"] = closureOf<Any?> { repoHandler.addRepo("PlaceholderAPI", URL_PLACEHOLDERAPI) }
5151
repoExtra["aikar"] = closureOf<Any?> { repoHandler.addRepo("aikar", URL_AIKAR) }
5252

5353
val depExtra = depHandler.extra

src/main/kotlin/dependencies/DependenciesExtensions.kt

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,14 @@ public fun RepositoryHandler.aikar(configure: MavenArtifactRepository.() -> Unit
4646
addRepo("aikar", URL_AIKAR, configure)
4747
}
4848

49-
public fun DependencyHandler.spigot(): String {
50-
return api("org.spigotmc", "spigot", "mavenLocal")
51-
}
52-
public fun DependencyHandler.spigotApi(): String {
53-
return api("org.spigotmc", "spigot-api", "spigot")
54-
}
55-
public fun DependencyHandler.bukkit(): String {
56-
return api("org.bukkit", "bukkit", "spigot")
57-
}
58-
public fun DependencyHandler.paperApi(): String {
59-
return api("com.destroystokyo.paper", "paper-api", "papermc")
60-
}
49+
public val DependencyHandler.spigot: String
50+
get() = api("org.spigotmc", "spigot", "mavenLocal")
51+
52+
public val DependencyHandler.spigotApi: String
53+
get() = api("org.spigotmc", "spigot-api", "spigot")
54+
55+
public val DependencyHandler.bukkit: String
56+
get() = api("org.bukkit", "bukkit", "spigot")
57+
58+
public val DependencyHandler.paperApi: String
59+
get() = api("com.destroystokyo.paper", "paper-api", "papermc")
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package ru.endlesscode.bukkitgradle.extensions
2+
3+
import org.slf4j.Logger
4+
5+
internal fun Logger.warnSyntaxChanged(oldSyntax: String, newSyntax: String) {
6+
warn(
7+
"""
8+
Syntax $oldSyntax is deprecated and will be removed in 1.0
9+
Replace it with: $newSyntax
10+
""".trimIndent()
11+
)
12+
}

src/main/kotlin/meta/extension/PluginMetaImpl.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import org.gradle.api.provider.ListProperty
55
import org.gradle.api.provider.Property
66
import org.gradle.kotlin.dsl.listProperty
77
import org.gradle.kotlin.dsl.property
8+
import org.slf4j.LoggerFactory
9+
import ru.endlesscode.bukkitgradle.extensions.warnSyntaxChanged
810

911
// TODO 1.0: Remove deprecated methods
1012
public class PluginMetaImpl(objects: ObjectFactory) : PluginMeta {
@@ -16,33 +18,41 @@ public class PluginMetaImpl(objects: ObjectFactory) : PluginMeta {
1618
override val url: Property<String> = objects.property()
1719
override val authors: ListProperty<String> = objects.listProperty()
1820

21+
private val logger = LoggerFactory.getLogger("PluginMeta")
22+
1923
@Deprecated("Use property syntax instead", ReplaceWith("this.name.set(name)"))
2024
public fun setName(name: String) {
25+
logger.warnSyntaxChanged("bukkit.meta.name = '...'", "bukkit.meta.name.set('...')")
2126
this.name.set(name)
2227
}
2328

2429
@Deprecated("Use property syntax instead", ReplaceWith("this.description.set(description)"))
2530
public fun setDescription(description: String) {
31+
logger.warnSyntaxChanged("bukkit.meta.description = '...'", "bukkit.meta.description.set('...')")
2632
this.description.set(description)
2733
}
2834

2935
@Deprecated("Use property syntax instead", ReplaceWith("this.main.set(main)"))
3036
public fun setMain(main: String) {
37+
logger.warnSyntaxChanged("bukkit.meta.main = '...'", "bukkit.meta.main.set('...')")
3138
this.main.set(main)
3239
}
3340

3441
@Deprecated("Use property syntax instead", ReplaceWith("this.version.set(version)"))
3542
public fun setVersion(version: String) {
43+
logger.warnSyntaxChanged("bukkit.meta.version = '...'", "bukkit.meta.version.set('...')")
3644
this.version.set(version)
3745
}
3846

3947
@Deprecated("Use property syntax instead", ReplaceWith("this.url.set(url)"))
4048
public fun setUrl(url: String) {
49+
logger.warnSyntaxChanged("bukkit.meta.url = '...'", "bukkit.meta.url.set('...')")
4150
this.url.set(url)
4251
}
4352

4453
@Deprecated("Use property syntax instead", ReplaceWith("this.authors.set(authors)"))
4554
public fun setAuthors(authors: List<String>) {
55+
logger.warnSyntaxChanged("bukkit.meta.authors = [...]", "bukkit.meta.authors.set([...])")
4656
this.authors.set(authors)
4757
}
4858

src/main/kotlin/server/DevServerPlugin.kt

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,16 @@ public class DevServerPlugin : Plugin<Project> {
5353
val downloadPaperclip = registerDownloadPaperclip(coreVersion)
5454
val copyServerCore = registerCopyServerCoreTask(buildServerCore, downloadPaperclip, serverDir)
5555

56-
val generateRunningScript = registerGenerateRunningScriptTask(serverDir)
5756
val prepareServer = registerPrepareServerTask(copyServerCore, serverDir)
58-
registerRunServerTask(generateRunningScript, prepareServer)
57+
registerRunServerTask(prepareServer, serverDir)
5958

6059
registerBuildIdeRunTask(serverDir)
6160
}
6261

63-
private fun registerBuildServerCoreTask(buildToolsDir: Provider<File>, coreVersion: Provider<String>): TaskProvider<BuildServerCore> {
62+
private fun registerBuildServerCoreTask(
63+
buildToolsDir: Provider<File>,
64+
coreVersion: Provider<String>
65+
): TaskProvider<BuildServerCore> {
6466
val downloadBuildTools = tasks.register<Download>("downloadBuildTools") {
6567
group = TASKS_GROUP_BUKKIT
6668
description = "Download BuildTools"
@@ -95,14 +97,6 @@ public class DevServerPlugin : Plugin<Project> {
9597
}
9698
}
9799

98-
private fun registerGenerateRunningScriptTask(serverDir: Provider<Directory>): TaskProvider<GenerateRunningScript> {
99-
return project.tasks.register<GenerateRunningScript>("generateRunningScript") {
100-
jvmArgs.set(serverConfiguration.buildJvmArgs())
101-
bukkitArgs.set(serverConfiguration.bukkitArgs)
102-
scriptDir.set(serverDir)
103-
}
104-
}
105-
106100
private fun registerCopyServerCoreTask(
107101
buildServerCore: TaskProvider<BuildServerCore>,
108102
downloadPaperclip: TaskProvider<DownloadPaperclip>,
@@ -148,11 +142,13 @@ public class DevServerPlugin : Plugin<Project> {
148142
}
149143

150144
private fun registerRunServerTask(
151-
generateRunningScript: TaskProvider<GenerateRunningScript>,
152-
prepareServer: TaskProvider<PrepareServer>
145+
prepareServer: TaskProvider<PrepareServer>,
146+
serverDir: Provider<Directory>
153147
) {
154148
tasks.register<RunServer>("runServer") {
155-
scriptFile.set(generateRunningScript.map { it.scriptFile.get().asFile })
149+
workingDir(serverDir)
150+
jvmArgs = serverConfiguration.buildJvmArgs()
151+
bukkitArgs = serverConfiguration.bukkitArgs
156152
dependsOn(prepareServer)
157153
}
158154
}
@@ -161,6 +157,8 @@ public class DevServerPlugin : Plugin<Project> {
161157
tasks.register<CreateIdeaJarRunConfiguration>("buildIdeaRun") {
162158
configurationName.set("${project.name}: Run server")
163159
beforeRunTask.set("prepareServer")
160+
vmParameters.set(serverConfiguration.buildJvmArgs(debug = false))
161+
programParameters.set(serverConfiguration.bukkitArgs)
164162
configurationsDir.set(project.rootProject.layout.projectDirectory.dir(".idea/runConfigurations"))
165163
jarPath.set(serverDir.map { it.file(ServerConstants.FILE_CORE).asFile })
166164
}

src/main/kotlin/server/extension/ServerConfiguration.kt

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,10 @@ public interface ServerConfiguration {
77
public val onlineMode: Boolean
88
public val debug: Boolean
99
public val encoding: String
10-
public val javaArgs: String
11-
public val bukkitArgs: String
10+
public val javaArgs: List<String>
11+
public val bukkitArgs: List<String>
1212
public val coreType: CoreType
1313

14-
/**
15-
* Sets core from string.
16-
* @see coreType
17-
*/
18-
public fun setCore(core: String)
19-
2014
/** Returns arguments for JVM. */
21-
public fun buildJvmArgs(): String
15+
public fun buildJvmArgs(debug: Boolean = this.debug): List<String>
2216
}

0 commit comments

Comments
 (0)