Skip to content

Commit c379108

Browse files
ShikaSDkotlin-safe-merge[bot]
authored andcommitted
Filter project classes on the task input level
1 parent d295398 commit c379108

File tree

1 file changed

+14
-14
lines changed
  • libraries/tools/kotlin-compose-compiler/src/common/kotlin/org/jetbrains/kotlin/compose/compiler/gradle/internal

1 file changed

+14
-14
lines changed

libraries/tools/kotlin-compose-compiler/src/common/kotlin/org/jetbrains/kotlin/compose/compiler/gradle/internal/ComposeAgpMappingFile.kt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,8 @@ import com.android.build.api.variant.ApplicationAndroidComponentsExtension
1414
import com.android.build.api.variant.ScopedArtifacts
1515
import org.gradle.api.DefaultTask
1616
import org.gradle.api.Project
17-
import org.gradle.api.file.ConfigurableFileCollection
18-
import org.gradle.api.file.Directory
19-
import org.gradle.api.file.RegularFile
20-
import org.gradle.api.file.RegularFileProperty
17+
import org.gradle.api.file.*
18+
import org.gradle.api.model.ObjectFactory
2119
import org.gradle.api.provider.ListProperty
2220
import org.gradle.api.provider.Property
2321
import org.gradle.api.tasks.*
@@ -100,16 +98,22 @@ private fun String.capitalize(): String =
10098
replaceFirstChar { if (it.isLowerCase()) it.titlecase(getDefault()) else it.toString() }
10199

102100
@CacheableTask
103-
internal abstract class ProduceMappingFileTask : DefaultTask() {
101+
internal abstract class ProduceMappingFileTask @Inject constructor(
102+
objects: ObjectFactory
103+
) : DefaultTask() {
104104
@get:OutputFile
105105
abstract val outputFile: RegularFileProperty
106106

107107
@get:OutputFile
108108
abstract val errorFile: RegularFileProperty
109109

110+
@get:Internal
111+
abstract val projectDirectories: ListProperty<Directory>
112+
110113
@get:InputFiles
111114
@get:PathSensitive(PathSensitivity.RELATIVE)
112-
abstract val projectDirectories: ListProperty<Directory>
115+
val projectClasses: FileTree =
116+
objects.fileCollection().from(projectDirectories).asFileTree.matching { it.include("**/*.class") }
113117

114118
@get:Classpath
115119
abstract val projectJars: ListProperty<RegularFile>
@@ -130,7 +134,7 @@ internal abstract class ProduceMappingFileTask : DefaultTask() {
130134
}
131135

132136
workQueue.submit(Action::class.java) {
133-
it.projectFiles.from(projectDirectories.get())
137+
it.projectFiles.from(projectClasses)
134138
it.projectJars.from(projectJars.get())
135139
it.output.set(outputFile)
136140
it.errorOutput.set(errorFile)
@@ -167,13 +171,9 @@ internal abstract class ProduceMappingFileTask : DefaultTask() {
167171
}
168172

169173

170-
parameters.projectFiles.forEach { projectFile ->
171-
projectFile.walk().forEach { file ->
172-
if (file.name.endsWith(".class")) {
173-
val bytes = file.readBytes()
174-
mapping.append(bytes)
175-
}
176-
}
174+
parameters.projectFiles.forEach { file ->
175+
val bytes = file.readBytes()
176+
mapping.append(bytes)
177177
}
178178

179179
parameters.output.get().asFile.apply {

0 commit comments

Comments
 (0)