Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add lifecycle tasks for resolving dependencies in each project #115

Closed
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 @@ -174,16 +174,25 @@ internal abstract class ResolveVariantDependenciesTask : DefaultTask() {
subprojectTaskConfigure: (TaskProvider<ResolveVariantDependenciesTask>) -> Unit
) {
// Register a lifecycle to aggregate all subproject tasks
val rootResolveDependenciesTask = rootProject.tasks.register("resolveDependencies") {}
val rootResolveDependenciesTask = rootProject.tasks.register("resolveDependencies") {
group = GRAZEL_TASK_GROUP
description = "Resolve variant tasks dependencies"
}
rootProject.afterEvaluate {
val variantBuilder = variantBuilderProvider.get()
subprojects.forEach { project ->
val projectResolveDependenciesTask = project.tasks
.register("resolveDependencies") {
group = GRAZEL_TASK_GROUP
description = "Resolve variant tasks dependencies"
}
// First pass to create all tasks
variantBuilder.onVariants(project) { variant ->
processVariant(
project,
variant,
rootResolveDependenciesTask,
projectResolveDependenciesTask
)
}
// Second pass to establish inter-dependencies based on extendsFrom property
Expand Down Expand Up @@ -213,6 +222,7 @@ internal abstract class ResolveVariantDependenciesTask : DefaultTask() {
project: Project,
variant: Variant<*>,
rootResolveDependenciesTask: TaskProvider<Task>,
projectResolveDependenciesTask: TaskProvider<Task>,
) {
val compileConfigurationComponents = project.provider {
variant.compileConfiguration
Expand Down Expand Up @@ -257,6 +267,7 @@ internal abstract class ResolveVariantDependenciesTask : DefaultTask() {
resolvedDependencies.set(resolvedDependenciesJson)
}
rootResolveDependenciesTask.dependsOn(resolveVariantDependenciesTask)
projectResolveDependenciesTask.dependsOn(resolveVariantDependenciesTask)
}


Expand All @@ -272,8 +283,10 @@ internal abstract class ResolveVariantDependenciesTask : DefaultTask() {
val variantTask = this
variant.extendsFrom.forEach { extends ->
try {
val taskName = extends + "ResolveDependencies"
val extendsTask = tasks.named<ResolveVariantDependenciesTask>(taskName)
val extendsTasksName = extends + "ResolveDependencies"
val extendsTask = tasks.named<ResolveVariantDependenciesTask>(
extendsTasksName
)
variantTask.baseDependenciesJsons.add(extendsTask.flatMap { it.resolvedDependencies })
} catch (e: Exception) {
// TODO(arun) Handle gracefully
Expand Down
Loading