Skip to content

Commit 798759c

Browse files
committed
fix: Update PaperMC groupId and repository URL
Fixes #60
1 parent e17138a commit 798759c

File tree

6 files changed

+40
-13
lines changed

6 files changed

+40
-13
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212

1313
### Fixed
1414

15+
- Fix PaperMC repository URL
16+
- Fix group ID for PaperMC 1.17+
1517
- Fix compatibility with new versions of Shadow plugin
1618

1719
### Housekeeping

README.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ dependencies {
167167
----------------|-------------------------------------------------------------------
168168
spigot | https://hub.spigotmc.org/nexus/content/repositories/snapshots/
169169
sk98q | https://maven.sk89q.com/repo/
170-
papermc | https://papermc.io/repo/repository/maven-public/
170+
papermc | https://repo.papermc.io/repository/maven-public/
171171
dmulloy2 | https://repo.dmulloy2.net/nexus/repository/public/
172172
md5 | https://repo.md-5.net/content/groups/public/
173173
jitpack | https://jitpack.io/
@@ -176,14 +176,14 @@ dependencies {
176176
codemc | https://repo.codemc.org/repository/maven-public/
177177

178178
#### Dependencies:
179-
Some dependencies also applies repo needed for them.
180-
181-
Name | Signature | Applies repo
182-
-------------|-----------------------------------------------|---------------
183-
spigot | org.spigotmc:spigot:$apiVersion | mavenLocal
184-
spigotApi | org.spigotmc:spigot-api:$apiVersion | spigot
185-
bukkitApi | org.bukkit:bukkit:$apiVersion | spigot
186-
paperApi | com.destroystokyo.paper:paper-api:$apiVersion | destroystokyo
179+
Some dependencies also add a repository needed for them.
180+
181+
Name | Signature | Adds repository
182+
-------------|----------------------------------------|-----------------
183+
spigot | org.spigotmc:spigot:$apiVersion | mavenLocal
184+
spigotApi | org.spigotmc:spigot-api:$apiVersion | spigot
185+
bukkitApi | org.bukkit:bukkit:$apiVersion | spigot
186+
paperApi | io.papermc.paper:paper-api:$apiVersion | papermc
187187

188188
**Note:** `$apiVersion` - is `${version}-R0.1-SNAPSHOT` (where `$version` is `bukkit.version`)
189189

src/main/kotlin/dependencies/Dependencies.kt

+9-2
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ import org.gradle.kotlin.dsl.closureOf
1212
import org.gradle.kotlin.dsl.extra
1313
import org.gradle.kotlin.dsl.maven
1414
import ru.endlesscode.bukkitgradle.bukkit
15+
import ru.endlesscode.bukkitgradle.meta.util.MinecraftVersion
16+
import ru.endlesscode.bukkitgradle.meta.util.parsedApiVersion
1517

1618
internal object Dependencies {
1719

1820
const val URL_SPIGOT = "https://hub.spigotmc.org/nexus/content/repositories/snapshots/"
1921
const val URL_SK89Q = "https://maven.sk89q.com/repo/"
20-
const val URL_PAPERMC = "https://papermc.io/repo/repository/maven-public/"
22+
const val URL_PAPERMC = "https://repo.papermc.io/repository/maven-public/"
2123
const val URL_DMULLOY2 = "https://repo.dmulloy2.net/nexus/repository/public/"
2224
const val URL_MD5 = "https://repo.md-5.net/content/groups/public/"
2325
const val URL_JITPACK = "https://jitpack.io/"
@@ -56,7 +58,7 @@ internal object Dependencies {
5658
depExtra["spigot"] = depClosureOf { depHandler.api("org.spigotmc", "spigot", "mavenLocal") }
5759
depExtra["spigotApi"] = depClosureOf { depHandler.api("org.spigotmc", "spigot-api", "spigot") }
5860
depExtra["bukkitApi"] = depClosureOf { depHandler.api("org.bukkit", "bukkit", "spigot") }
59-
depExtra["paperApi"] = depClosureOf { depHandler.api("com.destroystokyo.paper", "paper-api", "papermc") }
61+
depExtra["paperApi"] = depClosureOf { depHandler.api(resolvePaperGroupId(), "paper-api", "papermc") }
6062
}
6163

6264
fun RepositoryHandler.addRepo(
@@ -88,5 +90,10 @@ internal object Dependencies {
8890
return "$groupId:$artifactId:$version"
8991
}
9092

93+
internal fun resolvePaperGroupId(): String {
94+
val useNewGroup = project.bukkit.parsedApiVersion >= MinecraftVersion.V1_17_0
95+
return if (useNewGroup) "io.papermc.paper" else "com.destroystokyo.paper"
96+
}
97+
9198
private fun depClosureOf(body: () -> String) = KotlinClosure0(body)
9299
}

src/main/kotlin/dependencies/DependenciesExtensions.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import ru.endlesscode.bukkitgradle.dependencies.Dependencies.URL_SK89Q
1414
import ru.endlesscode.bukkitgradle.dependencies.Dependencies.URL_SPIGOT
1515
import ru.endlesscode.bukkitgradle.dependencies.Dependencies.addRepo
1616
import ru.endlesscode.bukkitgradle.dependencies.Dependencies.api
17+
import ru.endlesscode.bukkitgradle.dependencies.Dependencies.resolvePaperGroupId
1718

1819
public fun RepositoryHandler.spigot(configure: MavenArtifactRepository.() -> Unit = {}) {
1920
addRepo("Spigot", URL_SPIGOT, configure)
@@ -61,4 +62,4 @@ public val DependencyHandler.bukkitApi: String
6162
get() = api("org.bukkit", "bukkit", "spigot")
6263

6364
public val DependencyHandler.paperApi: String
64-
get() = api("com.destroystokyo.paper", "paper-api", "papermc")
65+
get() = api(resolvePaperGroupId(), "paper-api", "papermc")

src/main/kotlin/meta/util/MinecraftVersion.kt

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ internal value class MinecraftVersion(private val value: Int) : Comparable<Minec
2424
val V1_12_0 = MinecraftVersion(1_12_00)
2525
val V1_13_0 = MinecraftVersion(1_13_00)
2626
val V1_16_5 = MinecraftVersion(1_16_05)
27+
val V1_17_0 = MinecraftVersion(1_17_00)
2728
val V1_17_1 = MinecraftVersion(1_17_01)
2829
val V1_20_5 = MinecraftVersion(1_20_05)
2930
}

src/test/groovy/ru/endlesscode/bukkitgradle/BukkitGradlePluginSpec.groovy

+17-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class BukkitGradlePluginSpec extends PluginSpecification {
1313
}
1414

1515
def "when initialized - should set default JVM toolchain"(String apiVersion, int jvmVersion) {
16-
when: "apiVersion is set to $apiVersion"
16+
when: "apiVersion is set"
1717
project.bukkit.apiVersion = apiVersion
1818

1919
then: "JVM toolchain version should be"
@@ -45,6 +45,22 @@ class BukkitGradlePluginSpec extends PluginSpecification {
4545
dependency == 'org.bukkit:bukkit:1.16.4-R0.1-SNAPSHOT'
4646
}
4747

48+
def "when using paper extension - should add paper dependency"(String apiVersion, String groupId) {
49+
when: "apiVersion is set"
50+
project.bukkit.apiVersion = apiVersion
51+
52+
and: "use paperApi extension"
53+
String dependency = project.dependencies.paperApi()
54+
55+
then: "returns paper dependency with right groupId"
56+
dependency == "$groupId:paper-api:$apiVersion-R0.1-SNAPSHOT"
57+
58+
where:
59+
apiVersion | groupId
60+
"1.16.5" | "com.destroystokyo.paper"
61+
"1.17" | "io.papermc.paper"
62+
}
63+
4864
def "when use bukkit extension - and bukkit version set - should return bukkit with specified version"() {
4965
given: "api version specified"
5066
project.bukkit.apiVersion = "1.7.10"

0 commit comments

Comments
 (0)