From 4aa79a8beb9b0e2a40960c68a5774aa4376a06bb Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sun, 10 Jan 2021 16:35:52 -0800 Subject: Bump version --- app/build.gradle | 704 +++++++++++++++++++++++++++--------------------------- gradle.properties | 44 ++-- 2 files changed, 374 insertions(+), 374 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ab1c5434..5375ac45 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,352 +1,352 @@ -apply plugin: 'com.android.application' -apply plugin: 'com.bugsnag.android.gradle' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' -apply plugin: 'kotlin-kapt' -apply plugin: 'com.getkeepsafe.dexcount' -apply plugin: 'com.gladed.androidgitversion' - - -buildscript { - repositories { - jcenter() - maven { url "https://plugins.gradle.org/m2/" } - } - dependencies { - classpath "com.github.node-gradle:gradle-node-plugin:${Versions.nodeGradle}" - } -} - -apply plugin: 'com.github.node-gradle.node' - -apply from: '../spotless.gradle' -group = APP_GROUP - -android { - compileSdkVersion Versions.targetSdk - - androidGitVersion { - codeFormat = 'MMNNPPXX' - format = '%tag%%-count%%-commit%' - prefix 'v' - } - - defaultConfig { - applicationId "${project.APP_GROUP}.${project.APP_ID.toLowerCase(Locale.CANADA)}" - minSdkVersion kau.Versions.minSdk - targetSdkVersion Versions.targetSdk -// versionCode 2040700 - versionCode androidGitVersion.code() -// versionName '2.4.7' - versionName androidGitVersion.name() - - if (System.getenv('TRAVIS') != 'true') { - // Verification for F-Droid builds - if (versionCode != androidGitVersion.code()) { - throw new GradleException("Version code mismatch, expected ${androidGitVersion.code()}, got $versionCode") - } - if (versionName != androidGitVersion.name()) { - throw new GradleException("Version name mismatch, expected ${androidGitVersion.name()}, got $versionName") - } - } - multiDexEnabled true - testInstrumentationRunner "com.pitchedapps.frost.FrostTestRunner" - javaCompileOptions { - annotationProcessorOptions { - arguments = ["room.schemaLocation": "$projectDir/src/schemas".toString()] - } - } - } - - applicationVariants.all { variant -> - variant.outputs.all { - outputFileName = "${project.APP_ID}-${variant.buildType.name}.apk" - } - } - - lintOptions { - warningsAsErrors true - disable 'TrustAllX509TrustManager', - 'UnusedResources', - 'ContentDescription', - 'RtlSymmetry', - 'MissingTranslation' - - xmlReport false - textReport true - textOutput 'stdout' - } - - buildFeatures { - viewBinding = true - } - - def testKeystoreFile = file('../files/test.keystore') - def testPropFile = file('../files/test.properties') - def withTestSigning = testKeystoreFile.exists() && testPropFile.exists() - - def releaseKeystoreFile = file('../files/release.keystore') - def releasePropFile = file('../files/release.properties') - def withReleaseSigning = releaseKeystoreFile.exists() && releasePropFile.exists() - - signingConfigs { - - debug { - storeFile file("../files/debug.keystore") - storePassword "debugKey" - keyAlias "debugKey" - keyPassword "debugKey" - } - - if (withTestSigning) { - def testProps = new Properties() - testPropFile.withInputStream { testProps.load(it) } - - test { - storeFile testKeystoreFile - storePassword testProps.getProperty('storePassword') - keyAlias testProps.getProperty('keyAlias') - keyPassword testProps.getProperty('keyPassword') - } - } - - if (withReleaseSigning) { - def releaseProps = new Properties() - releasePropFile.withInputStream { releaseProps.load(it) } - - release { - storeFile releaseKeystoreFile - storePassword releaseProps.getProperty('storePassword') - keyAlias releaseProps.getProperty('keyAlias') - keyPassword releaseProps.getProperty('keyPassword') - } - } - - } - - def compilerArgs = ["-Xuse-experimental=kotlin.Experimental" /*, "-XXLanguage:+InlineClasses"*/] - - buildTypes { - debug { - minifyEnabled false - shrinkResources false - applicationIdSuffix ".debug" - versionNameSuffix "-debug" - signingConfig signingConfigs.debug - resValue "string", "frost_name", "Frost Debug" - resValue "string", "frost_web", "Frost Web Debug" - ext.enableBugsnag = false - - kotlinOptions.freeCompilerArgs += compilerArgs - } - releaseTest { - minifyEnabled true - shrinkResources true - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - applicationIdSuffix ".test" - versionNameSuffix "-test" - if (withTestSigning) signingConfig signingConfigs.test - resValue "string", "frost_name", "Frost Test" - resValue "string", "frost_web", "Frost Web Test" - } - release { - minifyEnabled true - shrinkResources true - if (withReleaseSigning) signingConfig signingConfigs.release - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - resValue "string", "frost_name", "Frost" - resValue "string", "frost_web", "Frost Web" - } - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - test.java.srcDirs += 'src/test/kotlin' - androidTest.java.srcDirs += 'src/androidTest/kotlin' - main.assets.srcDirs += ['src/web/assets'] - } - - packagingOptions { - pickFirst 'META-INF/core_release.kotlin_module' - pickFirst 'META-INF/library_release.kotlin_module' - } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() - } - - testOptions.unitTests { - includeAndroidResources = true - // Don't throw runtime exceptions for android calls that are not mocked - returnDefaultValues = true - - // Always show the result of every unit test, even if it passes. - all { - testLogging { - events 'skipped', 'failed', 'standardError' - } - } - } - - androidExtensions { - experimental = true - features = ["parcelize"] - } - -} - -node { - version = '13.8.0' - npmVersion = '6.13.7' - download = true - nodeModulesDir = file("${project.projectDir}/src/web") -} - -task npmCi(type: NpmTask) { - dependsOn npmSetup - npmCommand = ["ci"] -} - -task frostWebGen(type: NpmTask) { - dependsOn npmCi - group 'build' - description 'Generate Frost web assets' - args = ['run', 'compile'] -} - -preBuild.dependsOn(frostWebGen) - -repositories { - google() - jcenter() - maven { url "https://jitpack.io" } -} - -dependencies { - androidTestImplementation kau.Dependencies.kotlinTest - androidTestImplementation kau.Dependencies.espresso - androidTestImplementation kau.Dependencies.testRules - androidTestImplementation kau.Dependencies.testRunner - androidTestImplementation kau.Dependencies.kotlinReflect - - testImplementation kau.Dependencies.kotlinTest - testImplementation kau.Dependencies.kotlinReflect - testImplementation kau.Dependencies.junit - - implementation kau.Dependencies.kotlin - - //noinspection GradleDependency - implementation kau.Dependencies.kau('core', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('core-ui', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('adapter', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('fastadapter', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('about', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('colorpicker', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('mediapicker', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('kpref-activity', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('searchview', KAU) - - implementation kau.Dependencies.coreKtx - implementation kau.Dependencies.swipeRefreshLayout - - implementation "androidx.biometric:biometric:${Versions.andxBiometric}" - - implementation kau.Dependencies.koin - testImplementation kau.Dependencies.koinTest - androidTestImplementation kau.Dependencies.koinTest - - implementation kau.Dependencies.coroutines - - implementation "org.apache.commons:commons-text:${Versions.apacheCommonsText}" - - implementation "com.devbrackets.android:exomedia:${Versions.exoMedia}" - - implementation kau.Dependencies.fastAdapter("diff") - implementation kau.Dependencies.fastAdapter("drag") - implementation kau.Dependencies.fastAdapter("expandable") - - //noinspection GradleDependency - implementation kau.Dependencies.glide - //noinspection GradleDependency - kapt kau.Dependencies.glideKapt - - debugImplementation kau.Dependencies.leakCanary - - //Icons - implementation kau.Dependencies.iconicsMaterial - implementation kau.Dependencies.iconicsCommunity - - implementation kau.Dependencies.materialDialog("input") - - implementation "org.jsoup:jsoup:${Versions.jsoup}" - - implementation "com.squareup.okhttp3:okhttp:${Versions.okhttp}" - implementation "com.squareup.okhttp3:logging-interceptor:${Versions.okhttp}" - testImplementation "com.squareup.okhttp3:mockwebserver:${Versions.okhttp}" - androidTestImplementation "com.squareup.okhttp3:mockwebserver:${Versions.okhttp}" - - implementation kau.Dependencies.bugsnag - - implementation "com.davemorrissey.labs:subsampling-scale-image-view:${Versions.scaleImageView}" - - implementation "androidx.room:room-ktx:${Versions.room}" - implementation "androidx.room:room-runtime:${Versions.room}" - kapt "androidx.room:room-compiler:${Versions.room}" - testImplementation "androidx.room:room-testing:${Versions.room}" - -} - -def kotlinResolutions = ['kotlin-reflect', - 'kotlin-stdlib', - 'kotlin-stdlib-jdk7', - 'kotlin-stdlib-jdk8', - 'kotlin-test', - 'kotlin-test-junit4', - 'kotlin-test-junit5'] - -configurations.all { - resolutionStrategy.eachDependency { DependencyResolveDetails details -> - def requested = details.requested - if (requested.group == 'org.jetbrains.kotlin' && requested.name in kotlinResolutions) { - details.useVersion kau.Versions.kotlin - } - } -} - -task lintGithubReleaseApk { - dependsOn 'spotlessCheck' - dependsOn 'lintRelease' -} - -task testGithubReleaseApk { - dependsOn 'testReleaseUnitTest' - dependsOn 'connectedAndroidTest' -} - -task assembleGithubReleaseApk { - dependsOn 'assembleRelease' -} - -// Validates code and generates apk -// TODO order tasks; though technically it doesn't matter -task createGithubReleaseApk { - dependsOn 'lintGithubReleaseApk' - dependsOn 'testGithubReleaseApk' - dependsOn 'assembleGithubReleaseApk' - - tasks.findByName('testGithubReleaseApk').mustRunAfter 'lintGithubReleaseApk' - tasks.findByName('assembleGithubReleaseApk').mustRunAfter 'testGithubReleaseApk' -} +apply plugin: 'com.android.application' +apply plugin: 'com.bugsnag.android.gradle' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-kapt' +apply plugin: 'com.getkeepsafe.dexcount' +apply plugin: 'com.gladed.androidgitversion' + + +buildscript { + repositories { + jcenter() + maven { url "https://plugins.gradle.org/m2/" } + } + dependencies { + classpath "com.github.node-gradle:gradle-node-plugin:${Versions.nodeGradle}" + } +} + +apply plugin: 'com.github.node-gradle.node' + +apply from: '../spotless.gradle' +group = APP_GROUP + +android { + compileSdkVersion Versions.targetSdk + + androidGitVersion { + codeFormat = 'MMNNPPXX' + format = '%tag%%-count%%-commit%' + prefix 'v' + } + + defaultConfig { + applicationId "${project.APP_GROUP}.${project.APP_ID.toLowerCase(Locale.CANADA)}" + minSdkVersion kau.Versions.minSdk + targetSdkVersion Versions.targetSdk +// versionCode 2040700 + versionCode androidGitVersion.code() +// versionName '2.4.7' + versionName androidGitVersion.name() + + if (System.getenv('TRAVIS') != 'true') { + // Verification for F-Droid builds + if (versionCode != androidGitVersion.code()) { + throw new GradleException("Version code mismatch, expected ${androidGitVersion.code()}, got $versionCode") + } + if (versionName != androidGitVersion.name()) { + throw new GradleException("Version name mismatch, expected ${androidGitVersion.name()}, got $versionName") + } + } + multiDexEnabled true + testInstrumentationRunner "com.pitchedapps.frost.FrostTestRunner" + javaCompileOptions { + annotationProcessorOptions { + arguments = ["room.schemaLocation": "$projectDir/src/schemas".toString()] + } + } + } + + applicationVariants.all { variant -> + variant.outputs.all { + outputFileName = "${project.APP_ID}-${variant.buildType.name}.apk" + } + } + + lintOptions { + warningsAsErrors true + disable 'TrustAllX509TrustManager', + 'UnusedResources', + 'ContentDescription', + 'RtlSymmetry', + 'MissingTranslation' + + xmlReport false + textReport true + textOutput 'stdout' + } + + buildFeatures { + viewBinding = true + } + + def testKeystoreFile = file('../files/test.keystore') + def testPropFile = file('../files/test.properties') + def withTestSigning = testKeystoreFile.exists() && testPropFile.exists() + + def releaseKeystoreFile = file('../files/release.keystore') + def releasePropFile = file('../files/release.properties') + def withReleaseSigning = releaseKeystoreFile.exists() && releasePropFile.exists() + + signingConfigs { + + debug { + storeFile file("../files/debug.keystore") + storePassword "debugKey" + keyAlias "debugKey" + keyPassword "debugKey" + } + + if (withTestSigning) { + def testProps = new Properties() + testPropFile.withInputStream { testProps.load(it) } + + test { + storeFile testKeystoreFile + storePassword testProps.getProperty('storePassword') + keyAlias testProps.getProperty('keyAlias') + keyPassword testProps.getProperty('keyPassword') + } + } + + if (withReleaseSigning) { + def releaseProps = new Properties() + releasePropFile.withInputStream { releaseProps.load(it) } + + release { + storeFile releaseKeystoreFile + storePassword releaseProps.getProperty('storePassword') + keyAlias releaseProps.getProperty('keyAlias') + keyPassword releaseProps.getProperty('keyPassword') + } + } + + } + + def compilerArgs = ["-Xuse-experimental=kotlin.Experimental" /*, "-XXLanguage:+InlineClasses"*/] + + buildTypes { + debug { + minifyEnabled false + shrinkResources false + applicationIdSuffix ".debug" + versionNameSuffix "-debug" + signingConfig signingConfigs.debug + resValue "string", "frost_name", "Frost Debug" + resValue "string", "frost_web", "Frost Web Debug" + ext.enableBugsnag = false + + kotlinOptions.freeCompilerArgs += compilerArgs + } + releaseTest { + minifyEnabled true + shrinkResources true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + applicationIdSuffix ".test" + versionNameSuffix "-test" + if (withTestSigning) signingConfig signingConfigs.test + resValue "string", "frost_name", "Frost Test" + resValue "string", "frost_web", "Frost Web Test" + } + release { + minifyEnabled true + shrinkResources true + if (withReleaseSigning) signingConfig signingConfigs.release + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + resValue "string", "frost_name", "Frost" + resValue "string", "frost_web", "Frost Web" + } + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + test.java.srcDirs += 'src/test/kotlin' + androidTest.java.srcDirs += 'src/androidTest/kotlin' + main.assets.srcDirs += ['src/web/assets'] + } + + packagingOptions { + pickFirst 'META-INF/core_release.kotlin_module' + pickFirst 'META-INF/library_release.kotlin_module' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8.toString() + } + + testOptions.unitTests { + includeAndroidResources = true + // Don't throw runtime exceptions for android calls that are not mocked + returnDefaultValues = true + + // Always show the result of every unit test, even if it passes. + all { + testLogging { + events 'skipped', 'failed', 'standardError' + } + } + } + + androidExtensions { + experimental = true + features = ["parcelize"] + } + +} + +node { + version = '13.8.0' + npmVersion = '6.13.7' + download = true + nodeModulesDir = file("${project.projectDir}/src/web") +} + +task npmCi(type: NpmTask) { + dependsOn npmSetup + npmCommand = ["ci"] +} + +task frostWebGen(type: NpmTask) { + dependsOn npmCi + group 'build' + description 'Generate Frost web assets' + args = ['run', 'compile'] +} + +preBuild.dependsOn(frostWebGen) + +repositories { + google() + jcenter() + maven { url "https://jitpack.io" } +} + +dependencies { + androidTestImplementation kau.Dependencies.kotlinTest + androidTestImplementation kau.Dependencies.espresso + androidTestImplementation kau.Dependencies.testRules + androidTestImplementation kau.Dependencies.testRunner + androidTestImplementation kau.Dependencies.kotlinReflect + + testImplementation kau.Dependencies.kotlinTest + testImplementation kau.Dependencies.kotlinReflect + testImplementation kau.Dependencies.junit + + implementation kau.Dependencies.kotlin + + //noinspection GradleDependency + implementation kau.Dependencies.kau('core', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('core-ui', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('adapter', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('fastadapter', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('about', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('colorpicker', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('mediapicker', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('kpref-activity', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('searchview', KAU) + + implementation kau.Dependencies.coreKtx + implementation kau.Dependencies.swipeRefreshLayout + + implementation "androidx.biometric:biometric:${Versions.andxBiometric}" + + implementation kau.Dependencies.koin + testImplementation kau.Dependencies.koinTest + androidTestImplementation kau.Dependencies.koinTest + + implementation kau.Dependencies.coroutines + + implementation "org.apache.commons:commons-text:${Versions.apacheCommonsText}" + + implementation "com.devbrackets.android:exomedia:${Versions.exoMedia}" + + implementation kau.Dependencies.fastAdapter("diff") + implementation kau.Dependencies.fastAdapter("drag") + implementation kau.Dependencies.fastAdapter("expandable") + + //noinspection GradleDependency + implementation kau.Dependencies.glide + //noinspection GradleDependency + kapt kau.Dependencies.glideKapt + + debugImplementation kau.Dependencies.leakCanary + + //Icons + implementation kau.Dependencies.iconicsMaterial + implementation kau.Dependencies.iconicsCommunity + + implementation kau.Dependencies.materialDialog("input") + + implementation "org.jsoup:jsoup:${Versions.jsoup}" + + implementation "com.squareup.okhttp3:okhttp:${Versions.okhttp}" + implementation "com.squareup.okhttp3:logging-interceptor:${Versions.okhttp}" + testImplementation "com.squareup.okhttp3:mockwebserver:${Versions.okhttp}" + androidTestImplementation "com.squareup.okhttp3:mockwebserver:${Versions.okhttp}" + + implementation kau.Dependencies.bugsnag + + implementation "com.davemorrissey.labs:subsampling-scale-image-view:${Versions.scaleImageView}" + + implementation "androidx.room:room-ktx:${Versions.room}" + implementation "androidx.room:room-runtime:${Versions.room}" + kapt "androidx.room:room-compiler:${Versions.room}" + testImplementation "androidx.room:room-testing:${Versions.room}" + +} + +def kotlinResolutions = ['kotlin-reflect', + 'kotlin-stdlib', + 'kotlin-stdlib-jdk7', + 'kotlin-stdlib-jdk8', + 'kotlin-test', + 'kotlin-test-junit4', + 'kotlin-test-junit5'] + +configurations.all { + resolutionStrategy.eachDependency { DependencyResolveDetails details -> + def requested = details.requested + if (requested.group == 'org.jetbrains.kotlin' && requested.name in kotlinResolutions) { + details.useVersion kau.Versions.kotlin + } + } +} + +task lintGithubReleaseApk { + dependsOn 'spotlessCheck' + dependsOn 'lintRelease' +} + +task testGithubReleaseApk { + dependsOn 'testReleaseUnitTest' + dependsOn 'connectedAndroidTest' +} + +task assembleGithubReleaseApk { + dependsOn 'assembleRelease' +} + +// Validates code and generates apk +// TODO order tasks; though technically it doesn't matter +task createGithubReleaseApk { + dependsOn 'lintGithubReleaseApk' + dependsOn 'testGithubReleaseApk' + dependsOn 'assembleGithubReleaseApk' + + tasks.findByName('testGithubReleaseApk').mustRunAfter 'lintGithubReleaseApk' + tasks.findByName('assembleGithubReleaseApk').mustRunAfter 'testGithubReleaseApk' +} diff --git a/gradle.properties b/gradle.properties index a8d6d5ea..6b46ab89 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,22 +1,22 @@ -# Project-wide Gradle settings. -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true -org.gradle.daemon = true - -APP_ID=Frost -APP_GROUP=com.pitchedapps - -KAU=aa5e622 - -android.useAndroidX=true -android.enableJetifier=true +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +org.gradle.daemon = true + +APP_ID=Frost +APP_GROUP=com.pitchedapps + +KAU=67825d6 + +android.useAndroidX=true +android.enableJetifier=true -- cgit v1.2.3 From f90bed24921646e02754139df0918577d3cccc35 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sun, 10 Jan 2021 17:17:41 -0800 Subject: Fix koin imports --- app/build.gradle | 6 +++++- app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/glide/GlideUtils.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/iitems/GenericIItems.kt | 4 ++-- .../main/kotlin/com/pitchedapps/frost/iitems/NotificationIItem.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/iitems/TabIItem.kt | 4 ++-- .../kotlin/com/pitchedapps/frost/prefs/sections/BehaviourPrefs.kt | 4 ++-- .../main/kotlin/com/pitchedapps/frost/prefs/sections/CorePrefs.kt | 4 ++-- .../main/kotlin/com/pitchedapps/frost/prefs/sections/FeedPrefs.kt | 4 ++-- .../main/kotlin/com/pitchedapps/frost/prefs/sections/NotifPrefs.kt | 4 ++-- .../main/kotlin/com/pitchedapps/frost/prefs/sections/ThemePrefs.kt | 4 ++-- .../main/kotlin/com/pitchedapps/frost/services/UpdateReceiver.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/views/AccountItem.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/views/BadgedIcon.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/views/FrostContentView.kt | 4 ++-- .../main/kotlin/com/pitchedapps/frost/views/FrostRecyclerView.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/views/FrostVideoViewer.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/views/FrostViewPager.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/views/FrostWebView.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/views/Keywords.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt | 4 ++-- app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt | 4 ++-- .../main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt | 4 ++-- 24 files changed, 51 insertions(+), 47 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5375ac45..47ed102f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -124,7 +124,11 @@ android { } - def compilerArgs = ["-Xuse-experimental=kotlin.Experimental" /*, "-XXLanguage:+InlineClasses"*/] + def compilerArgs = [ + "-Xuse-experimental=kotlin.Experimental", + // "-XXLanguage:+InlineClasses", + "-Xopt-in=kotlin.RequiresOptIn", + ] buildTypes { debug { diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt index b52b3335..5d560b2a 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt @@ -29,9 +29,9 @@ import org.junit.runner.Description import org.junit.runners.model.Statement import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidLogger -import org.koin.core.KoinComponent +import org.koin.core.component.KoinComponent import org.koin.core.context.startKoin -import org.koin.core.get +import org.koin.core.component.get import org.koin.core.module.Module import org.koin.dsl.module diff --git a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt index 38d0dd5c..7b3eda0e 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt @@ -37,9 +37,9 @@ import com.pitchedapps.frost.utils.L import java.util.Random import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidLogger -import org.koin.core.KoinComponent +import org.koin.core.component.KoinComponent import org.koin.core.context.startKoin -import org.koin.core.get +import org.koin.core.component.get import org.koin.core.module.Module import org.koin.dsl.module diff --git a/app/src/main/kotlin/com/pitchedapps/frost/glide/GlideUtils.kt b/app/src/main/kotlin/com/pitchedapps/frost/glide/GlideUtils.kt index 1ae46c15..7d9694fe 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/glide/GlideUtils.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/glide/GlideUtils.kt @@ -30,8 +30,8 @@ import com.pitchedapps.frost.facebook.FbCookie import okhttp3.Interceptor import okhttp3.OkHttpClient import okhttp3.Response -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 28/12/17. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/iitems/GenericIItems.kt b/app/src/main/kotlin/com/pitchedapps/frost/iitems/GenericIItems.kt index d8d30aef..47a362b4 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/iitems/GenericIItems.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/iitems/GenericIItems.kt @@ -30,8 +30,8 @@ import com.pitchedapps.frost.R import com.pitchedapps.frost.facebook.FbCookie import com.pitchedapps.frost.prefs.Prefs import com.pitchedapps.frost.utils.launchWebOverlay -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 30/12/17. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/iitems/NotificationIItem.kt b/app/src/main/kotlin/com/pitchedapps/frost/iitems/NotificationIItem.kt index b13102f7..56e27ccd 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/iitems/NotificationIItem.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/iitems/NotificationIItem.kt @@ -39,8 +39,8 @@ import com.pitchedapps.frost.glide.GlideApp import com.pitchedapps.frost.prefs.Prefs import com.pitchedapps.frost.utils.isIndependent import com.pitchedapps.frost.utils.launchWebOverlay -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 27/12/17. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/iitems/TabIItem.kt b/app/src/main/kotlin/com/pitchedapps/frost/iitems/TabIItem.kt index e519aee4..6f278fe2 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/iitems/TabIItem.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/iitems/TabIItem.kt @@ -30,8 +30,8 @@ import com.mikepenz.fastadapter.drag.IDraggable import com.pitchedapps.frost.R import com.pitchedapps.frost.facebook.FbItem import com.pitchedapps.frost.prefs.Prefs -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 26/11/17. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/BehaviourPrefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/BehaviourPrefs.kt index f023d4af..9d621048 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/BehaviourPrefs.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/BehaviourPrefs.kt @@ -21,8 +21,8 @@ import ca.allanwang.kau.kpref.KPrefFactory import com.pitchedapps.frost.BuildConfig import com.pitchedapps.frost.prefs.OldPrefs import com.pitchedapps.frost.prefs.PrefsBase -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject interface BehaviourPrefs : PrefsBase { var biometricsEnabled: Boolean diff --git a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/CorePrefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/CorePrefs.kt index d1609d73..b7041f75 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/CorePrefs.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/CorePrefs.kt @@ -21,8 +21,8 @@ import ca.allanwang.kau.kpref.KPrefFactory import com.pitchedapps.frost.BuildConfig import com.pitchedapps.frost.prefs.OldPrefs import com.pitchedapps.frost.prefs.PrefsBase -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject interface CorePrefs : PrefsBase { var lastLaunch: Long diff --git a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/FeedPrefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/FeedPrefs.kt index 232a5ca3..3fe2cfd8 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/FeedPrefs.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/FeedPrefs.kt @@ -22,8 +22,8 @@ import com.pitchedapps.frost.BuildConfig import com.pitchedapps.frost.enums.MainActivityLayout import com.pitchedapps.frost.prefs.OldPrefs import com.pitchedapps.frost.prefs.PrefsBase -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject interface FeedPrefs : PrefsBase { var webTextScaling: Int diff --git a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/NotifPrefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/NotifPrefs.kt index 5b0ba83b..a9a6956f 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/NotifPrefs.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/NotifPrefs.kt @@ -21,8 +21,8 @@ import ca.allanwang.kau.kpref.KPrefFactory import com.pitchedapps.frost.BuildConfig import com.pitchedapps.frost.prefs.OldPrefs import com.pitchedapps.frost.prefs.PrefsBase -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject interface NotifPrefs : PrefsBase { var notificationKeywords: Set diff --git a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/ThemePrefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/ThemePrefs.kt index 487827de..84f64435 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/ThemePrefs.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/ThemePrefs.kt @@ -29,8 +29,8 @@ import com.pitchedapps.frost.enums.Theme import com.pitchedapps.frost.injectors.InjectorContract import com.pitchedapps.frost.prefs.OldPrefs import com.pitchedapps.frost.prefs.PrefsBase -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject interface ThemePrefs : PrefsBase { var theme: Int diff --git a/app/src/main/kotlin/com/pitchedapps/frost/services/UpdateReceiver.kt b/app/src/main/kotlin/com/pitchedapps/frost/services/UpdateReceiver.kt index 5506c812..439838a9 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/services/UpdateReceiver.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/services/UpdateReceiver.kt @@ -21,8 +21,8 @@ import android.content.Context import android.content.Intent import com.pitchedapps.frost.prefs.Prefs import com.pitchedapps.frost.utils.L -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 2017-05-31. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/AccountItem.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/AccountItem.kt index b621da07..6ba9ff4d 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/views/AccountItem.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/views/AccountItem.kt @@ -38,8 +38,8 @@ import com.pitchedapps.frost.facebook.profilePictureUrl import com.pitchedapps.frost.glide.FrostGlide import com.pitchedapps.frost.glide.GlideApp import com.pitchedapps.frost.prefs.Prefs -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 2017-06-05. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/BadgedIcon.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/BadgedIcon.kt index 4b5b24c1..ed94b59f 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/views/BadgedIcon.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/views/BadgedIcon.kt @@ -30,8 +30,8 @@ import ca.allanwang.kau.utils.withAlpha import com.mikepenz.iconics.typeface.IIcon import com.pitchedapps.frost.databinding.ViewBadgedIconBinding import com.pitchedapps.frost.prefs.Prefs -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 2017-06-19. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostContentView.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostContentView.kt index 7245e64e..55f41807 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostContentView.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostContentView.kt @@ -47,8 +47,8 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.channels.BroadcastChannel import kotlinx.coroutines.channels.ConflatedBroadcastChannel import kotlinx.coroutines.channels.ReceiveChannel -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject class FrostContentWeb @JvmOverloads constructor( context: Context, diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostRecyclerView.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostRecyclerView.kt index 7bdfff0c..89009b56 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostRecyclerView.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostRecyclerView.kt @@ -30,8 +30,8 @@ import com.pitchedapps.frost.fragments.RecyclerContentContract import com.pitchedapps.frost.prefs.Prefs import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.launch -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 2017-05-29. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostVideoViewer.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostVideoViewer.kt index 9c10cd01..09be1184 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostVideoViewer.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostVideoViewer.kt @@ -47,8 +47,8 @@ import com.pitchedapps.frost.prefs.Prefs import com.pitchedapps.frost.utils.L import com.pitchedapps.frost.utils.ctxCoroutine import com.pitchedapps.frost.utils.frostDownload -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 2017-10-13. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostViewPager.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostViewPager.kt index 41c3ad86..e3a23e12 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostViewPager.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostViewPager.kt @@ -22,8 +22,8 @@ import android.util.AttributeSet import android.view.MotionEvent import androidx.viewpager.widget.ViewPager import com.pitchedapps.frost.prefs.Prefs -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 2017-07-07. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostWebView.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostWebView.kt index ad8e9c77..34bb5204 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostWebView.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostWebView.kt @@ -45,8 +45,8 @@ import com.pitchedapps.frost.web.NestedWebView import kotlin.math.abs import kotlin.math.max import kotlin.math.min -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 2017-05-29. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/Keywords.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/Keywords.kt index b4ef2837..0d53608b 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/views/Keywords.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/views/Keywords.kt @@ -38,8 +38,8 @@ import com.mikepenz.iconics.typeface.IIcon import com.mikepenz.iconics.typeface.library.googlematerial.GoogleMaterial import com.pitchedapps.frost.R import com.pitchedapps.frost.prefs.Prefs -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 2017-06-19. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt index 35efaeaf..17ab77a7 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt @@ -35,8 +35,8 @@ import com.pitchedapps.frost.utils.isFacebookUrl import java.io.File import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 2018-01-05. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt index e111e5c3..1a081d2e 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt @@ -42,8 +42,8 @@ import com.pitchedapps.frost.utils.L import com.pitchedapps.frost.utils.isFacebookUrl import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.coroutineScope -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject /** * Created by Allan Wang on 2017-05-29. diff --git a/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt b/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt index 0fdc19ae..aef3fada 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt @@ -47,8 +47,8 @@ import com.pitchedapps.frost.prefs.Prefs import com.pitchedapps.frost.services.NotificationContent import com.pitchedapps.frost.services.NotificationType import com.pitchedapps.frost.utils.toReadableTime -import org.koin.core.KoinComponent -import org.koin.core.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject class NotificationWidget : AppWidgetProvider(), KoinComponent { -- cgit v1.2.3 From 6b00985c54b9ea4eb02f7bf9f253971ee1a77f22 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sun, 10 Jan 2021 17:21:24 -0800 Subject: Fix line endings --- app/build.gradle | 712 +++++++++++++++++++++++++++--------------------------- gradle.properties | 44 ++-- 2 files changed, 378 insertions(+), 378 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 47ed102f..43391c72 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,356 +1,356 @@ -apply plugin: 'com.android.application' -apply plugin: 'com.bugsnag.android.gradle' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' -apply plugin: 'kotlin-kapt' -apply plugin: 'com.getkeepsafe.dexcount' -apply plugin: 'com.gladed.androidgitversion' - - -buildscript { - repositories { - jcenter() - maven { url "https://plugins.gradle.org/m2/" } - } - dependencies { - classpath "com.github.node-gradle:gradle-node-plugin:${Versions.nodeGradle}" - } -} - -apply plugin: 'com.github.node-gradle.node' - -apply from: '../spotless.gradle' -group = APP_GROUP - -android { - compileSdkVersion Versions.targetSdk - - androidGitVersion { - codeFormat = 'MMNNPPXX' - format = '%tag%%-count%%-commit%' - prefix 'v' - } - - defaultConfig { - applicationId "${project.APP_GROUP}.${project.APP_ID.toLowerCase(Locale.CANADA)}" - minSdkVersion kau.Versions.minSdk - targetSdkVersion Versions.targetSdk -// versionCode 2040700 - versionCode androidGitVersion.code() -// versionName '2.4.7' - versionName androidGitVersion.name() - - if (System.getenv('TRAVIS') != 'true') { - // Verification for F-Droid builds - if (versionCode != androidGitVersion.code()) { - throw new GradleException("Version code mismatch, expected ${androidGitVersion.code()}, got $versionCode") - } - if (versionName != androidGitVersion.name()) { - throw new GradleException("Version name mismatch, expected ${androidGitVersion.name()}, got $versionName") - } - } - multiDexEnabled true - testInstrumentationRunner "com.pitchedapps.frost.FrostTestRunner" - javaCompileOptions { - annotationProcessorOptions { - arguments = ["room.schemaLocation": "$projectDir/src/schemas".toString()] - } - } - } - - applicationVariants.all { variant -> - variant.outputs.all { - outputFileName = "${project.APP_ID}-${variant.buildType.name}.apk" - } - } - - lintOptions { - warningsAsErrors true - disable 'TrustAllX509TrustManager', - 'UnusedResources', - 'ContentDescription', - 'RtlSymmetry', - 'MissingTranslation' - - xmlReport false - textReport true - textOutput 'stdout' - } - - buildFeatures { - viewBinding = true - } - - def testKeystoreFile = file('../files/test.keystore') - def testPropFile = file('../files/test.properties') - def withTestSigning = testKeystoreFile.exists() && testPropFile.exists() - - def releaseKeystoreFile = file('../files/release.keystore') - def releasePropFile = file('../files/release.properties') - def withReleaseSigning = releaseKeystoreFile.exists() && releasePropFile.exists() - - signingConfigs { - - debug { - storeFile file("../files/debug.keystore") - storePassword "debugKey" - keyAlias "debugKey" - keyPassword "debugKey" - } - - if (withTestSigning) { - def testProps = new Properties() - testPropFile.withInputStream { testProps.load(it) } - - test { - storeFile testKeystoreFile - storePassword testProps.getProperty('storePassword') - keyAlias testProps.getProperty('keyAlias') - keyPassword testProps.getProperty('keyPassword') - } - } - - if (withReleaseSigning) { - def releaseProps = new Properties() - releasePropFile.withInputStream { releaseProps.load(it) } - - release { - storeFile releaseKeystoreFile - storePassword releaseProps.getProperty('storePassword') - keyAlias releaseProps.getProperty('keyAlias') - keyPassword releaseProps.getProperty('keyPassword') - } - } - - } - - def compilerArgs = [ - "-Xuse-experimental=kotlin.Experimental", - // "-XXLanguage:+InlineClasses", - "-Xopt-in=kotlin.RequiresOptIn", - ] - - buildTypes { - debug { - minifyEnabled false - shrinkResources false - applicationIdSuffix ".debug" - versionNameSuffix "-debug" - signingConfig signingConfigs.debug - resValue "string", "frost_name", "Frost Debug" - resValue "string", "frost_web", "Frost Web Debug" - ext.enableBugsnag = false - - kotlinOptions.freeCompilerArgs += compilerArgs - } - releaseTest { - minifyEnabled true - shrinkResources true - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - applicationIdSuffix ".test" - versionNameSuffix "-test" - if (withTestSigning) signingConfig signingConfigs.test - resValue "string", "frost_name", "Frost Test" - resValue "string", "frost_web", "Frost Web Test" - } - release { - minifyEnabled true - shrinkResources true - if (withReleaseSigning) signingConfig signingConfigs.release - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - resValue "string", "frost_name", "Frost" - resValue "string", "frost_web", "Frost Web" - } - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - test.java.srcDirs += 'src/test/kotlin' - androidTest.java.srcDirs += 'src/androidTest/kotlin' - main.assets.srcDirs += ['src/web/assets'] - } - - packagingOptions { - pickFirst 'META-INF/core_release.kotlin_module' - pickFirst 'META-INF/library_release.kotlin_module' - } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() - } - - testOptions.unitTests { - includeAndroidResources = true - // Don't throw runtime exceptions for android calls that are not mocked - returnDefaultValues = true - - // Always show the result of every unit test, even if it passes. - all { - testLogging { - events 'skipped', 'failed', 'standardError' - } - } - } - - androidExtensions { - experimental = true - features = ["parcelize"] - } - -} - -node { - version = '13.8.0' - npmVersion = '6.13.7' - download = true - nodeModulesDir = file("${project.projectDir}/src/web") -} - -task npmCi(type: NpmTask) { - dependsOn npmSetup - npmCommand = ["ci"] -} - -task frostWebGen(type: NpmTask) { - dependsOn npmCi - group 'build' - description 'Generate Frost web assets' - args = ['run', 'compile'] -} - -preBuild.dependsOn(frostWebGen) - -repositories { - google() - jcenter() - maven { url "https://jitpack.io" } -} - -dependencies { - androidTestImplementation kau.Dependencies.kotlinTest - androidTestImplementation kau.Dependencies.espresso - androidTestImplementation kau.Dependencies.testRules - androidTestImplementation kau.Dependencies.testRunner - androidTestImplementation kau.Dependencies.kotlinReflect - - testImplementation kau.Dependencies.kotlinTest - testImplementation kau.Dependencies.kotlinReflect - testImplementation kau.Dependencies.junit - - implementation kau.Dependencies.kotlin - - //noinspection GradleDependency - implementation kau.Dependencies.kau('core', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('core-ui', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('adapter', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('fastadapter', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('about', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('colorpicker', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('mediapicker', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('kpref-activity', KAU) - //noinspection GradleDependency - implementation kau.Dependencies.kau('searchview', KAU) - - implementation kau.Dependencies.coreKtx - implementation kau.Dependencies.swipeRefreshLayout - - implementation "androidx.biometric:biometric:${Versions.andxBiometric}" - - implementation kau.Dependencies.koin - testImplementation kau.Dependencies.koinTest - androidTestImplementation kau.Dependencies.koinTest - - implementation kau.Dependencies.coroutines - - implementation "org.apache.commons:commons-text:${Versions.apacheCommonsText}" - - implementation "com.devbrackets.android:exomedia:${Versions.exoMedia}" - - implementation kau.Dependencies.fastAdapter("diff") - implementation kau.Dependencies.fastAdapter("drag") - implementation kau.Dependencies.fastAdapter("expandable") - - //noinspection GradleDependency - implementation kau.Dependencies.glide - //noinspection GradleDependency - kapt kau.Dependencies.glideKapt - - debugImplementation kau.Dependencies.leakCanary - - //Icons - implementation kau.Dependencies.iconicsMaterial - implementation kau.Dependencies.iconicsCommunity - - implementation kau.Dependencies.materialDialog("input") - - implementation "org.jsoup:jsoup:${Versions.jsoup}" - - implementation "com.squareup.okhttp3:okhttp:${Versions.okhttp}" - implementation "com.squareup.okhttp3:logging-interceptor:${Versions.okhttp}" - testImplementation "com.squareup.okhttp3:mockwebserver:${Versions.okhttp}" - androidTestImplementation "com.squareup.okhttp3:mockwebserver:${Versions.okhttp}" - - implementation kau.Dependencies.bugsnag - - implementation "com.davemorrissey.labs:subsampling-scale-image-view:${Versions.scaleImageView}" - - implementation "androidx.room:room-ktx:${Versions.room}" - implementation "androidx.room:room-runtime:${Versions.room}" - kapt "androidx.room:room-compiler:${Versions.room}" - testImplementation "androidx.room:room-testing:${Versions.room}" - -} - -def kotlinResolutions = ['kotlin-reflect', - 'kotlin-stdlib', - 'kotlin-stdlib-jdk7', - 'kotlin-stdlib-jdk8', - 'kotlin-test', - 'kotlin-test-junit4', - 'kotlin-test-junit5'] - -configurations.all { - resolutionStrategy.eachDependency { DependencyResolveDetails details -> - def requested = details.requested - if (requested.group == 'org.jetbrains.kotlin' && requested.name in kotlinResolutions) { - details.useVersion kau.Versions.kotlin - } - } -} - -task lintGithubReleaseApk { - dependsOn 'spotlessCheck' - dependsOn 'lintRelease' -} - -task testGithubReleaseApk { - dependsOn 'testReleaseUnitTest' - dependsOn 'connectedAndroidTest' -} - -task assembleGithubReleaseApk { - dependsOn 'assembleRelease' -} - -// Validates code and generates apk -// TODO order tasks; though technically it doesn't matter -task createGithubReleaseApk { - dependsOn 'lintGithubReleaseApk' - dependsOn 'testGithubReleaseApk' - dependsOn 'assembleGithubReleaseApk' - - tasks.findByName('testGithubReleaseApk').mustRunAfter 'lintGithubReleaseApk' - tasks.findByName('assembleGithubReleaseApk').mustRunAfter 'testGithubReleaseApk' -} +apply plugin: 'com.android.application' +apply plugin: 'com.bugsnag.android.gradle' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-kapt' +apply plugin: 'com.getkeepsafe.dexcount' +apply plugin: 'com.gladed.androidgitversion' + + +buildscript { + repositories { + jcenter() + maven { url "https://plugins.gradle.org/m2/" } + } + dependencies { + classpath "com.github.node-gradle:gradle-node-plugin:${Versions.nodeGradle}" + } +} + +apply plugin: 'com.github.node-gradle.node' + +apply from: '../spotless.gradle' +group = APP_GROUP + +android { + compileSdkVersion Versions.targetSdk + + androidGitVersion { + codeFormat = 'MMNNPPXX' + format = '%tag%%-count%%-commit%' + prefix 'v' + } + + defaultConfig { + applicationId "${project.APP_GROUP}.${project.APP_ID.toLowerCase(Locale.CANADA)}" + minSdkVersion kau.Versions.minSdk + targetSdkVersion Versions.targetSdk +// versionCode 2040700 + versionCode androidGitVersion.code() +// versionName '2.4.7' + versionName androidGitVersion.name() + + if (System.getenv('TRAVIS') != 'true') { + // Verification for F-Droid builds + if (versionCode != androidGitVersion.code()) { + throw new GradleException("Version code mismatch, expected ${androidGitVersion.code()}, got $versionCode") + } + if (versionName != androidGitVersion.name()) { + throw new GradleException("Version name mismatch, expected ${androidGitVersion.name()}, got $versionName") + } + } + multiDexEnabled true + testInstrumentationRunner "com.pitchedapps.frost.FrostTestRunner" + javaCompileOptions { + annotationProcessorOptions { + arguments = ["room.schemaLocation": "$projectDir/src/schemas".toString()] + } + } + } + + applicationVariants.all { variant -> + variant.outputs.all { + outputFileName = "${project.APP_ID}-${variant.buildType.name}.apk" + } + } + + lintOptions { + warningsAsErrors true + disable 'TrustAllX509TrustManager', + 'UnusedResources', + 'ContentDescription', + 'RtlSymmetry', + 'MissingTranslation' + + xmlReport false + textReport true + textOutput 'stdout' + } + + buildFeatures { + viewBinding = true + } + + def testKeystoreFile = file('../files/test.keystore') + def testPropFile = file('../files/test.properties') + def withTestSigning = testKeystoreFile.exists() && testPropFile.exists() + + def releaseKeystoreFile = file('../files/release.keystore') + def releasePropFile = file('../files/release.properties') + def withReleaseSigning = releaseKeystoreFile.exists() && releasePropFile.exists() + + signingConfigs { + + debug { + storeFile file("../files/debug.keystore") + storePassword "debugKey" + keyAlias "debugKey" + keyPassword "debugKey" + } + + if (withTestSigning) { + def testProps = new Properties() + testPropFile.withInputStream { testProps.load(it) } + + test { + storeFile testKeystoreFile + storePassword testProps.getProperty('storePassword') + keyAlias testProps.getProperty('keyAlias') + keyPassword testProps.getProperty('keyPassword') + } + } + + if (withReleaseSigning) { + def releaseProps = new Properties() + releasePropFile.withInputStream { releaseProps.load(it) } + + release { + storeFile releaseKeystoreFile + storePassword releaseProps.getProperty('storePassword') + keyAlias releaseProps.getProperty('keyAlias') + keyPassword releaseProps.getProperty('keyPassword') + } + } + + } + + def compilerArgs = [ + "-Xuse-experimental=kotlin.Experimental", + // "-XXLanguage:+InlineClasses", + "-Xopt-in=kotlin.RequiresOptIn", + ] + + buildTypes { + debug { + minifyEnabled false + shrinkResources false + applicationIdSuffix ".debug" + versionNameSuffix "-debug" + signingConfig signingConfigs.debug + resValue "string", "frost_name", "Frost Debug" + resValue "string", "frost_web", "Frost Web Debug" + ext.enableBugsnag = false + + kotlinOptions.freeCompilerArgs += compilerArgs + } + releaseTest { + minifyEnabled true + shrinkResources true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + applicationIdSuffix ".test" + versionNameSuffix "-test" + if (withTestSigning) signingConfig signingConfigs.test + resValue "string", "frost_name", "Frost Test" + resValue "string", "frost_web", "Frost Web Test" + } + release { + minifyEnabled true + shrinkResources true + if (withReleaseSigning) signingConfig signingConfigs.release + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + resValue "string", "frost_name", "Frost" + resValue "string", "frost_web", "Frost Web" + } + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + test.java.srcDirs += 'src/test/kotlin' + androidTest.java.srcDirs += 'src/androidTest/kotlin' + main.assets.srcDirs += ['src/web/assets'] + } + + packagingOptions { + pickFirst 'META-INF/core_release.kotlin_module' + pickFirst 'META-INF/library_release.kotlin_module' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8.toString() + } + + testOptions.unitTests { + includeAndroidResources = true + // Don't throw runtime exceptions for android calls that are not mocked + returnDefaultValues = true + + // Always show the result of every unit test, even if it passes. + all { + testLogging { + events 'skipped', 'failed', 'standardError' + } + } + } + + androidExtensions { + experimental = true + features = ["parcelize"] + } + +} + +node { + version = '13.8.0' + npmVersion = '6.13.7' + download = true + nodeModulesDir = file("${project.projectDir}/src/web") +} + +task npmCi(type: NpmTask) { + dependsOn npmSetup + npmCommand = ["ci"] +} + +task frostWebGen(type: NpmTask) { + dependsOn npmCi + group 'build' + description 'Generate Frost web assets' + args = ['run', 'compile'] +} + +preBuild.dependsOn(frostWebGen) + +repositories { + google() + jcenter() + maven { url "https://jitpack.io" } +} + +dependencies { + androidTestImplementation kau.Dependencies.kotlinTest + androidTestImplementation kau.Dependencies.espresso + androidTestImplementation kau.Dependencies.testRules + androidTestImplementation kau.Dependencies.testRunner + androidTestImplementation kau.Dependencies.kotlinReflect + + testImplementation kau.Dependencies.kotlinTest + testImplementation kau.Dependencies.kotlinReflect + testImplementation kau.Dependencies.junit + + implementation kau.Dependencies.kotlin + + //noinspection GradleDependency + implementation kau.Dependencies.kau('core', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('core-ui', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('adapter', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('fastadapter', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('about', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('colorpicker', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('mediapicker', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('kpref-activity', KAU) + //noinspection GradleDependency + implementation kau.Dependencies.kau('searchview', KAU) + + implementation kau.Dependencies.coreKtx + implementation kau.Dependencies.swipeRefreshLayout + + implementation "androidx.biometric:biometric:${Versions.andxBiometric}" + + implementation kau.Dependencies.koin + testImplementation kau.Dependencies.koinTest + androidTestImplementation kau.Dependencies.koinTest + + implementation kau.Dependencies.coroutines + + implementation "org.apache.commons:commons-text:${Versions.apacheCommonsText}" + + implementation "com.devbrackets.android:exomedia:${Versions.exoMedia}" + + implementation kau.Dependencies.fastAdapter("diff") + implementation kau.Dependencies.fastAdapter("drag") + implementation kau.Dependencies.fastAdapter("expandable") + + //noinspection GradleDependency + implementation kau.Dependencies.glide + //noinspection GradleDependency + kapt kau.Dependencies.glideKapt + + debugImplementation kau.Dependencies.leakCanary + + //Icons + implementation kau.Dependencies.iconicsMaterial + implementation kau.Dependencies.iconicsCommunity + + implementation kau.Dependencies.materialDialog("input") + + implementation "org.jsoup:jsoup:${Versions.jsoup}" + + implementation "com.squareup.okhttp3:okhttp:${Versions.okhttp}" + implementation "com.squareup.okhttp3:logging-interceptor:${Versions.okhttp}" + testImplementation "com.squareup.okhttp3:mockwebserver:${Versions.okhttp}" + androidTestImplementation "com.squareup.okhttp3:mockwebserver:${Versions.okhttp}" + + implementation kau.Dependencies.bugsnag + + implementation "com.davemorrissey.labs:subsampling-scale-image-view:${Versions.scaleImageView}" + + implementation "androidx.room:room-ktx:${Versions.room}" + implementation "androidx.room:room-runtime:${Versions.room}" + kapt "androidx.room:room-compiler:${Versions.room}" + testImplementation "androidx.room:room-testing:${Versions.room}" + +} + +def kotlinResolutions = ['kotlin-reflect', + 'kotlin-stdlib', + 'kotlin-stdlib-jdk7', + 'kotlin-stdlib-jdk8', + 'kotlin-test', + 'kotlin-test-junit4', + 'kotlin-test-junit5'] + +configurations.all { + resolutionStrategy.eachDependency { DependencyResolveDetails details -> + def requested = details.requested + if (requested.group == 'org.jetbrains.kotlin' && requested.name in kotlinResolutions) { + details.useVersion kau.Versions.kotlin + } + } +} + +task lintGithubReleaseApk { + dependsOn 'spotlessCheck' + dependsOn 'lintRelease' +} + +task testGithubReleaseApk { + dependsOn 'testReleaseUnitTest' + dependsOn 'connectedAndroidTest' +} + +task assembleGithubReleaseApk { + dependsOn 'assembleRelease' +} + +// Validates code and generates apk +// TODO order tasks; though technically it doesn't matter +task createGithubReleaseApk { + dependsOn 'lintGithubReleaseApk' + dependsOn 'testGithubReleaseApk' + dependsOn 'assembleGithubReleaseApk' + + tasks.findByName('testGithubReleaseApk').mustRunAfter 'lintGithubReleaseApk' + tasks.findByName('assembleGithubReleaseApk').mustRunAfter 'testGithubReleaseApk' +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 6b46ab89..0f07376d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,22 +1,22 @@ -# Project-wide Gradle settings. -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true -org.gradle.daemon = true - -APP_ID=Frost -APP_GROUP=com.pitchedapps - -KAU=67825d6 - -android.useAndroidX=true -android.enableJetifier=true +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +org.gradle.daemon = true + +APP_ID=Frost +APP_GROUP=com.pitchedapps + +KAU=67825d6 + +android.useAndroidX=true +android.enableJetifier=true -- cgit v1.2.3 From 60466a9a634a4e18e9f442e9ed5cfd4b38191727 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sun, 10 Jan 2021 17:33:11 -0800 Subject: Spotless apply --- app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt | 2 +- app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt index 5d560b2a..5103a0cf 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt @@ -30,8 +30,8 @@ import org.junit.runners.model.Statement import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidLogger import org.koin.core.component.KoinComponent -import org.koin.core.context.startKoin import org.koin.core.component.get +import org.koin.core.context.startKoin import org.koin.core.module.Module import org.koin.dsl.module diff --git a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt index 7b3eda0e..07158421 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt @@ -38,8 +38,8 @@ import java.util.Random import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidLogger import org.koin.core.component.KoinComponent -import org.koin.core.context.startKoin import org.koin.core.component.get +import org.koin.core.context.startKoin import org.koin.core.module.Module import org.koin.dsl.module -- cgit v1.2.3