@@ -120,10 +120,11 @@ abstract class DackkaPlugin : Plugin<Project> {
120
120
project.afterEvaluate {
121
121
if (shouldWePublish(project)) {
122
122
val generateDocumentation = registerGenerateDackkaDocumentationTask(project)
123
- val outputDirectory = generateDocumentation.flatMap { it.outputDirectory }
124
- val firesiteTransform = registerFiresiteTransformTask(project, outputDirectory)
125
- val copyJavaDocToCommonDirectory = registerCopyJavaDocToCommonDirectoryTask(project, outputDirectory)
126
- val copyKotlinDocToCommonDirectory = registerCopyKotlinDocToCommonDirectoryTask(project, outputDirectory)
123
+ val dackkaFilesDirectory = generateDocumentation.flatMap { it.outputDirectory }
124
+ val firesiteTransform = registerFiresiteTransformTask(project, dackkaFilesDirectory)
125
+ val transformedFilesDirectory = firesiteTransform.flatMap { it.outputDirectory }
126
+ val copyJavaDocToCommonDirectory = registerCopyJavaDocToCommonDirectoryTask(project, transformedFilesDirectory)
127
+ val copyKotlinDocToCommonDirectory = registerCopyKotlinDocToCommonDirectoryTask(project, transformedFilesDirectory)
127
128
128
129
project.tasks.register(" kotlindoc" ) {
129
130
group = " documentation"
@@ -238,12 +239,12 @@ abstract class DackkaPlugin : Plugin<Project> {
238
239
clientName.set(project.firebaseConfigValue { artifactId })
239
240
}
240
241
241
- // TODO(b/243833009): Make task cacheable
242
- private fun registerFiresiteTransformTask (project : Project , outputDirectory : Provider <File >) =
242
+ private fun registerFiresiteTransformTask (project : Project , dackkaFilesDirectory : Provider <File >) =
243
243
project.tasks.register<FiresiteTransformTask >(" firesiteTransform" ) {
244
244
mustRunAfter(" generateDackkaDocumentation" )
245
245
246
- dackkaFiles.set(outputDirectory)
246
+ dackkaFiles.set(dackkaFilesDirectory)
247
+ outputDirectory.set(project.file(" ${project.buildDir} /dackkaTransformedFiles" ))
247
248
}
248
249
249
250
// TODO(b/246593212): Migrate doc files to single directory
@@ -287,5 +288,7 @@ abstract class DackkaPlugin : Plugin<Project> {
287
288
group = " cleanup"
288
289
289
290
delete(" ${project.buildDir} /dackkaDocumentation" )
291
+ delete(" ${project.buildDir} /dackkaTransformedFiles" )
292
+ delete(" ${project.rootProject.buildDir} /firebase-kotlindoc" )
290
293
}
291
294
}
0 commit comments