add lazy gradle task provider

This commit is contained in:
Adam 2022-05-30 20:44:01 +02:00
parent e270b05d58
commit 916ddb6cb2

View file

@ -2,10 +2,12 @@ package dev.adamko.kafkatorio.gradle
import java.io.ByteArrayOutputStream import java.io.ByteArrayOutputStream
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.api.file.Directory import org.gradle.api.file.Directory
import org.gradle.api.file.FileCopyDetails import org.gradle.api.file.FileCopyDetails
import org.gradle.api.file.ProjectLayout import org.gradle.api.file.ProjectLayout
import org.gradle.api.file.RelativePath import org.gradle.api.file.RelativePath
import org.gradle.api.provider.Provider
import org.gradle.api.specs.NotSpec import org.gradle.api.specs.NotSpec
import org.gradle.api.specs.Spec import org.gradle.api.specs.Spec
import org.gradle.plugins.ide.idea.model.IdeaModule import org.gradle.plugins.ide.idea.model.IdeaModule
@ -81,3 +83,11 @@ fun FileCopyDetails.dropDirectories(count: Int): RelativePath =
/** Drop the first directory from the path */ /** Drop the first directory from the path */
fun FileCopyDetails.dropDirectory(): RelativePath = fun FileCopyDetails.dropDirectory(): RelativePath =
dropDirectories(1) dropDirectories(1)
/** https://github.com/gradle/gradle/issues/16543 */
fun Project.taskProvider(taskName: String): Provider<Task> = providers.provider {
taskName
}.flatMap {
tasks.named(it)
}