/*** * Prevent customization of applicationId or applicationIdSuffix. */ @Override public void validateModel(@NonNull VariantModel model) { if (model.getDefaultConfig().getProductFlavor().getApplicationId() != null) { throw new GradleException("Library projects cannot set applicationId. " + "applicationId is set to '" + model.getDefaultConfig().getProductFlavor().getApplicationId() + "' in default config."); } for (BuildTypeData buildType : model.getBuildTypes().values()) { if (buildType.getBuildType().getApplicationIdSuffix() != null) { throw new GradleException("Library projects cannot set applicationId. " + "applicationIdSuffix is set to '" + buildType.getBuildType().getApplicationIdSuffix() + "' in build type '" + buildType.getBuildType().getName() + "'."); } } for (ProductFlavorData productFlavor : model.getProductFlavors().values()) { if (productFlavor.getProductFlavor().getApplicationId() != null) { throw new GradleException("Library projects cannot set applicationId. " + "applicationId is set to '" + productFlavor.getProductFlavor().getApplicationId() + "' in flavor '" + productFlavor.getProductFlavor().getName() + "'."); } } }
@Override public boolean isDebuggable() { return mVariantScope.getVariantConfiguration().getBuildType().isDebuggable(); }
/** * Returns the list of generated res folders for this variant. */ private List<File> getGeneratedResFolders() { List<File> generatedResFolders = Lists.newArrayList( scope.getRenderscriptResOutputDir(), scope.getGeneratedResOutputDir()); if (extraGeneratedResFolders != null) { generatedResFolders.addAll(extraGeneratedResFolders); } if (generateApkDataTask != null && getVariantConfiguration().getBuildType().isEmbedMicroApp()) { generatedResFolders.add(generateApkDataTask.getResOutputDir()); } return generatedResFolders; }
@Override public boolean useResourceShrinker() { CoreBuildType buildType = getVariantConfiguration().getBuildType(); return buildType.isShrinkResources() && (!buildType.isMinifyEnabled() || buildType.isUseProguard()) && !getInstantRunBuildContext().isInInstantRunMode(); }
processResources.setTextSymbolOutputDir(symbolLocation); if (config.getBuildType().isMinifyEnabled()) { if (config.getBuildType().isShrinkResources() && config.getJackOptions().isEnabled()) { LoggingUtil.displayWarning(Logging.getLogger(getClass()), scope.getGlobalScope().getProject(), scope.getVariantScope().getProcessAndroidResourcesProguardOutputFile()); } else if (config.getBuildType().isShrinkResources()) { LoggingUtil.displayWarning(Logging.getLogger(getClass()), scope.getGlobalScope().getProject(), processResources.setDebuggable(config.getBuildType().isDebuggable()); processResources.setAaptOptions(scope.getGlobalScope().getExtension().getAaptOptions()); processResources .setPseudoLocalesEnabled(config.getBuildType().isPseudoLocalesEnabled());
public void registerBuildTypeSourceProvider(@NonNull String name, @NonNull CoreBuildType buildType, @NonNull SourceProvider sourceProvider) { if (extraArtifactMap.get(name) == null) { throw new IllegalArgumentException(String.format( "Artifact with name %1$s is not yet registered. Use registerArtifactType()", name)); } extraBuildTypeSourceProviders.put(buildType.getName(), new DefaultSourceProviderContainer(name, sourceProvider)); }
if (buildType.getBuildType().getApplicationIdSuffix() != null) { String applicationIdSuffix = buildType.getBuildType().getApplicationIdSuffix(); errorReporter.handleSyncError( applicationIdSuffix, "Library projects cannot set applicationIdSuffix. " + "applicationIdSuffix is set to '" + applicationIdSuffix + "' in build type '" + buildType.getBuildType().getName() + "'."); if (Boolean.TRUE.equals(buildType.getBuildType().getJackOptions().isEnabled())) { errorReporter.handleSyncError( buildType.getBuildType().getName(), SyncIssue.TYPE_GENERIC, "Library projects cannot enable Jack. " + "Jack is enabled in buildType '" + buildType.getBuildType().getName() + "'.");
boolean isTestCoverageEnabled = config.getBuildType().isTestCoverageEnabled() && !config.getType().isForTesting() && getIncrementalMode(variantScope.getVariantConfiguration()) == IncrementalMode.NONE; if (!variantData.getVariantConfiguration().getBuildType().isUseProguard()) { throw new IllegalStateException( "Build-in class shrinker and multidex are not supported yet."); config.getBuildType().isDebuggable(), isMultiDexEnabled, isMultiDexEnabled && isLegacyMultiDexMode ? variantScope.getMainDexListFile() : null,
&& variantData.getVariantConfiguration().getBuildType().isTestCoverageEnabled()) { scope.setCoverageReportTask(androidTasks.create(tasks, scope.getTaskName("create", "CoverageReport"),
generateBuildConfigTask, "debuggable", () -> variantConfiguration.getBuildType().isDebuggable()); () -> variantConfiguration.getBuildType().getName());
options.setJavaMaxHeapSize(globalScope.getExtension().getDexOptions().getJavaMaxHeapSize()); options.setJumboMode(globalScope.getExtension().getDexOptions().getJumboMode()); boolean isDebuggable = scope.getVariantConfiguration().getBuildType().isDebuggable(); options.setDebuggable(isDebuggable); options.setDexOptimize(true); if (config.getBuildType().isTestCoverageEnabled()) { options.setCoverageMetadataFile(scope.getJackCoverageMetadataFile());
final boolean instrumented = variantConfig.getBuildType().isTestCoverageEnabled(); checkState(pcData != null); if (buildType.isMinifyEnabled()) {
@Override public Boolean call() throws Exception { return config.getBuildType().isJniDebuggable(); } });
processInstantAppResources.setDebuggable(config.getBuildType().isDebuggable()); processInstantAppResources.setAaptOptions(scope.getGlobalScope().getExtension().getAaptOptions()); processInstantAppResources.setPseudoLocalesEnabled( config.getBuildType().isPseudoLocalesEnabled()); processInstantAppResources.setMergeBlameLogFolder( scope.getVariantScope().getResourceBlameLogDir());
@Override public boolean isMinifyEnabled() { return getVariantConfiguration().getBuildType().isMinifyEnabled(); }
public boolean getZipAlignEnabled() { return getVariantConfiguration().getBuildType().isZipAlignEnabled(); } }
packageApp.setAndroidBuilder(scope.getGlobalScope().getAndroidBuilder()); if (config.isMinifyEnabled() && config.getBuildType().isShrinkResources() && !config .getUseJack()) { ConventionMappingHelper.map(packageApp, "resourceFile", new Callable<File>() {
public void registerBuildTypeSourceProvider(@NonNull String name, @NonNull CoreBuildType buildType, @NonNull SourceProvider sourceProvider) { if (extraArtifactMap.get(name) == null) { throw new IllegalArgumentException(String.format( "Artifact with name %1$s is not yet registered. Use registerArtifactType()", name)); } extraBuildTypeSourceProviders.put(buildType.getName(), new DefaultSourceProviderContainer(name, sourceProvider)); }
CoreBuildType buildType = scope.getVariantConfiguration().getBuildType(); if (!buildType.isShrinkResources()) { if (buildType.isMinifyEnabled() && !buildType.isUseProguard()) { androidBuilder.getErrorReporter().handleSyncError( null,
boolean isTestCoverageEnabled = config.getBuildType().isTestCoverageEnabled() && !config .getType().isForTesting(); if (isTestCoverageEnabled) {