diff --git a/.github/workflows/test-java-os-mix.yml b/.github/workflows/test-java-os-mix.yml index 5b2e92d..03ffe93 100644 --- a/.github/workflows/test-java-os-mix.yml +++ b/.github/workflows/test-java-os-mix.yml @@ -45,10 +45,23 @@ jobs: distribution: temurin java-version: ${{ matrix.java-version }} - - name: Execute integration test + - name: Execute integration test (Unix) + if: runner.os != 'Windows' run: | cd integration-test/gradle-plugin uname -a ./gradlew --version ./gradlew htmlSanityCheck --scan + - name: Execute integration test (Windows) + if: runner.os == 'Windows' + shell: pwsh + run: | + uname -a + cmd /c "echo off && gradlew.bat --version" + cmd /c "echo off && gradlew.bat info" + cmd /c "echo off && gradlew.bat integrationTestOnly --scan" + + # If we ever need to debug the file system contents + # Get-ChildItem -Recurse -File | Format-Table Name, Length, LastWriteTime + # Get-ChildItem -Recurse -File ./integration-test | Format-Table Name, Length, LastWriteTime diff --git a/build.gradle b/build.gradle index 11d6d0f..b5cfa02 100644 --- a/build.gradle +++ b/build.gradle @@ -180,8 +180,12 @@ tasks.register("integrationTestCliOnly") { workingDir INTEGRATION_TEST_DIRECTORY_CLI file(BUILD_REPORTS_DIRECTORY).mkdirs() String hscScriptFileName = "../../htmlSanityCheck-cli/${Project.DEFAULT_BUILD_DIR_NAME}/install/hsc/bin/hsc" - commandLine System.getProperty("os.name") ==~ /Windows.*/ ? "${hscScriptFileName.replace('/', '\\')}.bat" : hscScriptFileName, - "-r", BUILD_REPORTS_DIRECTORY, "../common/src/test/resources" + String params = "-r ${BUILD_REPORTS_DIRECTORY} ../common/src/test/resources" + if (System.getProperty("os.name") ==~ /Windows.*/) { + commandLine 'cmd', '/c', "echo off && ${hscScriptFileName.replace('/', '\\')}.bat ${params}" + } else { + commandLine 'sh', '-c', "${hscScriptFileName} ${params}" + } } logger.debug "Script output: ${result}" assert testIndex.exists()