diff --git a/build.gradle.kts b/build.gradle.kts index 4028fb02e..62b443510 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,10 +1,6 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - alias(libs.plugins.android.application) apply false - alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.serialization) apply false alias(libs.plugins.firebase.crashlytics) apply false alias(libs.plugins.gms) apply false - //alias(libs.plugins.butterknife) apply false - alias(libs.plugins.hilt.gradle) apply false -} +} \ No newline at end of file diff --git a/core/build.gradle b/core/build.gradle deleted file mode 100644 index d5478e918..000000000 --- a/core/build.gradle +++ /dev/null @@ -1,78 +0,0 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply from: '../config/quality/quality.gradle' -apply plugin: 'kotlin-parcelize' -apply plugin: 'com.google.dagger.hilt.android' - -group='com.github.ankurs287' - -android { - compileSdk 34 - namespace 'org.mifos.mobilewallet.core' - defaultConfig { - minSdkVersion 24 - targetSdkVersion 34 - testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' - - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - debug { - minifyEnabled false - } - } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - } - - kotlinOptions { - jvmTarget = "17" - } - - buildFeatures{ - dataBinding true - buildConfig true - } - - lint { - abortOnError false - disable 'InvalidPackage' - } -} - -dependencies { - implementation fileTree(include: ['*.jar'], dir: 'libs') - implementation 'androidx.appcompat:appcompat:1.6.1' - - implementation "com.google.dagger:hilt-android:2.48" - kapt "com.google.dagger:hilt-compiler:2.48" - - implementation(libs.squareup.retrofit2) { - // exclude Retrofit’s OkHttp peer-dependency module and define your own module import - exclude module: 'okhttp' - } - implementation(libs.squareup.retrofit.adapter.rxjava) - implementation(libs.squareup.retrofit.converter.gson) - implementation(libs.squareup.okhttp) - implementation(libs.squareup.logging.interceptor) - - implementation(libs.reactivex.rxjava.android) - implementation(libs.reactivex.rxjava) - - implementation(libs.jetbrains.kotlin.jdk7) - - testImplementation(libs.junit) - androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', { - exclude group: 'com.android.support', module: 'support-annotations' - }) -} - -kapt { - correctErrorTypes true -} \ No newline at end of file diff --git a/core/build.gradle.kts b/core/build.gradle.kts new file mode 100644 index 000000000..2579091e1 --- /dev/null +++ b/core/build.gradle.kts @@ -0,0 +1,81 @@ +plugins { + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.kapt) + alias(libs.plugins.kotlin.parcelize) +} + +apply(from = "../config/quality/quality.gradle") + +group = "com.github.ankurs287" + +android { + compileSdk = libs.versions.compileSdk.get().toInt() + namespace = "org.mifos.mobilewallet.core" + defaultConfig { + minSdk = libs.versions.minSdk.get().toInt() + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + buildTypes { + getByName("release") { + isMinifyEnabled = false + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + } + getByName("debug") { + isMinifyEnabled = false + } + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + composeOptions { + kotlinCompilerExtensionVersion = "1.5.7" + } + + kotlinOptions { + jvmTarget = "17" + } + + buildFeatures{ + dataBinding = true + buildConfig = true + } + + lint { + abortOnError = false + disable += "InvalidPackage" + } +} + +dependencies { + implementation("androidx.appcompat:appcompat:1.6.1") + + implementation("com.google.dagger:hilt-android:2.48") + kapt("com.google.dagger:hilt-compiler:2.48") + + implementation(libs.squareup.retrofit2) { + // exclude Retrofit’s OkHttp peer-dependency module and define your own module import + exclude(module = "okhttp") + } + implementation(libs.squareup.retrofit.adapter.rxjava) + implementation(libs.squareup.retrofit.converter.gson) + implementation(libs.squareup.okhttp) + implementation(libs.squareup.logging.interceptor) + + implementation(libs.reactivex.rxjava.android) + implementation(libs.reactivex.rxjava) + + implementation(libs.jetbrains.kotlin.jdk7) + + testImplementation(libs.junit) + androidTestImplementation("androidx.test.espresso:espresso-core:3.1.0") { + exclude(group = "com.android.support", module = "support-annotations") + } +} + +kapt { + correctErrorTypes = true +} \ No newline at end of file diff --git a/core/proguard-rules.pro b/core/proguard-rules.pro index 6a795823c..918d3d0ef 100644 --- a/core/proguard-rules.pro +++ b/core/proguard-rules.pro @@ -2,7 +2,7 @@ # By default, the flags in this file are appended to flags specified # in /home/naman/sdk/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. +# directive in build.gradle.kts. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ed1618d1b..955cb6524 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,47 +9,21 @@ androidxComposeCompiler = "1.5.1" androidxCore = "1.10.1" androidxHilt = "1.1.0-alpha01" androidxLifecycle = "2.6.1" -androidxNavigation = "2.7.0" -androidxRoom = "2.5.1" -androidxTestCore = "1.5.0" -androidxTestExt = "1.1.5" -androidxTestRunner = "1.5.2" -coroutines = "1.7.3" hilt = "2.47" junit = "4.13.2" -kotlin = "1.9.20" -ksp = "1.9.0-1.0.12" -amplify = "2.11.1" -coreLibraryDesugaring = "1.1.5" -androidxWork = "2.9.0-alpha01" -hiltWorker = "1.0.0" -coil = "2.4.0" -okhttp = "4.10.0" -lottie = "6.1.0" -firebaseBom = "31.2.0" +kotlin = "1.9.21" +ksp = "1.9.21-1.0.15" firebaseCrashlyticsPlugin = "2.9.2" gmsPlugin = "4.3.14" butterknifePlugin = "10.2.3" secrets = "2.0.1" -androidxDataStore = "1.0.0" -gmsAdmob = "22.0.0" -userMessagingPlatform = "2.1.0" - -## Sdk and tools -buildToolsVersion = "30.0.3" -composeVersion = "1.5.4" lifecycleVersion = "2.6.2" lifecycleExtensionsVersion = "2.2.0" activityVersion = "1.5.0" fragmentVersion = "1.5.0" - -## App dependencies -supportLibraryVersion = "28.0.0" retrofitVersion = "2.2.0" okHttp3Version = "3.6.0" butterKnifeVersion = "10.2.3" -dbflowVersion = "3.1.1" -espressoVersion = "2.2.2" rxandroidVersion = "1.1.0" rxjavaVersion = "1.1.4" junitVersion = "4.12" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 9f8fe5d6c..658405ed1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Fri Mar 11 18:59:41 IST 2022 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/mifospay/build.gradle b/mifospay/build.gradle deleted file mode 100644 index 98a22c2ce..000000000 --- a/mifospay/build.gradle +++ /dev/null @@ -1,148 +0,0 @@ -apply plugin: 'com.android.application' -apply from: '../config/quality/quality.gradle' -apply plugin: 'com.google.gms.google-services' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-parcelize' -apply plugin: 'com.google.dagger.hilt.android' - -android { - compileSdk 34 - namespace 'org.mifos.mobilewallet.mifospay' - defaultConfig { - applicationId "org.mifos.mobilewallet.mifospay" - minSdkVersion 24 - targetSdkVersion 34 - versionCode 1 - versionName "1.0" - vectorDrawables.useSupportLibrary = true - testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - buildFeatures{ - dataBinding true - compose = true - buildConfig true - } - - composeOptions { - kotlinCompilerExtensionVersion "1.5.5" - } - - compileOptions { - incremental = false - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - } - - kotlinOptions { - jvmTarget = "17" - } - - lint { - abortOnError false - disable 'InvalidPackage' - } -} - -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation project(':core') - implementation 'androidx.constraintlayout:constraintlayout:2.1.4' - - implementation 'androidx.appcompat:appcompat:1.6.1' - implementation "androidx.core:core-ktx:1.12.0" - implementation libs.androidx.activity.ktx - implementation libs.androidx.fragment.ktx - implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'androidx.vectordrawable:vectordrawable-animated:1.1.0' - implementation 'androidx.media:media:1.6.0' - implementation 'androidx.cardview:cardview:1.0.0' - implementation 'androidx.recyclerview:recyclerview:1.3.2' - api 'com.google.android.material:material:1.0.0' // update require alot of UI changes - - // Compose - def composeBom = platform(libs.androidx.compose.bom) - implementation(composeBom) - implementation(libs.androidx.compose.ui) - implementation(libs.androidx.compose.ui.tooling.preview) - implementation(libs.androidx.compose.material3) - implementation(libs.androidx.hilt.navigation.compose) - implementation(libs.androidx.lifecycle.runtime.compose) - implementation(libs.androidx.lifecycle.viewmodel.compose) - implementation(libs.androidx.compose.material.icons.extended) - - - // ViewModel - implementation(libs.androidx.lifecycle.ktx) - implementation(libs.androidx.lifecycle.extensions) - - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") - - implementation(libs.jakewharton.butterknife) - implementation(libs.jakewharton.compiler) - - // Splash API - implementation("androidx.core:core-splashscreen:1.0.1") - - // Compose - implementation(platform("androidx.compose:compose-bom:2023.03.00")) - implementation("androidx.compose.ui:ui") - implementation("androidx.compose.ui:ui-graphics") - implementation("androidx.compose.ui:ui-tooling-preview") - implementation("androidx.compose.material3:material3") - - implementation("androidx.activity:activity-compose:1.8.0") - - runtimeOnly(libs.androidx.compose.runtime) - debugImplementation(libs.androidx.compose.ui.tooling) - - implementation "com.google.dagger:hilt-android:2.48" - kapt "com.google.dagger:hilt-compiler:2.48" - - implementation(libs.squareup.retrofit2) { - // exclude Retrofit’s OkHttp peer-dependency module and define your own module import - exclude module: 'okhttp' - } - implementation(libs.squareup.retrofit.adapter.rxjava) - implementation(libs.squareup.retrofit.converter.gson) - implementation(libs.squareup.okhttp) - implementation(libs.squareup.logging.interceptor) - - implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' - - implementation(libs.reactivex.rxjava.android) - implementation(libs.reactivex.rxjava) - - implementation "io.michaelrocks:libphonenumber-android:8.11.0" - - implementation 'me.dm7.barcodescanner:zxing:1.9.13' - - implementation 'com.mifos.mobile:mifos-passcode:0.3.0' - implementation 'com.google.firebase:firebase-messaging:17.3.4' - implementation 'com.google.android.gms:play-services-auth:16.0.1' - implementation 'com.google.firebase:firebase-core:16.0.1' - implementation 'com.google.guava:guava:27.0.1-android' - - implementation 'com.hbb20:ccp:2.2.0' - implementation 'com.github.MdFarhanRaja:SearchableSpinner:1.9' - implementation 'com.alimuzaffar.lib:pinentryedittext:1.3.1' - implementation 'de.hdodenhof:circleimageview:3.1.0' - implementation 'com.github.yalantis:ucrop:2.2.2' - - androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', { - exclude group: 'com.android.support', module: 'support-annotations' - }) - androidTestImplementation 'androidx.test.ext:junit:1.1.5' - testImplementation(libs.junit) -} - -kapt { - correctErrorTypes true -} diff --git a/mifospay/build.gradle.kts b/mifospay/build.gradle.kts new file mode 100644 index 000000000..b3dea74f2 --- /dev/null +++ b/mifospay/build.gradle.kts @@ -0,0 +1,155 @@ +@Suppress("DSL_SCOPE_VIOLATION") +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.hilt.gradle) + alias(libs.plugins.gms) + alias(libs.plugins.ksp) + alias(libs.plugins.kotlin.kapt) + alias(libs.plugins.kotlin.parcelize) +} + +apply(from = "../config/quality/quality.gradle") + +android { + compileSdk = libs.versions.compileSdk.get().toInt() + namespace = "org.mifos.mobilewallet.mifospay" + defaultConfig { + applicationId = "org.mifos.mobilewallet.mifospay" + minSdk = libs.versions.minSdk.get().toInt() + targetSdk = libs.versions.targetSdk.get().toInt() + versionCode = 1 + versionName = "1.0" + vectorDrawables.useSupportLibrary = true + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + buildTypes { + getByName("release") { + isMinifyEnabled = false + isDebuggable = false + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + } + } + + buildFeatures { + dataBinding = true + compose = true + buildConfig = true + renderScript = false + shaders = false + } + + composeOptions { + kotlinCompilerExtensionVersion = "1.5.7" + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = "17" + } + + lint { + abortOnError = false + disable += "InvalidPackage" + } +} + +dependencies { + implementation(project(":core")) + implementation("androidx.constraintlayout:constraintlayout:2.1.4") + + implementation("androidx.appcompat:appcompat:1.6.1") + implementation("androidx.core:core-ktx:1.12.0") + implementation(libs.androidx.activity.ktx) + implementation(libs.androidx.fragment.ktx) + implementation("androidx.legacy:legacy-support-v4:1.0.0") + implementation("androidx.vectordrawable:vectordrawable-animated:1.1.0") + implementation("androidx.media:media:1.6.0") + implementation("androidx.cardview:cardview:1.0.0") + implementation("androidx.recyclerview:recyclerview:1.3.2") + api("com.google.android.material:material:1.0.0") // update require alot of UI changes + + // Compose + val composeBom = platform(libs.androidx.compose.bom) + implementation(composeBom) + implementation(libs.androidx.compose.ui) + implementation(libs.androidx.compose.ui.tooling.preview) + implementation(libs.androidx.compose.material3) + implementation(libs.androidx.hilt.navigation.compose) + implementation(libs.androidx.lifecycle.runtime.compose) + implementation(libs.androidx.lifecycle.viewmodel.compose) + implementation(libs.androidx.compose.material.icons.extended) + + + // ViewModel + implementation(libs.androidx.lifecycle.ktx) + implementation(libs.androidx.lifecycle.extensions) + + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") + + implementation(libs.jakewharton.butterknife) + implementation(libs.jakewharton.compiler) + + // Splash API + implementation("androidx.core:core-splashscreen:1.0.1") + + // Compose + implementation(platform("androidx.compose:compose-bom:2023.03.00")) + implementation("androidx.compose.ui:ui") + implementation("androidx.compose.ui:ui-graphics") + implementation("androidx.compose.ui:ui-tooling-preview") + implementation("androidx.compose.material3:material3") + + implementation("androidx.activity:activity-compose:1.8.0") + + runtimeOnly(libs.androidx.compose.runtime) + debugImplementation(libs.androidx.compose.ui.tooling) + + implementation("com.google.dagger:hilt-android:2.48") + kapt("com.google.dagger:hilt-compiler:2.48") + + implementation(libs.squareup.retrofit2) { + // exclude Retrofit’s OkHttp peer-dependency module and define your own module import + exclude(module = "okhttp") + } + implementation(libs.squareup.retrofit.adapter.rxjava) + implementation(libs.squareup.retrofit.converter.gson) + implementation(libs.squareup.okhttp) + implementation(libs.squareup.logging.interceptor) + + implementation("com.github.barteksc:android-pdf-viewer:2.8.2") + + implementation(libs.reactivex.rxjava.android) + implementation(libs.reactivex.rxjava) + + implementation("io.michaelrocks:libphonenumber-android:8.11.0") + + implementation("me.dm7.barcodescanner:zxing:1.9.13") + + implementation("com.mifos.mobile:mifos-passcode:0.3.0") + implementation("com.google.firebase:firebase-messaging:17.3.4") + implementation("com.google.android.gms:play-services-auth:16.0.1") + implementation("com.google.firebase:firebase-core:16.0.1") + implementation("com.google.guava:guava:27.0.1-android") + + implementation("com.hbb20:ccp:2.2.0") + implementation("com.github.MdFarhanRaja:SearchableSpinner:1.9") + implementation("com.alimuzaffar.lib:pinentryedittext:1.3.1") + implementation("de.hdodenhof:circleimageview:3.1.0") + implementation("com.github.yalantis:ucrop:2.2.2") + + androidTestImplementation("androidx.test.espresso:espresso-core:3.1.0") { + exclude(group = "com.android.support", module = "support-annotations") + } + androidTestImplementation("androidx.test.ext:junit:1.1.5") + testImplementation(libs.junit) +} + +kapt { + correctErrorTypes = true +} diff --git a/mifospay/proguard-rules.pro b/mifospay/proguard-rules.pro index dfefae141..2c8105bae 100644 --- a/mifospay/proguard-rules.pro +++ b/mifospay/proguard-rules.pro @@ -2,7 +2,7 @@ # By default, the flags in this file are appended to flags specified # in /home/naman/sdk/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. +# directive in build.gradle.kts. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html