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

com.zegreatrob.tools.digger.CurrentContributionData.kt Maven / Gradle / Ivy

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

import com.zegreatrob.tools.digger.json.toJsonString
import org.gradle.api.DefaultTask
import org.gradle.api.file.RegularFileProperty
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction
import java.io.FileOutputStream

abstract class CurrentContributionData : DefaultTask() {
    @Internal
    lateinit var diggerExtension: DiggerExtension

    @Input
    var exportToGithubEnv: Boolean = false

    @get:OutputFile
    abstract val outputFile: RegularFileProperty

    @TaskAction
    fun execute() {
        val output = diggerExtension.currentContributionData().toJsonString()

        val githubEnvFile = System.getenv("GITHUB_ENV")
        if (exportToGithubEnv && githubEnvFile != null) {
            FileOutputStream(githubEnvFile, true)
                .write("DIGGER_CONTRIBUTION_DATA=$output".toByteArray())
        } else {
            outputFile.get().asFile.writeText(output)
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy