У меня есть файл сборки Gradle, который использует плагин ProtoBuffer и выполняет некоторые задачи. В какой-то момент некоторые задачи выполняются для некоторых файлов, которые являются входными данными для задач.
Я хочу изменить набор файлов, которые являются входными данными для этих задач. Скажем, я хочу, чтобы задачи выполнялись с файлами, перечисленными по одному в строке в определенном файле. Как я могу это сделать?
РЕДАКТИРОВАТЬ: Вот часть довольно большого build.gradle, который обеспечивает некоторый контекст.
configure(protobufProjects) {
apply plugin: 'java'
ext {
protobufVersion = '3.9.1'
}
dependencies {
...
}
protobuf {
generatedFilesBaseDir = "$projectDir/gen"
protoc {
if (project.hasProperty('protocPath')) {
path = "$protocPath"
}
else {
artifact = "com.google.protobuf:protoc:$protobufVersion"
}
}
plugins {
...
}
generateProtoTasks {
all().each { task ->
...
}
}
sourceSets {
main {
java {
srcDirs 'gen/main/java'
}
}
}
}
clean {
delete protobuf.generatedFilesBaseDir
}
compileJava {
File generatedSourceDir = project.file("gen")
project.mkdir(generatedSourceDir)
options.annotationProcessorGeneratedSourcesDirectory = generatedSourceDir
}
}
Вопрос в том, как изменить набор входных файлов для существующая задача (которая уже что-то делает с ними), а не как создать новую задачу.
РЕДАКТИРОВАТЬ 2: Согласно Как изменить список файлов в задаче копирования Gradle? В общем, это плохая идея, так как Gradle делает предположения о зависимостях входов и выходов, которые могут быть нарушены этим подходом.