diff --git a/paranoid/gradle-plugin/src/main/java/com/joom/paranoid/plugin/AllClassesTransformRegisterAction.kt b/paranoid/gradle-plugin/src/main/java/com/joom/paranoid/plugin/AllClassesTransformRegisterAction.kt new file mode 100644 index 0000000..ac4e47b --- /dev/null +++ b/paranoid/gradle-plugin/src/main/java/com/joom/paranoid/plugin/AllClassesTransformRegisterAction.kt @@ -0,0 +1,14 @@ +package com.joom.paranoid.plugin + +import com.android.build.api.artifact.MultipleArtifact +import com.android.build.api.variant.Variant +import org.gradle.api.tasks.TaskProvider + +internal object AllClassesTransformRegisterAction { + fun register(variant: Variant, provider: TaskProvider) { + @Suppress("DEPRECATION") + variant.artifacts.use(provider) + .wiredWith(ParanoidTransformTask::inputDirectories, ParanoidTransformTask::outputDirectory) + .toTransform(MultipleArtifact.ALL_CLASSES_DIRS) + } +} diff --git a/paranoid/gradle-plugin/src/main/java/com/joom/paranoid/plugin/ParanoidPlugin.kt b/paranoid/gradle-plugin/src/main/java/com/joom/paranoid/plugin/ParanoidPlugin.kt index 08766c2..bc35a32 100644 --- a/paranoid/gradle-plugin/src/main/java/com/joom/paranoid/plugin/ParanoidPlugin.kt +++ b/paranoid/gradle-plugin/src/main/java/com/joom/paranoid/plugin/ParanoidPlugin.kt @@ -17,16 +17,12 @@ package com.joom.paranoid.plugin import com.android.build.api.AndroidPluginVersion -import com.android.build.api.artifact.MultipleArtifact -import com.android.build.api.artifact.ScopedArtifact -import com.android.build.api.variant.ScopedArtifacts import com.android.build.api.variant.Variant import org.gradle.api.GradleException import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.artifacts.component.ProjectComponentIdentifier import org.gradle.api.plugins.JavaPlugin -import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.compile.JavaCompile import java.io.File @@ -132,9 +128,9 @@ class ParanoidPlugin : Plugin { val androidComponentsExtension = project.androidComponents ?: error("Failed to get androidComponents extension") if (androidComponentsExtension.pluginVersion >= SCOPED_ARTIFACTS_VERSION) { - registerTransformTaskWithScopedArtifacts(taskProvider) + ScopedArtifactsRegisterAction.register(this, taskProvider) } else { - registerTransformTaskWithAllClassesTransform(taskProvider) + AllClassesTransformRegisterAction.register(this, taskProvider) } val runtimeClasspath = project.configurations.getByName("${name}RuntimeClasspath") @@ -152,19 +148,6 @@ class ParanoidPlugin : Plugin { } } - private fun Variant.registerTransformTaskWithAllClassesTransform(provider: TaskProvider) { - @Suppress("DEPRECATION") - artifacts.use(provider) - .wiredWith(ParanoidTransformTask::inputDirectories, ParanoidTransformTask::outputDirectory) - .toTransform(MultipleArtifact.ALL_CLASSES_DIRS) - } - - private fun Variant.registerTransformTaskWithScopedArtifacts(provider: TaskProvider) { - artifacts.forScope(ScopedArtifacts.Scope.PROJECT) - .use(provider) - .toTransform(ScopedArtifact.CLASSES, ParanoidTransformTask::inputClasses, ParanoidTransformTask::inputDirectories, ParanoidTransformTask::output) - } - private fun formatParanoidTaskName(variantName: String): String { return "${ParanoidTransformTask.TASK_PREFIX}${variantName.replaceFirstChar { it.uppercase() }}" } diff --git a/paranoid/gradle-plugin/src/main/java/com/joom/paranoid/plugin/ScopedArtifactsRegisterAction.kt b/paranoid/gradle-plugin/src/main/java/com/joom/paranoid/plugin/ScopedArtifactsRegisterAction.kt new file mode 100644 index 0000000..8eb8b44 --- /dev/null +++ b/paranoid/gradle-plugin/src/main/java/com/joom/paranoid/plugin/ScopedArtifactsRegisterAction.kt @@ -0,0 +1,14 @@ +package com.joom.paranoid.plugin + +import com.android.build.api.artifact.ScopedArtifact +import com.android.build.api.variant.ScopedArtifacts +import com.android.build.api.variant.Variant +import org.gradle.api.tasks.TaskProvider + +internal object ScopedArtifactsRegisterAction { + fun register(variant: Variant, provider: TaskProvider) { + variant.artifacts.forScope(ScopedArtifacts.Scope.PROJECT) + .use(provider) + .toTransform(ScopedArtifact.CLASSES, ParanoidTransformTask::inputClasses, ParanoidTransformTask::inputDirectories, ParanoidTransformTask::output) + } +}