From 1b40f8d9cc5ef4e7066b0c1819ae6ce4f7545b2e Mon Sep 17 00:00:00 2001 From: Simon Schiller Date: Sat, 17 Sep 2022 11:43:43 +0200 Subject: [PATCH] Run CI on Windows in addition to Ubuntu (#277) Co-authored-by: James Hamilton --- .github/workflows/continuous_integration.yml | 12 ++++++++++-- .../proguard/gradle/plugin/android/AndroidPlugin.kt | 7 ++++--- .../gradle/plugin/android/ProGuardTransform.kt | 6 +++--- .../tasks/PrepareProguardConfigDirectoryTask.kt | 3 +-- .../gradle/plugin/android/dsl/AaptRulesTest.kt | 2 +- 5 files changed, 19 insertions(+), 11 deletions(-) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index e68ec1ab..e95426df 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -8,7 +8,10 @@ on: - master jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] steps: - uses: actions/checkout@v2 with: @@ -20,4 +23,9 @@ jobs: with: build-root-directory: proguard-main/ wrapper-directory: proguard-main/ - arguments: test :base:testAllJavaVersions :base:jacocoTestReport jar + arguments: test :base:testAllJavaVersions :base:jacocoTestReport jar --info + - name: Publish Test Report + uses: mikepenz/action-junit-report@v3 + if: always() # always run even if the previous step fails + with: + report_paths: '**/build/test-results/test/TEST-*.xml' diff --git a/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/AndroidPlugin.kt b/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/AndroidPlugin.kt index 3231014f..06197071 100644 --- a/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/AndroidPlugin.kt +++ b/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/AndroidPlugin.kt @@ -110,7 +110,8 @@ class AndroidPlugin(private val androidExtension: BaseExtension) : Plugin): List = inputs.flatMap { input -> input.directoryInputs.map { it.file } + input.jarInputs.map { it.file } } + - listOf(File(androidExtension.sdkDirectory, "platforms/${androidExtension.compileSdkVersion}/android.jar")) + + listOf(androidExtension.sdkDirectory.resolve("platforms/${androidExtension.compileSdkVersion}/android.jar")) + androidExtension.libraryRequests.map { - File(androidExtension.sdkDirectory, "platforms/${androidExtension.compileSdkVersion}/optional/${it.name}.jar") + androidExtension.sdkDirectory.resolve("platforms/${androidExtension.compileSdkVersion}/optional/${it.name}.jar") } private fun getAaptRulesFile() = androidExtension.aaptAdditionalParameters diff --git a/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/tasks/PrepareProguardConfigDirectoryTask.kt b/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/tasks/PrepareProguardConfigDirectoryTask.kt index 7e7afe3b..b193abc0 100644 --- a/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/tasks/PrepareProguardConfigDirectoryTask.kt +++ b/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/tasks/PrepareProguardConfigDirectoryTask.kt @@ -1,6 +1,5 @@ package proguard.gradle.plugin.android.tasks -import java.io.File import org.gradle.api.DefaultTask import org.gradle.api.tasks.OutputDirectory import org.gradle.api.tasks.TaskAction @@ -8,7 +7,7 @@ import org.gradle.api.tasks.TaskAction abstract class PrepareProguardConfigDirectoryTask : DefaultTask() { @OutputDirectory - val file = File("${project.buildDir.absolutePath}/intermediates/proguard/configs") + val file = project.buildDir.resolve("intermediates/proguard/configs") @TaskAction fun createDirectory() { diff --git a/gradle-plugin/src/test/kotlin/proguard/gradle/plugin/android/dsl/AaptRulesTest.kt b/gradle-plugin/src/test/kotlin/proguard/gradle/plugin/android/dsl/AaptRulesTest.kt index d9b6dee2..7c7e0de3 100644 --- a/gradle-plugin/src/test/kotlin/proguard/gradle/plugin/android/dsl/AaptRulesTest.kt +++ b/gradle-plugin/src/test/kotlin/proguard/gradle/plugin/android/dsl/AaptRulesTest.kt @@ -83,7 +83,7 @@ class AaptRulesTest : FreeSpec({ } } - aaptOptions.additionalParameters = ["--proguard", "${rootDir.canonicalPath}/test.pro"] + aaptOptions.additionalParameters = ["--proguard", (new File(rootDir, "test.pro")).absolutePath] } proguard {