Skip to content

Commit 1be5765

Browse files
trexemDagger Team
authored andcommitted
Change HiltSyncTask to extend DefaultTask instead of Sync.
The HiltSyncTask was previously extending Gradle's Sync task, but it was not actually performing any file synchronization. This change updates HiltSyncTask to extend DefaultTask, which is more appropriate for a task that primarily serves to declare classpath inputs for other tasks. The unused import DuplicatesStrategy is also removed. FIXES #5122 RELNOTES=N/A PiperOrigin-RevId: 869847460
1 parent f7e31b8 commit 1be5765

File tree

2 files changed

+14
-22
lines changed

2 files changed

+14
-22
lines changed

java/dagger/hilt/android/plugin/main/src/main/kotlin/dagger/hilt/android/plugin/HiltGradlePlugin.kt

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ import org.gradle.api.artifacts.ExternalDependency
5959
import org.gradle.api.artifacts.component.ProjectComponentIdentifier
6060
import org.gradle.api.attributes.Attribute
6161
import org.gradle.api.file.ConfigurableFileCollection
62-
import org.gradle.api.file.DuplicatesStrategy
6362
import org.gradle.api.file.FileCollection
6463
import org.gradle.api.provider.ProviderFactory
6564
import org.gradle.api.tasks.TaskProvider
@@ -257,15 +256,7 @@ class HiltGradlePlugin @Inject constructor(private val providers: ProviderFactor
257256
testedVariant: Component?,
258257
): Configuration {
259258
val hiltSyncTask =
260-
project.tasks.register("hiltSync${variant.name.capitalize()}", HiltSyncTask::class.java) {
261-
task ->
262-
task.duplicatesStrategy = DuplicatesStrategy.EXCLUDE
263-
task.from(task.classesJars)
264-
task.from(task.classesDirectories)
265-
task.from(task.testedClassesJars)
266-
task.from(task.testedClassesDirectories)
267-
task.into(project.buildDir("intermediates/hilt/copy/${variant.name}/"))
268-
}
259+
project.tasks.register("hiltSync${variant.name.capitalize()}", HiltSyncTask::class.java)
269260

270261
variant.artifacts
271262
.forScope(ScopedArtifacts.Scope.PROJECT)
@@ -293,7 +284,12 @@ class HiltGradlePlugin @Inject constructor(private val providers: ProviderFactor
293284

294285
// Add the current variant's JavaCompile output to the configuration. This includes the
295286
// compiled classes from any Java/Kotlin sources (including those generated by KAPT/KSP).
296-
project.dependencies.apply { add(name, project.files(hiltSyncTask.map { it.outputs.files })) }
287+
project.dependencies.apply {
288+
add(name, project.files(hiltSyncTask.map { it.classesJars }))
289+
add(name, project.files(hiltSyncTask.map { it.classesDirectories }))
290+
add(name, project.files(hiltSyncTask.map { it.testedClassesJars }))
291+
add(name, project.files(hiltSyncTask.map { it.testedClassesDirectories }))
292+
}
297293
}
298294
}
299295

java/dagger/hilt/android/plugin/main/src/main/kotlin/dagger/hilt/android/plugin/task/HiltSyncTask.kt

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,20 @@
1616

1717
package dagger.hilt.android.plugin.task
1818

19+
import org.gradle.api.DefaultTask
1920
import org.gradle.api.file.Directory
2021
import org.gradle.api.file.RegularFile
2122
import org.gradle.api.provider.ListProperty
2223
import org.gradle.api.tasks.Classpath
23-
import org.gradle.api.tasks.Sync
2424
import org.gradle.work.DisableCachingByDefault
2525

2626
@DisableCachingByDefault(because = "Not worth caching")
27-
abstract class HiltSyncTask : Sync() {
28-
@get:Classpath
29-
abstract val classesDirectories: ListProperty<Directory>
27+
abstract class HiltSyncTask : DefaultTask() {
28+
@get:Classpath abstract val classesDirectories: ListProperty<Directory>
3029

31-
@get:Classpath
32-
abstract val classesJars: ListProperty<RegularFile>
30+
@get:Classpath abstract val classesJars: ListProperty<RegularFile>
3331

34-
@get:Classpath
35-
abstract val testedClassesDirectories: ListProperty<Directory>
32+
@get:Classpath abstract val testedClassesDirectories: ListProperty<Directory>
3633

37-
@get:Classpath
38-
abstract val testedClassesJars: ListProperty<RegularFile>
39-
}
34+
@get:Classpath abstract val testedClassesJars: ListProperty<RegularFile>
35+
}

0 commit comments

Comments
 (0)