Merge changes from topic "am-83aebdda-b80c-4a8e-aaf3-5b67c00516ff"
* changes:
[automerger] Add jetifier afterEvaluate hook to apply. am: 254a18a30d
Add jetifier afterEvaluate hook to apply.
diff --git a/jetifier/jetifier/gradle-plugin/src/main/kotlin/android/support/tools/jetifier/plugin/gradle/JetifierPlugin.kt b/jetifier/jetifier/gradle-plugin/src/main/kotlin/android/support/tools/jetifier/plugin/gradle/JetifierPlugin.kt
index 109e4c4..4c26406 100644
--- a/jetifier/jetifier/gradle-plugin/src/main/kotlin/android/support/tools/jetifier/plugin/gradle/JetifierPlugin.kt
+++ b/jetifier/jetifier/gradle-plugin/src/main/kotlin/android/support/tools/jetifier/plugin/gradle/JetifierPlugin.kt
@@ -16,20 +16,45 @@
package android.support.tools.jetifier.plugin.gradle
+import android.support.tools.jetifier.core.utils.Log
import org.gradle.api.Plugin
import org.gradle.api.Project
/**
* This serves as the main entry point of this plugin and registers the extension object.
*/
-open class JetifierPlugin : Plugin<Project> {
+open class JetifierPlugin : Plugin<Project> {
companion object {
- const val GROOVY_OBJECT_NAME : String = "jetifier"
+ const val GROOVY_OBJECT_NAME: String = "jetifier"
}
override fun apply(project: Project) {
project.extensions.create(GROOVY_OBJECT_NAME, JetifierExtension::class.java, project)
- }
+ project.afterEvaluate({
+ val jetifyLibs = it.tasks.findByName(JetifyLibsTask.TASK_NAME)
+ val jetifyGlobal = it.tasks.findByName(JetifyGlobalTask.TASK_NAME)
+
+ if (jetifyLibs == null && jetifyGlobal == null) {
+ return@afterEvaluate
+ }
+
+ if (jetifyLibs != null && jetifyGlobal != null) {
+ jetifyGlobal.dependsOn(jetifyLibs)
+ }
+
+ val preBuildTask = it.tasks.findByName("preBuild")
+ if (preBuildTask == null) {
+ Log.e("TAG", "Failed to hook jetifier tasks. PreBuild task was not found.")
+ return@afterEvaluate
+ }
+
+ if (jetifyGlobal != null) {
+ preBuildTask.dependsOn(jetifyGlobal)
+ } else {
+ preBuildTask.dependsOn(jetifyLibs)
+ }
+ })
+ }
}
\ No newline at end of file