Initial commit
This commit is contained in:
20
buildSrc/build.gradle.kts
Normal file
20
buildSrc/build.gradle.kts
Normal file
@@ -0,0 +1,20 @@
|
||||
plugins {
|
||||
`kotlin-dsl`
|
||||
}
|
||||
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
gradlePluginPortal()
|
||||
}
|
||||
|
||||
kotlin {
|
||||
jvmToolchain(17)
|
||||
}
|
||||
|
||||
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
|
||||
kotlinOptions {
|
||||
jvmTarget = "17"
|
||||
}
|
||||
}
|
||||
|
||||
10
buildSrc/src/main/kotlin/AppConfig.kt
Normal file
10
buildSrc/src/main/kotlin/AppConfig.kt
Normal file
@@ -0,0 +1,10 @@
|
||||
object AppConfig {
|
||||
const val compileSdk = 34
|
||||
const val minSdk = 24
|
||||
const val targetSdk = 34
|
||||
const val versionCode = 1
|
||||
const val versionName = "1.0.0"
|
||||
|
||||
const val applicationId = "com.smoa"
|
||||
}
|
||||
|
||||
127
buildSrc/src/main/kotlin/Dependencies.kt
Normal file
127
buildSrc/src/main/kotlin/Dependencies.kt
Normal file
@@ -0,0 +1,127 @@
|
||||
object Versions {
|
||||
const val kotlin = "1.9.20"
|
||||
const val androidxCore = "1.12.0"
|
||||
const val androidxLifecycle = "2.6.2"
|
||||
const val androidxActivity = "1.8.1"
|
||||
const val compose = "2023.10.01"
|
||||
const val composeMaterial3 = "1.1.2"
|
||||
const val hilt = "2.48"
|
||||
const val hiltNavigationCompose = "1.1.0"
|
||||
const val navigationCompose = "2.7.5"
|
||||
const val room = "2.6.1"
|
||||
const val retrofit = "2.9.0"
|
||||
const val okHttp = "4.12.0"
|
||||
const val securityCrypto = "1.1.0-alpha06"
|
||||
const val biometric = "1.1.0"
|
||||
const val coroutines = "1.7.3"
|
||||
const val zxing = "3.5.2"
|
||||
const val pdfbox = "2.0.27.0" // Using available version
|
||||
const val poi = "5.2.4"
|
||||
const val jackson = "2.15.2"
|
||||
const val jaxb = "4.0.0"
|
||||
const val cxf = "4.0.3"
|
||||
const val santuario = "3.0.1"
|
||||
const val bouncycastle = "1.77"
|
||||
const val junit = "4.13.2"
|
||||
const val junit5 = "5.10.0"
|
||||
const val androidxJunit = "1.1.5"
|
||||
const val espresso = "3.5.1"
|
||||
const val mockk = "1.13.8"
|
||||
const val robolectric = "4.11.1"
|
||||
const val turbine = "1.0.0"
|
||||
const val truth = "1.1.4"
|
||||
const val sqlcipher = "4.5.4"
|
||||
const val webrtc = "1.0.+"
|
||||
}
|
||||
|
||||
object Dependencies {
|
||||
// AndroidX Core
|
||||
const val androidxCoreKtx = "androidx.core:core-ktx:${Versions.androidxCore}"
|
||||
const val androidxLifecycleRuntimeKtx = "androidx.lifecycle:lifecycle-runtime-ktx:${Versions.androidxLifecycle}"
|
||||
const val androidxActivityCompose = "androidx.activity:activity-compose:${Versions.androidxActivity}"
|
||||
|
||||
// Compose
|
||||
const val composeBom = "androidx.compose:compose-bom:${Versions.compose}"
|
||||
const val composeUi = "androidx.compose.ui:ui"
|
||||
const val composeUiGraphics = "androidx.compose.ui:ui-graphics"
|
||||
const val composeUiToolingPreview = "androidx.compose.ui:ui-tooling-preview"
|
||||
const val composeMaterial3 = "androidx.compose.material3:material3:${Versions.composeMaterial3}"
|
||||
const val composeUiTooling = "androidx.compose.ui:ui-tooling"
|
||||
const val composeUiTestManifest = "androidx.compose.ui:ui-test-manifest"
|
||||
const val composeUiTestJunit4 = "androidx.compose.ui:ui-test-junit4"
|
||||
|
||||
// Navigation
|
||||
const val navigationCompose = "androidx.navigation:navigation-compose:${Versions.navigationCompose}"
|
||||
|
||||
// Hilt
|
||||
const val hiltAndroid = "com.google.dagger:hilt-android:${Versions.hilt}"
|
||||
const val hiltAndroidCompiler = "com.google.dagger:hilt-android-compiler:${Versions.hilt}"
|
||||
const val hiltNavigationCompose = "androidx.hilt:hilt-navigation-compose:${Versions.hiltNavigationCompose}"
|
||||
|
||||
// Room
|
||||
const val roomRuntime = "androidx.room:room-runtime:${Versions.room}"
|
||||
const val roomKtx = "androidx.room:room-ktx:${Versions.room}"
|
||||
const val roomCompiler = "androidx.room:room-compiler:${Versions.room}"
|
||||
|
||||
// Networking
|
||||
const val retrofit = "com.squareup.retrofit2:retrofit:${Versions.retrofit}"
|
||||
const val retrofitGson = "com.squareup.retrofit2:converter-gson:${Versions.retrofit}"
|
||||
const val okHttp = "com.squareup.okhttp3:okhttp:${Versions.okHttp}"
|
||||
const val okHttpLogging = "com.squareup.okhttp3:logging-interceptor:${Versions.okHttp}"
|
||||
|
||||
// Security
|
||||
const val securityCrypto = "androidx.security:security-crypto:${Versions.securityCrypto}"
|
||||
const val biometric = "androidx.biometric:biometric:${Versions.biometric}"
|
||||
|
||||
// Coroutines
|
||||
const val coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.coroutines}"
|
||||
const val coroutinesAndroid = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutines}"
|
||||
|
||||
// Barcode
|
||||
const val zxingCore = "com.google.zxing:core:${Versions.zxing}"
|
||||
const val zxingAndroid = "com.journeyapps:zxing-android-embedded:4.3.0"
|
||||
|
||||
// PDF Generation
|
||||
const val pdfbox = "org.apache.pdfbox:pdfbox-android:${Versions.pdfbox}"
|
||||
|
||||
// Office Documents
|
||||
const val poi = "org.apache.poi:poi:${Versions.poi}"
|
||||
const val poiOoxml = "org.apache.poi:poi-ooxml:${Versions.poi}"
|
||||
|
||||
// JSON/XML
|
||||
const val jacksonCore = "com.fasterxml.jackson.core:jackson-core:${Versions.jackson}"
|
||||
const val jacksonDatabind = "com.fasterxml.jackson.core:jackson-databind:${Versions.jackson}"
|
||||
const val jacksonKotlin = "com.fasterxml.jackson.module:jackson-module-kotlin:${Versions.jackson}"
|
||||
const val jaxbApi = "jakarta.xml.bind:jakarta.xml.bind-api:${Versions.jaxb}"
|
||||
const val jaxbRuntime = "org.glassfish.jaxb:jaxb-runtime:${Versions.jaxb}"
|
||||
|
||||
// AS4/XML Security
|
||||
const val cxfCore = "org.apache.cxf:cxf-core:${Versions.cxf}"
|
||||
const val cxfRtFrontendJaxws = "org.apache.cxf:cxf-rt-frontend-jaxws:${Versions.cxf}"
|
||||
const val cxfRtBindingsSoap = "org.apache.cxf:cxf-rt-bindings-soap:${Versions.cxf}"
|
||||
const val santuario = "org.apache.santuario:xmlsec:${Versions.santuario}"
|
||||
|
||||
// Cryptography
|
||||
const val bouncycastle = "org.bouncycastle:bcprov-jdk18on:${Versions.bouncycastle}"
|
||||
const val bouncycastlePkix = "org.bouncycastle:bcpkix-jdk18on:${Versions.bouncycastle}"
|
||||
|
||||
// Testing
|
||||
const val junit = "junit:junit:${Versions.junit}"
|
||||
const val junit5Api = "org.junit.jupiter:junit-jupiter-api:${Versions.junit5}"
|
||||
const val junit5Engine = "org.junit.jupiter:junit-jupiter-engine:${Versions.junit5}"
|
||||
const val androidxJunit = "androidx.test.ext:junit:${Versions.androidxJunit}"
|
||||
const val espressoCore = "androidx.test.espresso:espresso-core:${Versions.espresso}"
|
||||
const val mockk = "io.mockk:mockk:${Versions.mockk}"
|
||||
const val mockkAndroid = "io.mockk:mockk-android:${Versions.mockk}"
|
||||
const val robolectric = "org.robolectric:robolectric:${Versions.robolectric}"
|
||||
const val turbine = "app.cash.turbine:turbine:${Versions.turbine}"
|
||||
const val truth = "com.google.truth:truth:${Versions.truth}"
|
||||
const val coroutinesTest = "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.coroutines}"
|
||||
|
||||
// Database Encryption
|
||||
const val sqlcipher = "net.zetetic:sqlcipher-android:${Versions.sqlcipher}"
|
||||
|
||||
// WebRTC - Note: This may need to be built from source or use alternative
|
||||
// For now using a placeholder - actual WebRTC needs to be configured separately
|
||||
const val webrtc = "org.webrtc:google-webrtc:${Versions.webrtc}"
|
||||
}
|
||||
Reference in New Issue
Block a user