From cd15f0ef707779f9e3583020f0012e0ffb4a7819 Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Sat, 26 Feb 2022 08:22:40 +0100 Subject: [PATCH] Fix: Unintended delete (blame: GittyUp) --- build.gradle | 214 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 214 insertions(+) create mode 100644 build.gradle diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..82cf3ee8 --- /dev/null +++ b/build.gradle @@ -0,0 +1,214 @@ +buildscript { + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:7.1.1' + classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10' + } +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply plugin: "kotlin-kapt" + +android { + + compileSdk = 31 + defaultConfig { + archivesBaseName = 'droidify' + applicationId = 'com.looker.droidify' + minSdk = 23 + targetSdk = 31 + versionCode = 43 + versionName = "0.4.3" + vectorDrawables.useSupportLibrary = true + + javaCompileOptions { + annotationProcessorOptions { + arguments += ["room.schemaLocation": "$projectDir/schemas".toString()] + arguments += ["room.incremental": "true"] + } + } + } + + sourceSets.all { + def javaDir = it.java.srcDirs.find { it.name == 'java' } + it.java.srcDirs += new File(javaDir.parentFile, 'kotlin') + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + freeCompilerArgs = ['-Xjvm-default=compatibility'] + } + + buildFeatures { + compose true + dataBinding true + } + + composeOptions { + kotlinCompilerExtensionVersion "1.2.0-alpha01" + } + + buildTypes { + debug { + minifyEnabled = false + shrinkResources = false + applicationIdSuffix = ".debug" + versionNameSuffix = "-debug" + resValue "string", "application_name", "Droid-ify-Debug" + } + release { + minifyEnabled = true + shrinkResources = true + resValue "string", "application_name", "Droid-ify" + } + all { + crunchPngs = false + proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard.pro") + } + } + packagingOptions { + jniLibs { + excludes += ['/okhttp3/internal/publicsuffix/*'] + } + resources { + excludes += ['/DebugProbesKt.bin', '/kotlin/**.kotlin_builtins', '/kotlin/**.kotlin_metadata', '/META-INF/**.kotlin_module', '/META-INF/**.pro', '/META-INF/**.version', '/okhttp3/internal/publicsuffix/*'] + } + } + + + def keystorePropertiesFile = rootProject.file('keystore.properties') + lint { + ignore 'InvalidVectorPath' + warning 'InvalidPackage' + } + if (keystorePropertiesFile.exists()) { + def keystoreProperties = new Properties() + keystoreProperties.load(keystorePropertiesFile.newDataInputStream()) + + def signing = [ + storeFile : keystoreProperties['store.file'], + storePassword: keystoreProperties['store.password'], + keyAlias : keystoreProperties['key.alias'], + keyPassword : keystoreProperties['key.password'] + ] + + if (!signing.any { _, v -> v == null }) { + signingConfigs { + primary { + storeFile = file(signing.storeFile) + storePassword = signing.storePassword + keyAlias = signing.keyAlias + keyPassword = signing.keyPassword + v2SigningEnabled = false + } + } + + buildTypes { + debug.signingConfig = signingConfigs.primary + release.signingConfig = signingConfigs.primary + } + } + } +} + +repositories { + google() + mavenCentral() + maven { url "https://jitpack.io" } +} + +dependencies { + + // Core + implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10' + implementation 'androidx.core:core-ktx:1.7.0' + implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'androidx.appcompat:appcompat-resources:1.4.1' + implementation 'androidx.fragment:fragment-ktx:1.4.1' + implementation 'androidx.activity:activity-ktx:1.4.0' + implementation "androidx.preference:preference-ktx:1.2.0" + implementation "androidx.navigation:navigation-fragment-ktx:2.5.0-alpha03" + implementation "androidx.navigation:navigation-ui-ktx:2.5.0-alpha03" + + // Material3 + implementation 'com.google.android.material:material:1.6.0-alpha03' + + // FastAdapter + implementation("com.mikepenz:fastadapter:5.6.0") + implementation("com.mikepenz:fastadapter-extensions-diff:5.6.0") + implementation("com.mikepenz:fastadapter-extensions-binding:5.6.0") + implementation("com.mikepenz:fastadapter-extensions-paged:5.6.0") + + // Coil + implementation 'io.coil-kt:coil:1.4.0' + implementation "io.coil-kt:coil-compose:1.4.0" + + // OkHttps + implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.5' + + // RxJava + implementation 'io.reactivex.rxjava3:rxjava:3.1.3' + implementation 'io.reactivex.rxjava3:rxandroid:3.0.0' + + implementation 'me.zhanghai.android.fastscroll:library:1.1.7' + + // LibSu + implementation 'com.github.topjohnwu.libsu:core:3.2.1' + + // JackSon + implementation 'com.fasterxml.jackson.core:jackson-core:2.13.1' + + // Markdown + implementation "org.jetbrains:markdown:0.2.4" + + // Coroutines / Lifecycle + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.1' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0' + + // Paging + implementation 'androidx.paging:paging-runtime-ktx:3.1.0' + + // Room + implementation 'androidx.room:room-runtime:2.4.2' + implementation 'androidx.room:room-ktx:2.4.2' + implementation 'androidx.room:room-rxjava3:2.4.2' + kapt 'androidx.room:room-compiler:2.4.2' + + // Compose + implementation "androidx.compose.runtime:runtime:1.2.0-alpha04" + implementation "androidx.compose.ui:ui:1.2.0-alpha04" + implementation "androidx.compose.ui:ui-tooling:1.2.0-alpha04" + implementation "androidx.compose.foundation:foundation:1.2.0-alpha04" + implementation "androidx.compose.runtime:runtime-livedata:1.2.0-alpha04" + implementation "androidx.compose.material3:material3:1.0.0-alpha06" + implementation "androidx.compose.material:material:1.2.0-alpha04" + implementation "com.google.android.material:compose-theme-adapter:1.1.5" +} + +// using a task as a preBuild dependency instead of a function that takes some time insures that it runs +task detectAndroidLocals { + Set langsList = new HashSet<>() + + // in /res are (almost) all languages that have a translated string is saved. this is safer and saves some time + fileTree("src/main/res").visit { FileVisitDetails details -> + if (details.file.path.endsWith("strings.xml") + && details.file.canonicalFile.getText('UTF-8').contains("