diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 85233079..f0098682 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -1,45 +1,47 @@ name: Build Pull Request -on: [ pull_request ] +on: [pull_request] jobs: build: - runs-on: ubuntu-latest steps: - - name: Checkout repository and submodules + - name: Checkout repository uses: actions/checkout@v4 with: - submodules: recursive + fetch-depth: 0 # Fetch all history for git describe - name: Set up JDK 17 - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' cache: 'gradle' - - name: Build with Maven + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + + - name: Build run: ./gradlew build - - name: Archive artifacts (Floodgate Bungee) + - name: Archive artifacts (Connect Bungee) uses: actions/upload-artifact@v4 if: success() with: - name: Floodgate Bungee + name: Connect Bungee path: bungee/build/libs/connect-bungee.jar - - name: Archive artifacts (Floodgate Spigot) + - name: Archive artifacts (Connect Spigot) uses: actions/upload-artifact@v4 if: success() with: - name: Floodgate Spigot + name: Connect Spigot path: spigot/build/libs/connect-spigot.jar - - name: Archive artifacts (Floodgate Velocity) + - name: Archive artifacts (Connect Velocity) uses: actions/upload-artifact@v4 if: success() with: - name: Floodgate Velocity + name: Connect Velocity path: velocity/build/libs/connect-velocity.jar diff --git a/build-logic/src/main/kotlin/extensions.kt b/build-logic/src/main/kotlin/extensions.kt index 2f9f1bf9..08cb34b2 100644 --- a/build-logic/src/main/kotlin/extensions.kt +++ b/build-logic/src/main/kotlin/extensions.kt @@ -25,6 +25,7 @@ import net.kyori.indra.git.IndraGitExtension import org.gradle.api.Project +import org.gradle.api.artifacts.ExternalModuleDependency import org.gradle.api.artifacts.ProjectDependency import org.gradle.kotlin.dsl.the import java.io.ByteArrayOutputStream @@ -138,13 +139,16 @@ fun Project.buildNumberAsString(): String = val providedDependencies = mutableMapOf>>() val relocatedPackages = mutableMapOf>() -fun Project.provided(pattern: String, name: String, version: String, excludedOn: Int = 0b110) { +fun Project.provided(pattern: String, name: String, version: String, excludedOn: Int = 0b110, includeTransitiveDeps: Boolean = true) { val format = "${calcExclusion(pattern, 0b100, excludedOn)}:" + "${calcExclusion(name, 0b10, excludedOn)}:" + calcExclusion(version, 0b1, excludedOn) providedDependencies.getOrPut(project.name) { mutableSetOf() }.add(Pair(format, format)) - dependencies.add("compileOnlyApi", "$pattern:$name:$version") + val dep = dependencies.add("compileOnlyApi", "$pattern:$name:$version") + if (dep is ExternalModuleDependency) { + dep.isTransitive = includeTransitiveDeps + } } fun Project.provided(dependency: ProjectDependency) { diff --git a/bungee/build.gradle.kts b/bungee/build.gradle.kts index a5cc23e9..04b866e0 100644 --- a/bungee/build.gradle.kts +++ b/bungee/build.gradle.kts @@ -1,4 +1,5 @@ -var bungeeVersion = "1.21-R0.1-SNAPSHOT" +var bungeeProxyVersion = "1.21-R0.1-SNAPSHOT" +var bungeeApiVersion = "1.21-R0.1" var gsonVersion = "2.8.0" var guavaVersion = "21.0" @@ -17,6 +18,7 @@ relocate("io.leangen.geantyref") relocate("org.yaml") // these dependencies are already present on the platform -provided("net.md-5", "bungeecord-proxy", bungeeVersion) +provided("net.md-5", "bungeecord-proxy", bungeeProxyVersion, includeTransitiveDeps = false) +provided("net.md-5", "bungeecord-api", bungeeApiVersion) provided("com.google.code.gson", "gson", gsonVersion) provided("com.google.guava", "guava", guavaVersion)