@Override public void execute(@NonNull RenderscriptCompile renderscriptTask) { BaseVariantData<? extends BaseVariantOutputData> variantData = scope.getVariantData(); final GradleVariantConfiguration config = variantData.getVariantConfiguration(); variantData.renderscriptCompileTask = renderscriptTask; boolean ndkMode = config.getRenderscriptNdkModeEnabled(); renderscriptTask.setAndroidBuilder(scope.getGlobalScope().getAndroidBuilder()); renderscriptTask.setVariantName(config.getFullName()); ConventionMappingHelper.map(renderscriptTask, "targetApi", (Callable<Integer>) config::getRenderscriptTarget); renderscriptTask.supportMode = config.getRenderscriptSupportModeEnabled(); renderscriptTask.ndkMode = ndkMode; renderscriptTask.debugBuild = config.getBuildType().isRenderscriptDebuggable(); renderscriptTask.optimLevel = config.getBuildType().getRenderscriptOptimLevel(); ConventionMappingHelper.map(renderscriptTask, "sourceDirs", (Callable<List<File>>) config::getRenderscriptSourceList); ConventionMappingHelper.map(renderscriptTask, "importDirs", (Callable<List<File>>) config::getRenderscriptImports); renderscriptTask.setSourceOutputDir(scope.getRenderscriptSourceOutputDir()); renderscriptTask.setResOutputDir(scope.getRenderscriptResOutputDir()); renderscriptTask.setObjOutputDir(scope.getRenderscriptObjOutputDir()); renderscriptTask.setLibOutputDir(scope.getRenderscriptLibOutputDir()); ConventionMappingHelper.map(renderscriptTask, "ndkConfig", (Callable<CoreNdkOptions>) config::getNdkConfig); } }