Skip to content
This repository has been archived by the owner on Jun 15, 2021. It is now read-only.

Commit

Permalink
Create configuration for for task
Browse files Browse the repository at this point in the history
Add config for default branch
  • Loading branch information
GabriellCosta committed Feb 10, 2020
1 parent c73a8f7 commit adf3a39
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package dev.tigrao.bountyhunter.tracker

open class TrackerExtension(
var defaultBranch: String = "master"
)
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,15 @@ import org.gradle.api.Project
class TrackerPlugin : Plugin<Project> {

override fun apply(project: Project) {
val extension = project.extensions.create<TrackerExtension>(
"tracker",
TrackerExtension::class.java
)

project.tasks
.create(
"generateAffectedModulesFile",
TrackerTask::class.java)
TrackerTask::class.java, extension
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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<String> = 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 {
Expand Down

0 comments on commit adf3a39

Please sign in to comment.