fix: configure product flavors for app module only

This commit is contained in:
Akash Yadav
2023-06-13 09:03:30 +05:30
parent c8412960d5
commit 1ccfc40860
2 changed files with 23 additions and 20 deletions
+10 -12
View File
@@ -20,7 +20,6 @@
import com.android.build.gradle.BaseExtension
import com.itsaky.androidide.plugins.AndroidIDEPlugin
import com.vanniktech.maven.publish.AndroidMultiVariantLibrary
import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
import com.vanniktech.maven.publish.GradlePlugin
import com.vanniktech.maven.publish.JavaLibrary
import com.vanniktech.maven.publish.JavadocJar
@@ -65,19 +64,18 @@ fun Project.configureBaseExtension() {
targetCompatibility = BuildConfig.javaVersion
}
// // ':common' module is configured to use product flavors as it uses the BuildConfig fields to
// // determine asset paths
// if (arrayOf(":app", ":common").contains(project.path)) {
// }
flavorDimensions("default")
if (":app" == project.path) {
flavorDimensions("default")
productFlavors {
flavorsAbis.forEach(this::create)
productFlavors {
flavorsAbis.forEach(this::create)
forEach {
defaultConfig.buildConfigField("String",
"FLAVOR_${it.name.replace('-', '_').uppercase()}",
"\"${it.name}\"")
forEach {
val name = it.name
defaultConfig.buildConfigField("String",
"FLAVOR_${name.replace('-', '_').uppercase()}",
"\"${name}\"")
}
}
}
@@ -23,11 +23,10 @@ import android.app.NotificationManager;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.NotificationManagerCompat;
import com.blankj.utilcode.util.ThrowableUtils;
import com.itsaky.androidide.buildinfo.BuildInfo;
import com.itsaky.androidide.common.BuildConfig;
import com.itsaky.androidide.managers.PreferenceManager;
import com.itsaky.androidide.managers.ToolsManager;
import com.itsaky.androidide.resources.R;
@@ -38,6 +37,7 @@ import com.itsaky.androidide.utils.JavaCharacter;
import com.itsaky.androidide.utils.VMUtils;
import java.io.File;
import java.util.Arrays;
import kotlin.collections.ArraysKt;
public class BaseApplication extends Application {
@@ -49,6 +49,8 @@ public class BaseApplication extends Application {
// TODO Replace when available on website
public static final String DOCS_URL = BuildInfo.REPO_URL + "/tree/main/docs";
public static final String EMAIL = "contact@androidide.com";
private static final String AARCH64 = "arm64-v8a";
private static final String ARM = "armeabi-v7a";
private static BaseApplication instance;
private PreferenceManager mPrefsManager;
@@ -61,18 +63,21 @@ public class BaseApplication extends Application {
}
public static boolean isAarch64() {
//noinspection ConstantConditions
return BuildConfig.FLAVOR.equals(BuildConfig.FLAVOR_ARM64_V8A);
return ArraysKt.contains(Build.SUPPORTED_64_BIT_ABIS, AARCH64);
}
public static boolean isArmv7a() {
//noinspection ConstantConditions
return BuildConfig.FLAVOR.equals(BuildConfig.FLAVOR_ARMEABI_V7A);
return ArraysKt.contains(Build.SUPPORTED_32_BIT_ABIS, ARM);
}
@NonNull
@Nullable
public static String getArch() {
return BuildConfig.FLAVOR;
if (isAarch64()) {
return AARCH64;
} else if (isArmv7a()) {
return ARM;
}
return null;
}
@Override