mirror of
https://github.com/Guardsquare/proguard.git
synced 2026-03-13 09:50:34 +08:00
Add task to create directory for aapt_rules.pro
This commit is contained in:
committed by
James Hamilton
parent
e8e749ce33
commit
021bbb1f82
@@ -26,6 +26,7 @@ import com.android.build.gradle.AppExtension
|
||||
import com.android.build.gradle.BaseExtension
|
||||
import com.android.build.gradle.LibraryExtension
|
||||
import com.android.build.gradle.api.BaseVariant
|
||||
import com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask
|
||||
import com.android.build.gradle.internal.tasks.factory.dependsOn
|
||||
import java.io.File
|
||||
import org.gradle.api.GradleException
|
||||
@@ -43,6 +44,7 @@ import proguard.gradle.plugin.android.dsl.ProGuardConfiguration
|
||||
import proguard.gradle.plugin.android.dsl.UserProGuardConfiguration
|
||||
import proguard.gradle.plugin.android.dsl.VariantConfiguration
|
||||
import proguard.gradle.plugin.android.tasks.CollectConsumerRulesTask
|
||||
import proguard.gradle.plugin.android.tasks.PrepareProguardConfigDirectoryTask
|
||||
import proguard.gradle.plugin.android.transforms.AndroidConsumerRulesTransform
|
||||
import proguard.gradle.plugin.android.transforms.ArchiveConsumerRulesTransform
|
||||
|
||||
@@ -98,7 +100,10 @@ class AndroidPlugin(private val androidExtension: BaseExtension) : Plugin<Projec
|
||||
}
|
||||
|
||||
private fun configureAapt(project: Project) {
|
||||
File("${project.buildDir.absolutePath}/intermediates/proguard/configs").mkdirs()
|
||||
val createDirectoryTask = project.tasks.register("prepareProguardConfigDirectory", PrepareProguardConfigDirectoryTask::class.java)
|
||||
project.tasks.withType(LinkApplicationAndroidResourcesTask::class.java) {
|
||||
it.dependsOn(createDirectoryTask)
|
||||
}
|
||||
if (!androidExtension.aaptAdditionalParameters.contains("--proguard")) {
|
||||
androidExtension.aaptAdditionalParameters.addAll(listOf(
|
||||
"--proguard",
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package proguard.gradle.plugin.android.tasks
|
||||
|
||||
import org.gradle.api.DefaultTask
|
||||
import org.gradle.api.tasks.OutputDirectory
|
||||
import org.gradle.api.tasks.OutputFile
|
||||
import org.gradle.api.tasks.TaskAction
|
||||
import java.io.File
|
||||
|
||||
abstract class PrepareProguardConfigDirectoryTask : DefaultTask() {
|
||||
|
||||
@OutputDirectory
|
||||
val file = File("${project.buildDir.absolutePath}/intermediates/proguard/configs")
|
||||
|
||||
@TaskAction
|
||||
fun createDirectory() {
|
||||
file.mkdirs()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user