Search in sources :

Example 1 with FastDeployRuntimeExtractorTask

use of com.android.build.gradle.tasks.ir.FastDeployRuntimeExtractorTask in project atlas by alibaba.

the class TransformReplacer method repalaceSomeInstantTransform.

public void repalaceSomeInstantTransform(BaseVariantOutput vod) {
    variantContext.getProject().getTasks().withType(FastDeployRuntimeExtractorTask.class).forEach(fastDeployRuntimeExtractorTask -> fastDeployRuntimeExtractorTask.setEnabled(false));
    List<TransformTask> baseTransforms = TransformManager.findTransformTaskByTransformType(variantContext, InstantRunDependenciesApkBuilder.class);
    if (baseTransforms != null && baseTransforms.size() > 0) {
        for (TransformTask transformTask : baseTransforms) {
            transformTask.setEnabled(false);
        }
    }
    List<TransformTask> transforms = TransformManager.findTransformTaskByTransformType(variantContext, InstantRunTransform.class);
    if (transforms != null && transforms.size() > 0) {
        for (TransformTask transformTask : transforms) {
            TaobaoInstantRunTransform taobaoInstantRunTransform = new TaobaoInstantRunTransform(variantContext, variantContext.getAppVariantOutputContext(ApkDataUtils.get(vod)), WaitableExecutor.useGlobalSharedThreadPool(), variantContext.getScope());
            ReflectUtils.updateField(transformTask, "transform", taobaoInstantRunTransform);
        }
    }
    List<TransformTask> verifytransforms = TransformManager.findTransformTaskByTransformType(variantContext, InstantRunVerifierTransform.class);
    if (verifytransforms != null && verifytransforms.size() > 0) {
        for (TransformTask transformTask : verifytransforms) {
            transformTask.setEnabled(false);
        }
    }
    List<TransformTask> transforms1 = TransformManager.findTransformTaskByTransformType(variantContext, ExtractJarsTransform.class);
    if (transforms1 != null && transforms1.size() > 0) {
        for (TransformTask transformTask : transforms1) {
            TaobaoExtractJarsTransform taobaoExtractJarsTransform = new TaobaoExtractJarsTransform(variantContext, variantContext.getAppVariantOutputContext(ApkDataUtils.get(vod)), ImmutableSet.of(QualifiedContent.DefaultContentType.CLASSES), ImmutableSet.of(QualifiedContent.Scope.SUB_PROJECTS));
            ReflectUtils.updateField(transformTask, "transform", taobaoExtractJarsTransform);
        }
    }
    List<TransformTask> transforms2 = TransformManager.findTransformTaskByTransformType(variantContext, InstantRunDex.class);
    if (transforms2 != null && transforms2.size() > 0) {
        for (TransformTask transformTask : transforms2) {
            TaobaoInstantRunDex taobaoInstantRunDex = new TaobaoInstantRunDex(variantContext, variantContext.getScope(), variantContext.getScope().getGlobalScope().getAndroidBuilder().getDexByteCodeConverter(), (DexOptions) ReflectUtils.getField(transformTask.getTransform(), "dexOptions"), variantContext.getProject().getLogger(), (Integer) ReflectUtils.getField(transformTask.getTransform(), "minSdkForDx"), vod);
            ReflectUtils.updateField(transformTask, "transform", taobaoInstantRunDex);
        }
    }
    List<TransformTask> transformTaskList = TransformManager.findTransformTaskByTransformType(variantContext, InstantRunSliceSplitApkBuilder.class);
    if (transformTaskList != null && transformTaskList.size() > 0) {
        for (TransformTask transformTask : transformTaskList) {
            transformTask.setEnabled(false);
        }
    }
    List<TransformTask> transformTaskList1 = TransformManager.findTransformTaskByTransformType(variantContext, InstantRunSlicer.class);
    if (transformTaskList1 != null && transformTaskList1.size() > 0) {
        for (TransformTask transformTask : transformTaskList1) {
            transformTask.setEnabled(false);
        // TaobaoInstantRunSlicer taobaoInstantRunSlicer = new TaobaoInstantRunSlicer(variantContext.getProject().getLogger(),variantContext.getScope());
        // ReflectUtils.updateField(transformTask,"transform",taobaoInstantRunSlicer);
        }
    }
}
Also used : FastDeployRuntimeExtractorTask(com.android.build.gradle.tasks.ir.FastDeployRuntimeExtractorTask) TransformTask(com.android.build.gradle.internal.pipeline.TransformTask)

Aggregations

TransformTask (com.android.build.gradle.internal.pipeline.TransformTask)1 FastDeployRuntimeExtractorTask (com.android.build.gradle.tasks.ir.FastDeployRuntimeExtractorTask)1