FoxMagiskModuleManager/app/build.gradle

204 lines
7.9 KiB
Groovy
Raw Normal View History

2021-10-01 20:19:42 +00:00
plugins {
id "io.sentry.android.gradle" version "3.1.5"
2021-10-01 20:19:42 +00:00
id 'com.android.application'
id 'com.mikepenz.aboutlibraries.plugin'
}
android {
namespace "com.fox2code.mmm"
2022-07-15 15:22:37 +00:00
compileSdk 33
2021-10-01 20:19:42 +00:00
defaultConfig {
applicationId "com.fox2code.mmm"
minSdk 21
2022-07-15 15:22:37 +00:00
targetSdk 33
2022-10-08 13:55:41 +00:00
versionCode 58
versionName "0.6.6"
2021-10-01 20:19:42 +00:00
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
2021-10-01 20:19:42 +00:00
}
debug {
applicationIdSuffix '.debug'
debuggable true
// ONLY FOR TESTING SENTRY
// minifyEnabled true
// shrinkResources true
// proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
2021-10-01 20:19:42 +00:00
}
}
flavorDimensions "type"
productFlavors {
"default" {
dimension "type"
buildConfigField "boolean", "ENABLE_AUTO_UPDATER", "true"
buildConfigField "boolean", "DEFAULT_ENABLE_CRASH_REPORTING", "true"
buildConfigField("java.util.List<String>",
"ENABLED_REPOS",
"java.util.Arrays.asList(\"magisk_alt_repo\", \"androidacy_repo\")",)
}
fdroid {
dimension "type"
applicationIdSuffix ".fdroid"
// Need to disable auto-updater for F-Droid flavor because their inclusion policy
// forbids downloading blobs from third-party websites (and F-Droid APK isn't signed
// with our keys, so the APK wouldn't install anyways).
buildConfigField "boolean", "ENABLE_AUTO_UPDATER", "false"
// Disable crash reporting for F-Droid flavor by default
buildConfigField "boolean", "DEFAULT_ENABLE_CRASH_REPORTING", "false"
// Repo with ads or tracking feature are disabled by default for the
// F-Droid flavor.
buildConfigField("java.util.List<String>",
"ENABLED_REPOS",
"java.util.Arrays.asList(\"magisk_alt_repo\")",)
}
}
2021-10-01 20:19:42 +00:00
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
2022-01-23 18:17:08 +00:00
lint {
2021-11-05 14:22:33 +00:00
disable 'MissingTranslation'
2022-04-10 07:40:23 +00:00
disable 'TypographyEllipsis'
2021-11-05 14:22:33 +00:00
}
2021-10-01 20:19:42 +00:00
}
aboutLibraries {
2022-05-19 16:12:56 +00:00
additionalLicenses = ["LGPL_3_0_only"]
2021-10-01 20:19:42 +00:00
}
sentry {
2022-10-04 14:24:07 +00:00
// Disable sentry on F-Droid flavor
ignoredFlavors = ["fdroid"]
2022-10-04 14:24:07 +00:00
// Disables or enables the handling of Proguard mapping for Sentry.
// If enabled the plugin will generate a UUID and will take care of
// uploading the mapping to Sentry. If disabled, all the logic
// related to proguard mapping will be excluded.
// Default is enabled.
includeProguardMapping = true
// Whether the plugin should attempt to auto-upload the mapping file to Sentry or not.
// If disabled the plugin will run a dry-run and just generate a UUID.
// The mapping file has to be uploaded manually via sentry-cli in this case.
// Default is enabled.
2022-10-06 12:06:43 +00:00
autoUploadProguardMapping = hasSentryConfig
// Experimental flag to turn on support for GuardSquare's tools integration (Dexguard and External Proguard).
// If enabled, the plugin will try to consume and upload the mapping file produced by Dexguard and External Proguard.
// Default is disabled.
experimentalGuardsquareSupport = true
// Disables or enables the automatic configuration of Native Symbols
// for Sentry. This executes sentry-cli automatically so
// you don't need to do it manually.
// Default is disabled.
2022-10-06 12:06:43 +00:00
uploadNativeSymbols = hasSentryConfig
// Does or doesn't include the source code of native code for Sentry.
// This executes sentry-cli with the --include-sources param. automatically so
// you don't need to do it manually.
// Default is disabled.
includeNativeSources = true
// Enable or disable the tracing instrumentation.
// Does auto instrumentation for specified features through bytecode manipulation.
// Default is enabled.
tracingInstrumentation {
enabled = true
}
// Enable auto-installation of Sentry components (sentry-android SDK and okhttp, timber and fragment integrations).
// Default is enabled.
// Only available v3.1.0 and above.
autoInstallation {
enabled = true
// Specifies a version of the sentry-android SDK and fragment, timber and okhttp integrations.
//
// This is also useful, when you have the sentry-android SDK already included into a transitive dependency/module and want to
// align integration versions with it (if it's a direct dependency, the version will be inferred).
//
// NOTE: if you have a higher version of the sentry-android SDK or integrations on the classpath, this setting will have no effect
// as Gradle will resolve it to the latest version.
//
// Defaults to the latest published sentry version.
sentryVersion = '6.5.0'
}
}
configurations {
implementation.exclude group: 'org.jetbrains', module: 'annotations'
}
2021-10-01 20:19:42 +00:00
dependencies {
// UI
implementation 'androidx.appcompat:appcompat:1.5.1'
2022-08-14 10:05:08 +00:00
implementation 'androidx.emoji2:emoji2:1.2.0'
implementation 'androidx.emoji2:emoji2-views-helper:1.2.0'
implementation 'androidx.preference:preference:1.2.0'
2022-06-01 11:59:49 +00:00
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
2021-10-01 20:19:42 +00:00
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'androidx.webkit:webkit:1.5.0'
2022-06-15 14:09:56 +00:00
implementation 'com.google.android.material:material:1.6.1'
implementation "dev.rikka.rikkax.layoutinflater:layoutinflater:1.2.0"
2022-07-16 14:13:58 +00:00
implementation "dev.rikka.rikkax.insets:insets:1.3.0"
2022-10-07 20:58:34 +00:00
implementation 'com.github.Dimezis:BlurView:version-2.0.2'
2022-06-03 15:26:57 +00:00
implementation 'com.github.KieronQuinn:MonetCompat:0.4.1'
2022-10-04 14:24:07 +00:00
implementation 'com.github.Fox2Code:FoxCompat:0.1.5'
2022-10-13 12:16:31 +00:00
// Update the version code in the root build.gradle
implementation "com.mikepenz:aboutlibraries:${latestAboutLibsRelease}"
2021-10-01 20:19:42 +00:00
// Utils
implementation 'androidx.work:work-runtime:2.7.1'
implementation 'com.squareup.okhttp3:okhttp-dnsoverhttps:5.0.0-alpha.10'
implementation 'com.squareup.okhttp3:okhttp-brotli:5.0.0-alpha.10'
2022-05-05 15:27:31 +00:00
implementation 'com.github.topjohnwu.libsu:io:5.0.1'
implementation 'com.github.Fox2Code:RosettaX:1.0.9'
2022-06-01 15:50:26 +00:00
implementation 'com.github.Fox2Code:AndroidANSI:1.0.1'
2021-10-01 20:19:42 +00:00
// Error reporting
defaultImplementation 'io.sentry:sentry-android:6.5.0'
defaultImplementation 'io.sentry:sentry-android-fragment:6.5.0'
defaultImplementation 'io.sentry:sentry-android-okhttp:6.5.0'
defaultImplementation 'io.sentry:sentry-android-core:6.5.0'
defaultImplementation 'io.sentry:sentry-android-ndk:6.5.0'
2021-10-01 20:19:42 +00:00
// Markdown
implementation "io.noties.markwon:core:4.6.2"
implementation "io.noties.markwon:html:4.6.2"
implementation "io.noties.markwon:image:4.6.2"
implementation "io.noties.markwon:syntax-highlight:4.6.2"
annotationProcessor "io.noties:prism4j-bundler:2.0.0"
2021-10-01 20:19:42 +00:00
implementation "com.caverock:androidsvg:1.4"
// Test
testImplementation 'junit:junit:4.13.2'
2021-10-01 20:19:42 +00:00
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
2022-10-06 12:06:43 +00:00
if (hasSentryConfig) {
Properties properties = new Properties()
2022-10-06 12:06:43 +00:00
try (FileInputStream fis = new FileInputStream(sentryConfigFile)) {
properties.load(fis)
}
tasks.withType(Exec) {
environment "SENTRY_PROJECT", properties.getProperty("defaults.project")
environment "SENTRY_ORG", properties.getProperty("defaults.org")
environment "SENTRY_URL", properties.getProperty("defaults.url")
environment "SENTRY_AUTH_TOKEN", properties.getProperty("auth.token")
}
}