com.autonomousapps.RedundantPluginSubPlugin.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dependency-analysis-gradle-plugin Show documentation
Show all versions of dependency-analysis-gradle-plugin Show documentation
Analyzes dependency usage in Android and JVM projects
@file:Suppress("UnstableApiUsage")
package com.autonomousapps
import com.autonomousapps.internal.RedundantSubPluginOutputPaths
import com.autonomousapps.tasks.AdviceSubprojectAggregationTask
import com.autonomousapps.tasks.RedundantPluginAlertTask
import org.gradle.api.Project
import org.gradle.api.tasks.TaskProvider
import org.gradle.kotlin.dsl.register
internal class RedundantPluginSubPlugin(
private val project: Project,
private val aggregateAdviceTask: TaskProvider
) {
private val outputPaths = RedundantSubPluginOutputPaths(project)
fun configure() {
project.configureRedundantJvmPlugin()
}
private fun Project.configureRedundantJvmPlugin() {
val pluginAlertTask = tasks.register("redundantPluginAlert") {
javaFiles.setFrom(project.fileTree(projectDir).matching {
include("**/*.java")
})
kotlinFiles.setFrom(project.fileTree(projectDir).matching {
include("**/*.kt")
})
output.set(outputPaths.pluginJvmAdvicePath)
}
aggregateAdviceTask.configure {
redundantJvmAdvice.add(pluginAlertTask.flatMap { it.output })
}
}
}