public void createExternalNativeBuildTasks(TaskFactory tasks, @NonNull VariantScope scope) {
ExternalNativeJsonGenerator generator = scope.getExternalNativeJsonGenerator();
if (generator == null) {
return;
}
AndroidTask<?> generateTask = androidTasks.create(tasks,
ExternalNativeBuildJsonTask.createTaskConfigAction(
generator, scope));
generateTask.dependsOn(tasks, scope.getPreBuildTask());
boolean buildOnlyTargetAbi = AndroidGradleOptions.isBuildOnlyTargetAbiEnabled(project);
AndroidTask<ExternalNativeBuildTask> buildTask = androidTasks.create(
tasks,
new ExternalNativeBuildTask.ConfigAction(
buildOnlyTargetAbi ? AndroidGradleOptions.getBuildTargetAbi(project) : null,
generator, scope, androidBuilder));
buildTask.dependsOn(tasks, generateTask);
scope.setExternalNativeBuildTask(buildTask);
scope.getCompileTask().dependsOn(tasks, buildTask);
Task cleanTask = checkNotNull(tasks.named("clean"));
cleanTask.dependsOn(androidTasks.create(tasks, new ExternalNativeCleanTask.ConfigAction(
generator, scope, androidBuilder)).getName());
}