Search in sources :

Example 1 with ProcessExecutor

use of com.android.ide.common.process.ProcessExecutor in project atlas by alibaba.

the class AtlasBuilder method processResources.

@Override
public void processResources(Aapt aapt, Builder aaptConfigBuilder, boolean enforceUniquePackageName) throws IOException, InterruptedException, ProcessException {
    if (aapt instanceof AaptV1) {
        try {
            getTargetInfo();
            AaptOptions aaptOptions = (AaptOptions) FieldUtils.readField(aaptConfigBuilder.build(), "mAaptOptions", true);
            ProcessExecutor processExecutor = (ProcessExecutor) FieldUtils.readField(aapt, "mProcessExecutor", true);
            ProcessOutputHandler processOutputHandler = (ProcessOutputHandler) FieldUtils.readField(aapt, "mProcessOutputHandler", true);
            BuildToolInfo buildToolInfo = (BuildToolInfo) FieldUtils.readField(aapt, "mBuildToolInfo", true);
            PngProcessMode processMode = (PngProcessMode) FieldUtils.readField(aapt, "mProcessMode", true);
            int cruncherProcesses = aaptOptions.getCruncherProcesses();
            aapt = new AtlasAapt(processExecutor, processOutputHandler, buildToolInfo, getLogger(), processMode, cruncherProcesses);
        } catch (Throwable e) {
            throw new GradleException("aapt exception", e);
        }
    }
    super.processResources(aapt, aaptConfigBuilder, enforceUniquePackageName);
}
Also used : ProcessOutputHandler(com.android.ide.common.process.ProcessOutputHandler) PngProcessMode(com.android.builder.internal.aapt.v1.AaptV1.PngProcessMode) BuildToolInfo(com.android.sdklib.BuildToolInfo) AaptOptions(com.android.build.gradle.internal.dsl.AaptOptions) GradleException(org.gradle.api.GradleException) AaptV1(com.android.builder.internal.aapt.v1.AaptV1) ProcessExecutor(com.android.ide.common.process.ProcessExecutor) JavaProcessExecutor(com.android.ide.common.process.JavaProcessExecutor)

Aggregations

AaptOptions (com.android.build.gradle.internal.dsl.AaptOptions)1 AaptV1 (com.android.builder.internal.aapt.v1.AaptV1)1 PngProcessMode (com.android.builder.internal.aapt.v1.AaptV1.PngProcessMode)1 JavaProcessExecutor (com.android.ide.common.process.JavaProcessExecutor)1 ProcessExecutor (com.android.ide.common.process.ProcessExecutor)1 ProcessOutputHandler (com.android.ide.common.process.ProcessOutputHandler)1 BuildToolInfo (com.android.sdklib.BuildToolInfo)1 GradleException (org.gradle.api.GradleException)1