Skip to content

Commit d9855ef

Browse files
authored
Fix BungeeCord dependency resolution for CI builds (#21)
* Fix BungeeCord dependency resolution for CI builds - Add includeTransitiveDeps parameter to provided() function - Disable transitive deps for bungeecord-proxy (following Floodgate pattern) - Use separate API and proxy dependency versions matching BungeeCord releases - Fixes Sonatype SNAPSHOT repository resolution issues in CI * Update PR workflow with correct naming and modern setup - Rename artifact names from "Floodgate" to "Connect" - Update actions/setup-java from v2 to v4 - Add gradle/actions/setup-gradle@v3 - Add fetch-depth: 0 for git describe versioning
1 parent 21bb8a9 commit d9855ef

File tree

3 files changed

+24
-16
lines changed

3 files changed

+24
-16
lines changed

.github/workflows/pullrequest.yml

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,47 @@
11
name: Build Pull Request
22

3-
on: [ pull_request ]
3+
on: [pull_request]
44

55
jobs:
66
build:
7-
87
runs-on: ubuntu-latest
98

109
steps:
11-
- name: Checkout repository and submodules
10+
- name: Checkout repository
1211
uses: actions/checkout@v4
1312
with:
14-
submodules: recursive
13+
fetch-depth: 0 # Fetch all history for git describe
1514

1615
- name: Set up JDK 17
17-
uses: actions/setup-java@v2
16+
uses: actions/setup-java@v4
1817
with:
1918
distribution: 'temurin'
2019
java-version: '17'
2120
cache: 'gradle'
2221

23-
- name: Build with Maven
22+
- name: Setup Gradle
23+
uses: gradle/actions/setup-gradle@v3
24+
25+
- name: Build
2426
run: ./gradlew build
2527

26-
- name: Archive artifacts (Floodgate Bungee)
28+
- name: Archive artifacts (Connect Bungee)
2729
uses: actions/upload-artifact@v4
2830
if: success()
2931
with:
30-
name: Floodgate Bungee
32+
name: Connect Bungee
3133
path: bungee/build/libs/connect-bungee.jar
3234

33-
- name: Archive artifacts (Floodgate Spigot)
35+
- name: Archive artifacts (Connect Spigot)
3436
uses: actions/upload-artifact@v4
3537
if: success()
3638
with:
37-
name: Floodgate Spigot
39+
name: Connect Spigot
3840
path: spigot/build/libs/connect-spigot.jar
3941

40-
- name: Archive artifacts (Floodgate Velocity)
42+
- name: Archive artifacts (Connect Velocity)
4143
uses: actions/upload-artifact@v4
4244
if: success()
4345
with:
44-
name: Floodgate Velocity
46+
name: Connect Velocity
4547
path: velocity/build/libs/connect-velocity.jar

build-logic/src/main/kotlin/extensions.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
import net.kyori.indra.git.IndraGitExtension
2727
import org.gradle.api.Project
28+
import org.gradle.api.artifacts.ExternalModuleDependency
2829
import org.gradle.api.artifacts.ProjectDependency
2930
import org.gradle.kotlin.dsl.the
3031
import java.io.ByteArrayOutputStream
@@ -138,13 +139,16 @@ fun Project.buildNumberAsString(): String =
138139
val providedDependencies = mutableMapOf<String, MutableSet<Pair<String, Any>>>()
139140
val relocatedPackages = mutableMapOf<String, MutableSet<String>>()
140141

141-
fun Project.provided(pattern: String, name: String, version: String, excludedOn: Int = 0b110) {
142+
fun Project.provided(pattern: String, name: String, version: String, excludedOn: Int = 0b110, includeTransitiveDeps: Boolean = true) {
142143
val format = "${calcExclusion(pattern, 0b100, excludedOn)}:" +
143144
"${calcExclusion(name, 0b10, excludedOn)}:" +
144145
calcExclusion(version, 0b1, excludedOn)
145146

146147
providedDependencies.getOrPut(project.name) { mutableSetOf() }.add(Pair(format, format))
147-
dependencies.add("compileOnlyApi", "$pattern:$name:$version")
148+
val dep = dependencies.add("compileOnlyApi", "$pattern:$name:$version")
149+
if (dep is ExternalModuleDependency) {
150+
dep.isTransitive = includeTransitiveDeps
151+
}
148152
}
149153

150154
fun Project.provided(dependency: ProjectDependency) {

bungee/build.gradle.kts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
var bungeeVersion = "1.21-R0.1-SNAPSHOT"
1+
var bungeeProxyVersion = "1.21-R0.1-SNAPSHOT"
2+
var bungeeApiVersion = "1.21-R0.1"
23
var gsonVersion = "2.8.0"
34
var guavaVersion = "21.0"
45

@@ -17,6 +18,7 @@ relocate("io.leangen.geantyref")
1718
relocate("org.yaml")
1819

1920
// these dependencies are already present on the platform
20-
provided("net.md-5", "bungeecord-proxy", bungeeVersion)
21+
provided("net.md-5", "bungeecord-proxy", bungeeProxyVersion, includeTransitiveDeps = false)
22+
provided("net.md-5", "bungeecord-api", bungeeApiVersion)
2123
provided("com.google.code.gson", "gson", gsonVersion)
2224
provided("com.google.guava", "guava", guavaVersion)

0 commit comments

Comments
 (0)