All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.zegreatrob.tools.digger.gradle.kts Maven / Gradle / Ivy

There is a newer version: 1.5.10
Show newest version
package com.zegreatrob.tools

import com.zegreatrob.tools.digger.AllContributionData
import com.zegreatrob.tools.digger.CurrentContributionData
import com.zegreatrob.tools.digger.DiggerExtension
import com.zegreatrob.tools.digger.HeadTask

plugins {
    base
}

val digger = project.extensions.create("digger", DiggerExtension::class)

digger.label.convention(project.name)
digger.workingDirectory.convention(project.rootDir)

val exportToGithub = project.findProperty("exportToGithub")
val diggerBuildDirectory: Provider = layout.buildDirectory.dir("digger")

logger.warn("The 'digger' gradle plugin is current experimental. Be warned each update may make breaking changes.")

tasks {
    val gitHead by registering(HeadTask::class) {
        this.diggerExtension = digger
        outputFile.set(diggerBuildDirectory.map { it.file("head") })
    }
    val currentContributionData by registering(CurrentContributionData::class) {
        this.diggerExtension = digger
        dependsOn(gitHead)
        inputs.file(gitHead.map { it.outputFile })
        outputFile.set(layout.buildDirectory.file("digger/current.json"))
        exportToGithub?.let {
            exportToGithubEnv = true
        }
    }
    val allContributionData by registering(AllContributionData::class) {
        this.diggerExtension = digger
        dependsOn(gitHead)
        inputs.file(gitHead.map { it.outputFile })
        outputFile.set(layout.buildDirectory.file("digger/all.json"))
        exportToGithub?.let {
            exportToGithubEnv = true
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy