From b987b4e71156a6046f671f1dcc4c016480535699 Mon Sep 17 00:00:00 2001 From: modmuss Date: Thu, 23 Nov 2023 22:36:57 +0000 Subject: [PATCH] Always use unix line endings on windows (#986) * Always use unix line endings on windows * Also run checks on windows. * Fix binary files :) --- .gitattributes | 40 +------------------ .github/workflows/test-push.yml | 12 ++++++ build.gradle | 2 + .../integration/ReproducibleBuildTest.groovy | 12 ++---- 4 files changed, 19 insertions(+), 47 deletions(-) diff --git a/.gitattributes b/.gitattributes index 36452a5b0..0f09d3260 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,38 +1,2 @@ -# Handle line endings automatically for files detected as text -# and leave all files detected as binary untouched. -* text=auto - -*.patch text eol=lf - -# -# The above will handle all files NOT found below -# -# These files are text and should be normalized (Convert crlf => lf) -*.css text -*.df text -*.htm text -*.html text -*.java text -*.js text -*.json text -*.jsp text -*.jspf text -*.properties text -*.sh text -*.tld text -*.txt text -*.xml text - -# These files are binary and should be left untouched -# (binary is a macro for -text -diff) -*.class binary -*.dll binary -*.ear binary -*.gif binary -*.ico binary -*.jar binary -*.jpg binary -*.jpeg binary -*.png binary -*.so binary -*.war binary +* text=auto eol=lf +*.bat text eol=crlf \ No newline at end of file diff --git a/.github/workflows/test-push.yml b/.github/workflows/test-push.yml index 919565614..fad299cd5 100644 --- a/.github/workflows/test-push.yml +++ b/.github/workflows/test-push.yml @@ -20,6 +20,18 @@ jobs: - uses: gradle/wrapper-validation-action@v1 - run: gradle build check -x test --stacktrace --warning-mode fail + build_windows: + runs-on: windows-2022 + steps: + - uses: actions/checkout@v3 + - name: setup jdk + uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: 'temurin' + - uses: gradle/wrapper-validation-action@v1 + - run: ./gradlew build check -x test --stacktrace --warning-mode fail + # 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 diff --git a/build.gradle b/build.gradle index 54a7c7d35..d7cf37194 100644 --- a/build.gradle +++ b/build.gradle @@ -215,6 +215,8 @@ java { } spotless { + lineEndings = com.diffplug.spotless.LineEnding.UNIX + java { licenseHeaderFile(rootProject.file("HEADER")).yearSeparator("-") targetExclude("**/loom/util/DownloadUtil.java") diff --git a/src/test/groovy/net/fabricmc/loom/test/integration/ReproducibleBuildTest.groovy b/src/test/groovy/net/fabricmc/loom/test/integration/ReproducibleBuildTest.groovy index 4c51170d1..2ebf37303 100644 --- a/src/test/groovy/net/fabricmc/loom/test/integration/ReproducibleBuildTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/integration/ReproducibleBuildTest.groovy @@ -51,18 +51,12 @@ class ReproducibleBuildTest extends Specification implements GradleProjectTestTr then: result.task(":build").outcome == SUCCESS generateMD5(gradle.getOutputFile("fabric-example-mod-1.0.0.jar")) == modHash - generateMD5(gradle.getOutputFile("fabric-example-mod-1.0.0-sources.jar")) in sourceHash // Done for different line endings. + generateMD5(gradle.getOutputFile("fabric-example-mod-1.0.0-sources.jar")) == sourceHash where: version | modHash | sourceHash - DEFAULT_GRADLE | "207bd75aa34fc996a97e962dd98b61d5" | [ - "8e8fac2a5e32fc872e6cf0f9ccc55cfd", - "ed331b6fae5677797a0104eba014e255" - ] - PRE_RELEASE_GRADLE | "207bd75aa34fc996a97e962dd98b61d5" | [ - "8e8fac2a5e32fc872e6cf0f9ccc55cfd", - "ed331b6fae5677797a0104eba014e255" - ] + DEFAULT_GRADLE | "207bd75aa34fc996a97e962dd98b61d5" | "8e8fac2a5e32fc872e6cf0f9ccc55cfd" + PRE_RELEASE_GRADLE | "207bd75aa34fc996a97e962dd98b61d5" | "8e8fac2a5e32fc872e6cf0f9ccc55cfd" } String generateMD5(File file) {