mirror of
https://github.com/Guardsquare/proguard.git
synced 2026-03-13 09:50:34 +08:00
Run CI on Windows in addition to Ubuntu (#277)
Co-authored-by: James Hamilton <mrjameshamilton@gmail.com>
This commit is contained in:
12
.github/workflows/continuous_integration.yml
vendored
12
.github/workflows/continuous_integration.yml
vendored
@@ -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'
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -83,7 +83,7 @@ class AaptRulesTest : FreeSpec({
|
||||
}
|
||||
}
|
||||
|
||||
aaptOptions.additionalParameters = ["--proguard", "${rootDir.canonicalPath}/test.pro"]
|
||||
aaptOptions.additionalParameters = ["--proguard", (new File(rootDir, "test.pro")).absolutePath]
|
||||
}
|
||||
|
||||
proguard {
|
||||
|
||||
Reference in New Issue
Block a user