diff --git a/.gitignore b/.gitignore index d9dd7457..decea816 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ /* !/.gitignore -!/build.gradle +!/build.gradle.kts +!/settings.gradle.kts !/COPYING !/DEVDOC.md !/extra diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 1b222161..00000000 --- a/build.gradle +++ /dev/null @@ -1,216 +0,0 @@ -plugins { - id 'com.android.application' version '7.1.3' apply false - id 'com.android.library' version '7.1.3' apply false - id 'org.jetbrains.kotlin.android' version '1.6.10' apply false - id 'org.jetbrains.kotlin.plugin.serialization' version '1.6.10' -} - -apply plugin: 'com.android.application' -apply plugin: 'org.jetbrains.kotlin.android' -apply plugin: "kotlin-kapt" - -android { - - compileSdk = 32 - defaultConfig { - archivesBaseName = 'droidify' - applicationId = 'com.looker.droidify' - minSdk = 23 - targetSdk = 32 - versionCode = 903 - versionName = "0.9.0" - 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_11 - targetCompatibility JavaVersion.VERSION_11 - } - - kotlinOptions { - jvmTarget = '11' - freeCompilerArgs = ['-Xjvm-default=compatibility'] - } - - buildFeatures { - compose true - dataBinding true - } - - composeOptions { - kotlinCompilerExtensionVersion "1.2.0-alpha07" - } - - buildTypes { - debug { - minifyEnabled = false - shrinkResources = false - applicationIdSuffix = ".debug" - versionNameSuffix = "-alpha3" - resValue "string", "application_name", "Neo Store-Debug" - manifestPlaceholders = [ - appIcon : "@mipmap/ic_launcher_debug", - appIconRound: "@mipmap/ic_launcher_round_debug" - ] - } - neo { - minifyEnabled = false - shrinkResources = false - applicationIdSuffix = ".neo" - versionNameSuffix = "-alpha3" - resValue "string", "application_name", "Neo Store-alpha" - manifestPlaceholders = [ - appIcon : "@mipmap/ic_launcher_debug", - appIconRound: "@mipmap/ic_launcher_round_debug" - ] - } - release { - minifyEnabled = true - shrinkResources = true - resValue "string", "application_name", "Neo Store" - manifestPlaceholders = [ - appIcon : "@mipmap/ic_launcher", - appIconRound: "@mipmap/ic_launcher_round" - ] - } - 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 - } - } - } -} - -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.fragment:fragment-ktx:1.5.0-alpha05' - implementation 'androidx.activity:activity-ktx:1.6.0-alpha01' - implementation "androidx.preference:preference-ktx:1.2.0" - implementation 'androidx.navigation:navigation-fragment-ktx:2.5.0-alpha04' - implementation 'androidx.navigation:navigation-ui-ktx:2.5.0-alpha04' - - // Material3 - implementation 'com.google.android.material:material:1.6.0-beta01' - - // Coil - implementation 'io.coil-kt:coil:2.0.0-rc02' - implementation 'io.coil-kt:coil-compose:2.0.0-rc02' - - // OkHttps - implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.6' - - // RxJava - implementation 'io.reactivex.rxjava3:rxjava:3.1.4' - 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' - - // JSON - implementation 'com.fasterxml.jackson.core:jackson-core:2.13.2' - implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2" - - // Markdown - implementation 'org.jetbrains:markdown:0.3.1' - - // Coroutines / Lifecycle - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.0-alpha06' - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1-native-mt' - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1-native-mt' - - // 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-alpha07" - implementation "androidx.compose.ui:ui:1.2.0-alpha07" - implementation "androidx.compose.ui:ui-tooling:1.2.0-alpha07" - implementation "androidx.compose.foundation:foundation:1.2.0-alpha07" - implementation "androidx.compose.runtime:runtime-livedata:1.2.0-alpha07" - implementation "androidx.compose.material3:material3:1.0.0-alpha09" - implementation "androidx.compose.material:material:1.2.0-alpha07" - implementation "androidx.compose.animation:animation:1.2.0-alpha07" - implementation "androidx.compose.material:material-icons-extended:1.2.0-alpha07" - implementation "com.google.android.material:compose-theme-adapter:1.1.6" -} - -// 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(" = 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 { + if (this.file.path.endsWith("strings.xml") + && this.file.canonicalFile.readText().contains("