in buildSrc/src/main/java/com/uber/okbuck/core/model/android/AndroidTarget.java [77:134]
protected AndroidTarget(Project project, String name, boolean isTest) {
super(project, name);
this.isTest = isTest;
applicationIdSuffix =
Strings.nullToEmpty(getBaseVariant().getMergedFlavor().getApplicationIdSuffix())
+ Strings.nullToEmpty(getBaseVariant().getBuildType().getApplicationIdSuffix());
if (isTest) {
String applicationIdString =
minus(minus(getBaseVariant().getApplicationId(), ".test"), applicationIdSuffix);
applicationId = minus(applicationIdString, applicationIdSuffix);
} else {
applicationId = minus(getBaseVariant().getApplicationId(), applicationIdSuffix);
}
versionName = getBaseVariant().getMergedFlavor().getVersionName();
versionCode = getBaseVariant().getMergedFlavor().getVersionCode();
debuggable = getBaseVariant().getBuildType().isDebuggable();
// Butterknife support
generateR2 = project.getPlugins().hasPlugin("com.jakewharton.butterknife");
// Check if kotlin
isKotlinAndroid = project.getPlugins().hasPlugin(KotlinAndroidPluginWrapper.class);
isKapt = project.getPlugins().hasPlugin(KOTLIN_KAPT_PLUGIN);
hasKotlinAndroidExtensions = project.getPlugins().hasPlugin(KOTLIN_ANDROID_EXTENSIONS_MODULE);
// Check if any rules are excluded
lintExclude = getProp(getOkbuck().lintExclude, ImmutableList.of()).contains(name);
testExclude = getProp(getOkbuck().testExclude, ImmutableList.of()).contains(name);
resourceUnionPackageName = getOkbuck().resourceUnionPackage;
@Var boolean hasKotlinExtension;
try {
AndroidExtensionsExtension androidExtensions =
project.getExtensions().getByType(AndroidExtensionsExtension.class);
hasKotlinExtension = hasKotlinAndroidExtensions && androidExtensions.isExperimental();
} catch (Exception ignored) {
hasKotlinExtension = false;
}
hasExperimentalKotlinAndroidExtensions = hasKotlinExtension;
if (getBaseVariant().getMergedFlavor().getMinSdkVersion() == null
|| getBaseVariant().getMergedFlavor().getTargetSdkVersion() == null) {
minSdk = targetSdk = DEFAULT_SDK;
throw new IllegalStateException(
"module `"
+ project.getName()
+ "` must specify minSdkVersion and targetSdkVersion in build.gradle");
} else {
minSdk = getBaseVariant().getMergedFlavor().getMinSdkVersion().getApiString();
targetSdk = getBaseVariant().getMergedFlavor().getTargetSdkVersion().getApiString();
}
}