tieskedh
11/19/2020, 8:45 PMclass PropsToObjectPlugin : Plugin<Project> {
override fun apply(target: Project) {
val extension: PropsToObjectExtension = target
.extensions
.create("propsToObject")
val buildDir = target.file(
"${target.buildDir}/generated/source/props"
)
val taskProvider = target.tasks
.register<PropertyObjectGeneratingTask>(
"generatePropertyObject"
) {
fileName = target.file(extension.propFileName)
this.genDir = buildDir
}
target.tasks.withType<KotlinCompile> {
//<https://youtrack.jetbrains.com/issue/KT-42241>
val srcTask = this as SourceTask
srcTask.dependsOn(taskProvider)
val srcSet = target
.objects
.sourceDirectorySet("nl.devhaan.props", "generatedPropertyObject")
.srcDir(buildDir)
srcTask.source(srcSet)
}
}
}
Big Chungus
11/19/2020, 10:25 PMtieskedh
11/20/2020, 8:19 AMsrcTask.source
would registrate it?
The code itself is imported by Intellij, so the autocompletion works, just the compilation fails.