use of com.taobao.android.builder.tasks.app.merge.bundle.AwbDataBindingProcessLayoutsTask in project atlas by alibaba.
the class AwbDataBindingProcessLayoutTask method run.
@TaskAction
public void run() throws ExecutionException, InterruptedException {
AtlasDependencyTree atlasDependencyTree = AtlasBuildContext.androidDependencyTrees.get(getVariantName());
if (null == atlasDependencyTree) {
return;
}
DataBindingBuilder dataBindingBuilder = new DataBindingBuilder();
dataBindingBuilder.setPrintMachineReadableOutput(false);
dataBindingBuilder.setDebugLogEnabled(appVariantContext.getProject().getLogger().isDebugEnabled());
List<Runnable> tasks = new ArrayList<Runnable>();
for (final AwbBundle awbBundle : atlasDependencyTree.getAwbBundles()) {
if (!appVariantContext.getAtlasExtension().getTBuildConfig().getDataBindingBundles().contains(awbBundle.getPackageName()) || awbBundle.isMBundle) {
continue;
}
tasks.add(() -> {
AwbDataBindingProcessLayoutsTask.AwbDataBindingProcessLayoutsConfigAction processLayoutsConfigAction = new AwbDataBindingProcessLayoutsTask.AwbDataBindingProcessLayoutsConfigAction(appVariantContext, awbBundle, dataBindingBuilder);
AwbDataBindingProcessLayoutsTask dataBindingProcessLayoutsTask = TaskCreater.create(appVariantContext.getProject(), processLayoutsConfigAction.getName(), processLayoutsConfigAction.getType());
processLayoutsConfigAction.execute(dataBindingProcessLayoutsTask);
dataBindingProcessLayoutsTask.execute();
});
}
ExecutorServicesHelper executorServicesHelper = new ExecutorServicesHelper("dataBindingProcessLayoutTask", getLogger(), 0);
executorServicesHelper.execute(tasks);
}
Aggregations