From adf3a39be944c3520c476a85613306456dba3222 Mon Sep 17 00:00:00 2001 From: Gabriel Costa Date: Mon, 10 Feb 2020 19:55:06 -0300 Subject: [PATCH] Create configuration for for task Add config for default branch --- .../tigrao/bountyhunter/tracker/AffectedModules.kt | 6 +----- .../tigrao/bountyhunter/tracker/TrackerExtension.kt | 5 +++++ .../dev/tigrao/bountyhunter/tracker/TrackerPlugin.kt | 8 +++++++- .../dev/tigrao/bountyhunter/tracker/TrackerTask.kt | 11 +++++++---- 4 files changed, 20 insertions(+), 10 deletions(-) create mode 100644 tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerExtension.kt diff --git a/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/AffectedModules.kt b/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/AffectedModules.kt index 8ef856c..bfab5e2 100644 --- a/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/AffectedModules.kt +++ b/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/AffectedModules.kt @@ -4,13 +4,9 @@ import org.gradle.api.Project internal class AffectedModules( private val project: Project, - private val defaultBranch: String + private val gitClient: GitClient ) { - private val gitClient: GitClient by lazy { - GitClientImpl(project.projectDir, defaultBranch = defaultBranch) - } - private val projectGraph: ProjectGraph by lazy { ProjectGraph(project.rootProject) } diff --git a/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerExtension.kt b/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerExtension.kt new file mode 100644 index 0000000..72dbd8b --- /dev/null +++ b/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerExtension.kt @@ -0,0 +1,5 @@ +package dev.tigrao.bountyhunter.tracker + +open class TrackerExtension( + var defaultBranch: String = "master" +) diff --git a/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerPlugin.kt b/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerPlugin.kt index 767b9d3..abbad39 100644 --- a/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerPlugin.kt +++ b/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerPlugin.kt @@ -6,9 +6,15 @@ import org.gradle.api.Project class TrackerPlugin : Plugin { override fun apply(project: Project) { + val extension = project.extensions.create( + "tracker", + TrackerExtension::class.java + ) + project.tasks .create( "generateAffectedModulesFile", - TrackerTask::class.java) + TrackerTask::class.java, extension + ) } } diff --git a/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerTask.kt b/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerTask.kt index 465b3f8..d9bb47e 100644 --- a/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerTask.kt +++ b/tracker/src/main/java/dev/tigrao/bountyhunter/tracker/TrackerTask.kt @@ -6,17 +6,20 @@ import org.gradle.api.internal.artifacts.dependencies.DefaultProjectDependency import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.options.Option import org.gradle.language.base.plugins.LifecycleBasePlugin +import javax.inject.Inject -open class TrackerTask : DefaultTask() { +open class TrackerTask @Inject constructor(private val trackerExtension: TrackerExtension) : + DefaultTask() { @Option(option = "task", description = "Task to run in modules") var task: List = mutableListOf() - @Option(option = "defaultBranch", description = "Task to run in modules") - var defaultBranch : String = "master" + private val gitClient: GitClient by lazy { + GitClientImpl(project.projectDir, defaultBranch = trackerExtension.defaultBranch) + } private val affectedModules by lazy { - AffectedModules(project, defaultBranch) + AffectedModules(project, gitClient) } private val writerToFile by lazy {