Run CI on Windows in addition to Ubuntu (#277)

Co-authored-by: James Hamilton <mrjameshamilton@gmail.com>
This commit is contained in:
Simon Schiller
2022-09-17 11:43:43 +02:00
committed by GitHub
parent 97e501d1b9
commit 1b40f8d9cc
5 changed files with 19 additions and 11 deletions

View File

@@ -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'

View File

@@ -110,7 +110,8 @@ class AndroidPlugin(private val androidExtension: BaseExtension) : Plugin<Projec
if (!androidExtension.aaptAdditionalParameters.contains("--proguard")) {
androidExtension.aaptAdditionalParameters.addAll(listOf(
"--proguard",
"${project.buildDir.absolutePath}/intermediates/proguard/configs/aapt_rules.pro"))
project.buildDir.resolve("intermediates/proguard/configs/aapt_rules.pro").absolutePath)
)
}
if (!androidExtension.aaptAdditionalParameters.contains("--proguard-conditional-keep-rules")) {
@@ -129,7 +130,7 @@ class AndroidPlugin(private val androidExtension: BaseExtension) : Plugin<Projec
variant,
createConsumerRulesConfiguration(project, variant),
matchingConfiguration.consumerRuleFilter,
File("${project.buildDir}/intermediates/proguard/configs")))
project.buildDir.resolve("intermediates/proguard/configs")))
}
return matchingConfiguration
}
@@ -217,7 +218,7 @@ class AndroidPlugin(private val androidExtension: BaseExtension) : Plugin<Projec
val processResourcesTask = project.tasks.findByName("process${variant.name.capitalize()}Resources")
processResourcesTask?.outputs?.doNotCacheIf("We need to regenerate the aapt_rules.pro file, sorry!") {
project.logger.debug("Disabling AAPT caching for ${variant.name}")
!File("${project.buildDir.absolutePath}/intermediates/proguard/configs/aapt_rules.pro").exists()
!project.buildDir.resolve("intermediates/proguard/configs/aapt_rules.pro").exists()
}
}
}

View File

@@ -83,7 +83,7 @@ class ProGuardTransform(
project.logger.warn("AAPT rules file not found: you may need to apply some extra keep rules for classes referenced from resources in your own ProGuard configuration.")
}
val mappingDir = File("${project.buildDir.absolutePath}/outputs/proguard/$variantName/mapping")
val mappingDir = project.buildDir.resolve("outputs/proguard/$variantName/mapping")
if (!mappingDir.exists()) mappingDir.mkdirs()
proguardTask.printmapping(File(mappingDir, "mapping.txt"))
proguardTask.printseeds(File(mappingDir, "seeds.txt"))
@@ -143,10 +143,10 @@ class ProGuardTransform(
private fun createLibraryJars(inputs: Collection<TransformInput>): List<File> =
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

View File

@@ -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() {

View File

@@ -83,7 +83,7 @@ class AaptRulesTest : FreeSpec({
}
}
aaptOptions.additionalParameters = ["--proguard", "${rootDir.canonicalPath}/test.pro"]
aaptOptions.additionalParameters = ["--proguard", (new File(rootDir, "test.pro")).absolutePath]
}
proguard {