@Override public LintOptions getLintOptions() { return getAndroidExtension().getLintOptions(); }
@Override public String getSourceCompatibility() { return JvmTarget.javaVersion( getAndroidExtension().getCompileOptions().getSourceCompatibility()); }
@Override public String getTargetCompatibility() { return JvmTarget.javaVersion( getAndroidExtension().getCompileOptions().getTargetCompatibility()); }
public static void forEachVariant(BaseExtension extension, Action<BaseVariant> action) { if (extension instanceof AppExtension) { ((AppExtension)extension).getApplicationVariants().all(action); } else if (extension instanceof LibraryExtension) { ((LibraryExtension)extension).getLibraryVariants().all(action); if (extension instanceof FeatureExtension) { ((FeatureExtension)extension).getFeatureVariants().all(action); } } else if (extension instanceof TestExtension) { ((TestExtension)extension).getApplicationVariants().all(action); } if (extension instanceof TestedExtension) { ((TestedExtension)extension).getTestVariants().all(action); ((TestedExtension)extension).getUnitTestVariants().all(action); } }
.getExtensions() .getByType(AppExtension.class) .getApplicationVariants() .stream() .collect( ImmutableMap.toImmutableMap( BaseVariant::getName, v -> new AndroidAppTarget(project, v.getName()))); break; case ANDROID_LIB: .getExtensions() .getByType(LibraryExtension.class) .getLibraryVariants() .stream() .collect( ImmutableMap.toImmutableMap( BaseVariant::getName, v -> new AndroidLibTarget(project, v.getName()))); break; case KOTLIN_LIB:
@SuppressWarnings("WeakerAccess") public DomainObjectSet<? extends BaseVariant> getAndroidVariants() { if (androidExtension == null || projectType == null) { throw new IllegalStateException("No android plugin found"); } switch (projectType) { case APP: return ((AppExtension)androidExtension).getApplicationVariants(); case LIBRARY: return ((LibraryExtension)androidExtension).getLibraryVariants(); case FEATURE: return ((FeatureExtension)androidExtension).getFeatureVariants(); default: throw new IllegalStateException("Unexpected project type: " + projectType); } }
@Override protected BaseVariant getBaseVariant() { AppExtension androidExtension = (AppExtension) getAndroidExtension(); Set<ApplicationVariant> applicationVariants = androidExtension .getApplicationVariants() .matching( applicationVariant -> applicationVariant.getName().equals(getMainTargetName(getName()))); Preconditions.checkArgument(applicationVariants.size() > 0); return applicationVariants.iterator().next().getTestVariant(); } }
@Override protected BaseVariant getBaseVariant() { AppExtension appExtension = (AppExtension) getAndroidExtension(); Optional<ApplicationVariant> optionalBaseVariant = appExtension .getApplicationVariants() .stream() .filter(variant -> variant.getName().equals(getName())) .findFirst(); Preconditions.checkArgument(optionalBaseVariant.isPresent()); return optionalBaseVariant.get(); }
public AndroidAppTarget(Project project, String name, boolean isTest) { super(project, name, isTest); minifyEnabled = getBaseVariant().getBuildType().isMinifyEnabled(); keystore = extractKeystore(); NdkCompile ndkCompile = baseVariant.getNdkCompile(); Set<String> filters = ndkCompile != null ? ndkCompile.getAbiFilters() : ImmutableSet.of(); cpuFilters = filters != null ? filters : ImmutableSet.of(); Boolean multidex = getBaseVariant().getMergedFlavor().getMultiDexEnabled(); if (multidex == null) { multidexEnabled = false; placeholders.putAll(getBaseVariant().getBuildType().getManifestPlaceholders()); placeholders.putAll(getBaseVariant().getMergedFlavor().getManifestPlaceholders()); getAndroidExtension().getDefaultConfig().getVectorDrawables().getUseSupportLibrary();
@Override protected BaseVariant getBaseVariant() { LibraryExtension libraryExtension = (LibraryExtension) getAndroidExtension(); Optional<LibraryVariant> baseVariantOptional = libraryExtension .getLibraryVariants() .stream() .filter(variant -> variant.getName().equals(getName())) .findFirst(); Preconditions.checkArgument(baseVariantOptional.isPresent()); return baseVariantOptional.get(); }
/** * Return true if we should regenerate out-of-date JSON files. */ public static boolean shouldRegenerateOutOfDateJsons(@NonNull Project project) { return AndroidGradleOptions.buildModelOnly(project) || AndroidGradleOptions.buildModelOnlyAdvanced(project) || AndroidGradleOptions.invokedFromIde(project) || AndroidGradleOptions.refreshExternalNativeModel(project); }
@Override public void apply(Project project) { WMRouterExtension extension = project.getExtensions() .create(Const.NAME, WMRouterExtension.class); WMRouterLogger.info("register transform"); project.getExtensions().findByType(BaseExtension.class) .registerTransform(new WMRouterTransform()); project.afterEvaluate(p -> WMRouterLogger.setConfig(extension)); } }
public static List<File> getAndroidSDKClasspath(BaseExtension extension) { return extension.getBootClasspath(); } }
private boolean isVariantPublished() { return extension.getPublishNonDefault(); }
/** * Returns true if we should use a cached SDK, false if we should force the re-parsing of the * SDK components. */ public static boolean useCachedSdk(Project project) { // only used cached version of the sdk when in instant run mode but not // syncing. return AndroidGradleOptions.getOptionalCompilationSteps(project).contains( OptionalCompilationStep.INSTANT_DEV) && !AndroidGradleOptions.buildModelOnlyAdvanced(project); }
public ExternalBuildGlobalScope(Project project) { this.project = project; optionalCompilationSteps = AndroidGradleOptions.getOptionalCompilationSteps(project); }
public static void setThreadPoolSize(Project project) { Integer size = AndroidGradleOptions.getThreadPoolSize(project); if (size == null) { return; } ExecutorSingleton.setThreadPoolSize(size); } }
private static ErrorFormatMode computeErrorFormatMode(@NonNull Project project) { if (AndroidGradleOptions.invokedFromIde(project)) { return ErrorFormatMode.MACHINE_PARSABLE; } else { return ErrorFormatMode.HUMAN_READABLE; } }
private LibraryVariant getLibraryVariant() { LibraryExtension libraryExtension = (LibraryExtension) getAndroidExtension(); Set<LibraryVariant> libraryVariants = libraryExtension .getLibraryVariants() .matching( libraryVariant -> libraryVariant.getName().equals(getMainTargetName(getName()))); Preconditions.checkArgument(libraryVariants.size() > 0); return libraryVariants.iterator().next(); } }
private boolean isVariantPublished() { return extension.getPublishNonDefault(); }