Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ import org.gradle.api.artifacts.ExternalDependency
import org.gradle.api.artifacts.component.ProjectComponentIdentifier
import org.gradle.api.attributes.Attribute
import org.gradle.api.file.ConfigurableFileCollection
import org.gradle.api.file.DuplicatesStrategy
import org.gradle.api.file.FileCollection
import org.gradle.api.provider.ProviderFactory
import org.gradle.api.tasks.TaskProvider
Expand Down Expand Up @@ -257,15 +256,7 @@ class HiltGradlePlugin @Inject constructor(private val providers: ProviderFactor
testedVariant: Component?,
): Configuration {
val hiltSyncTask =
project.tasks.register("hiltSync${variant.name.capitalize()}", HiltSyncTask::class.java) {
task ->
task.duplicatesStrategy = DuplicatesStrategy.EXCLUDE
task.from(task.classesJars)
task.from(task.classesDirectories)
task.from(task.testedClassesJars)
task.from(task.testedClassesDirectories)
task.into(project.buildDir("intermediates/hilt/copy/${variant.name}/"))
}
project.tasks.register("hiltSync${variant.name.capitalize()}", HiltSyncTask::class.java)

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

// Add the current variant's JavaCompile output to the configuration. This includes the
// compiled classes from any Java/Kotlin sources (including those generated by KAPT/KSP).
project.dependencies.apply { add(name, project.files(hiltSyncTask.map { it.outputs.files })) }
project.dependencies.apply {
add(name, project.files(hiltSyncTask.map { it.classesJars }))
add(name, project.files(hiltSyncTask.map { it.classesDirectories }))
add(name, project.files(hiltSyncTask.map { it.testedClassesJars }))
add(name, project.files(hiltSyncTask.map { it.testedClassesDirectories }))
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,20 @@

package dagger.hilt.android.plugin.task

import org.gradle.api.DefaultTask
import org.gradle.api.file.Directory
import org.gradle.api.file.RegularFile
import org.gradle.api.provider.ListProperty
import org.gradle.api.tasks.Classpath
import org.gradle.api.tasks.Sync
import org.gradle.work.DisableCachingByDefault

@DisableCachingByDefault(because = "Not worth caching")
abstract class HiltSyncTask : Sync() {
@get:Classpath
abstract val classesDirectories: ListProperty<Directory>
abstract class HiltSyncTask : DefaultTask() {
@get:Classpath abstract val classesDirectories: ListProperty<Directory>

@get:Classpath
abstract val classesJars: ListProperty<RegularFile>
@get:Classpath abstract val classesJars: ListProperty<RegularFile>

@get:Classpath
abstract val testedClassesDirectories: ListProperty<Directory>
@get:Classpath abstract val testedClassesDirectories: ListProperty<Directory>

@get:Classpath
abstract val testedClassesJars: ListProperty<RegularFile>
}
@get:Classpath abstract val testedClassesJars: ListProperty<RegularFile>
}
Loading