diff --git a/.github/workflows/test-push.yml b/.github/workflows/test-push.yml deleted file mode 100644 index 93cfb7ab..00000000 --- a/.github/workflows/test-push.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Run Tests -on: [push, pull_request] -jobs: - build: - strategy: - fail-fast: false - matrix: - gradle: [4.9, 4.10.2, 6.8.3] - java: [jdk8, jdk11, jdk15] - exclude: # Dont run older gradle versions on newer java - - java: jdk15 - gradle: 4.9 - - java: jdk15 - gradle: 4.10.2 - - java: jdk11 - gradle: 4.9 - - java: jdk11 - gradle: 4.10.2 - runs-on: ubuntu-20.04 - container: - image: gradle:${{ matrix.gradle }}-${{ matrix.java }} - options: --user root - steps: - - uses: actions/checkout@v2 - - uses: gradle/wrapper-validation-action@v1 - - run: gradle build check -x test --stacktrace - - # This job is used to feed the test matrix of next job to allow the tests to run in parallel - prepare_test_matrix: - # Lets wait to ensure it builds before going running tests - needs: build - - runs-on: ubuntu-20.04 - container: - image: gradle:6.8.3-jdk15 - options: --user root - - steps: - - uses: actions/checkout@v2 - - run: gradle writeActionsTestMatrix --stacktrace - - - id: set-matrix - run: echo "::set-output name=matrix::$(cat build/test_matrix.json)" - - outputs: - matrix: ${{ steps.set-matrix.outputs.matrix }} - - run_tests: - needs: prepare_test_matrix - - strategy: - fail-fast: false - matrix: - java: [jdk8, jdk11, jdk15] - test: ${{ fromJson(needs.prepare_test_matrix.outputs.matrix) }} - - runs-on: ubuntu-20.04 - container: - image: gradle:6.8.3-${{ matrix.java }} - options: --user root - - steps: - - uses: actions/checkout@v2 - - run: gradle test --tests ${{ matrix.test }} --stacktrace - env: - TEST_WARNING_MODE: fail - - - uses: actions/upload-artifact@v2 - if: ${{ failure() }} - with: - name: ${{ matrix.test }} (${{ matrix.java }}) Results - path: build/reports/ - - # Special case this test to run across all os's - reproducible_build_test: - needs: build - - strategy: - fail-fast: false - matrix: - java: [ 1.8, 11, 15 ] - os: [ windows-2019, ubuntu-20.04, macos-10.15 ] - - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-java@v1 - with: - java-version: ${{ matrix.java }} - - - run: ./gradlew test --tests *ReproducibleBuildTest --stacktrace - - - uses: actions/upload-artifact@v2 - if: ${{ failure() }} - with: - name: Reproducible Build ${{ matrix.os }} (${{ matrix.java }}) Results - path: build/reports/ \ No newline at end of file diff --git a/src/main/java/net/fabricmc/loom/build/nesting/EmptyNestedJarProvider.java b/src/main/java/net/fabricmc/loom/build/nesting/EmptyNestedJarProvider.java new file mode 100644 index 00000000..df9f7cab --- /dev/null +++ b/src/main/java/net/fabricmc/loom/build/nesting/EmptyNestedJarProvider.java @@ -0,0 +1,14 @@ +package net.fabricmc.loom.build.nesting; + +import java.io.File; +import java.util.Collection; +import java.util.Collections; + +public enum EmptyNestedJarProvider implements NestedJarProvider { + INSTANCE; + + @Override + public Collection provide() { + return Collections.emptyList(); + } +} diff --git a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java index ebc8059b..078a777d 100644 --- a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java @@ -99,8 +99,10 @@ public final class CompileConfiguration { extendsFrom(Constants.Configurations.MINECRAFT_DEPENDENCIES, Constants.Configurations.FORGE_DEPENDENCIES, project); } - Configuration includeConfig = project.getConfigurations().maybeCreate(Constants.Configurations.INCLUDE); - includeConfig.setTransitive(false); // Dont get transitive deps + if (!project.getExtensions().getByType(LoomGradleExtension.class).isForge()) { + Configuration includeConfig = project.getConfigurations().maybeCreate(Constants.Configurations.INCLUDE); + includeConfig.setTransitive(false); // Dont get transitive deps + } project.getConfigurations().maybeCreate(Constants.Configurations.MAPPING_CONSTANTS); extendsFrom(JavaPlugin.COMPILE_ONLY_CONFIGURATION_NAME, Constants.Configurations.MAPPING_CONSTANTS, project); diff --git a/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java index b21faa63..e4044a68 100644 --- a/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java @@ -95,7 +95,7 @@ public class RemapConfiguration { // TODO this might be wrong? project.getTasks().withType(RemapJarTask.class).forEach(task -> { - if (task.getAddNestedDependencies().getOrElse(false)) { + if (!extension.isForge() && task.getAddNestedDependencies().getOrElse(false)) { NestedDependencyProvider.getRequiredTasks(project).forEach(task::dependsOn); } }); diff --git a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java index b8785091..6cb2a043 100644 --- a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java +++ b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java @@ -71,6 +71,7 @@ import org.zeroturnaround.zip.ZipUtil; import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.build.JarRemapper; import net.fabricmc.loom.build.MixinRefmapHelper; +import net.fabricmc.loom.build.nesting.EmptyNestedJarProvider; import net.fabricmc.loom.build.nesting.NestedJarPathProvider; import net.fabricmc.loom.build.nesting.JarNester; import net.fabricmc.loom.build.nesting.MergedNestedJarProvider; @@ -329,6 +330,10 @@ public class RemapJarTask extends Jar { } private NestedJarProvider getNestedJarProvider() { + if (getProject().getExtensions().getByType(LoomGradleExtension.class).isForge()) { + return EmptyNestedJarProvider.INSTANCE; + } + Configuration includeConfiguration = getProject().getConfigurations().getByName(Constants.Configurations.INCLUDE); if (!addDefaultNestedDependencies.getOrElse(true)) {