summaryrefslogtreecommitdiffhomepage
path: root/android/buildSrc/src
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2022-01-05 14:04:09 +0100
committerAlbin <albin@mullvad.net>2022-01-10 10:45:36 +0100
commit410979eb25620e2d1fc910ae79f3db33e97caa48 (patch)
tree562f130aec9c7bfce5638e0008738700032b3ded /android/buildSrc/src
parentd4159a3672c75fc14cac25a421576d9946bab08a (diff)
downloadmullvadvpn-410979eb25620e2d1fc910ae79f3db33e97caa48.tar.xz
mullvadvpn-410979eb25620e2d1fc910ae79f3db33e97caa48.zip
Extract Android dependencies to constants
Extracts Android dependency names/versions/repos to Kotlin constants in source code. The purpose of this change is to minimize duplication, unify versions and prepare the project to be split into multiple sub-projects/modules.
Diffstat (limited to 'android/buildSrc/src')
-rw-r--r--android/buildSrc/src/main/kotlin/Dependencies.kt70
-rw-r--r--android/buildSrc/src/main/kotlin/Repositories.kt3
-rw-r--r--android/buildSrc/src/main/kotlin/Versions.kt37
3 files changed, 110 insertions, 0 deletions
diff --git a/android/buildSrc/src/main/kotlin/Dependencies.kt b/android/buildSrc/src/main/kotlin/Dependencies.kt
new file mode 100644
index 0000000000..218fc0572d
--- /dev/null
+++ b/android/buildSrc/src/main/kotlin/Dependencies.kt
@@ -0,0 +1,70 @@
+object Dependencies {
+ const val androidMaterial = "com.google.android.material:material:${Versions.Android.material}"
+ const val commonsValidator = "commons-validator:commons-validator:${Versions.commonsValidator}"
+ const val jodaTime = "joda-time:joda-time:${Versions.jodaTime}"
+ const val junit = "junit:junit:${Versions.junit}"
+
+ object AndroidX {
+ const val appcompat = "androidx.appcompat:appcompat:${Versions.AndroidX.appcompat}"
+ const val constraintlayout =
+ "androidx.constraintlayout:constraintlayout:${Versions.AndroidX.constraintlayout}"
+ const val coordinatorlayout =
+ "androidx.coordinatorlayout:coordinatorlayout:${Versions.AndroidX.coordinatorlayout}"
+ const val coreKtx = "androidx.core:core-ktx:${Versions.AndroidX.coreKtx}"
+ const val fragmentKtx = "androidx.fragment:fragment-ktx:${Versions.AndroidX.fragment}"
+ const val fragmentTestning =
+ "androidx.fragment:fragment-testing:${Versions.AndroidX.fragment}"
+ const val lifecycleRuntimeKtx =
+ "androidx.lifecycle:lifecycle-runtime-ktx:${Versions.AndroidX.lifecycle}"
+ const val lifecycleViewmodelKtx =
+ "androidx.lifecycle:lifecycle-viewmodel-ktx:${Versions.AndroidX.lifecycle}"
+ const val recyclerview =
+ "androidx.recyclerview:recyclerview:${Versions.AndroidX.recyclerview}"
+ const val junit = "androidx.test.ext:junit:${Versions.AndroidX.junit}"
+ const val espressoCore =
+ "androidx.test.espresso:espresso-core:${Versions.AndroidX.espresso}"
+ const val espressoContrib =
+ "androidx.test.espresso:espresso-contrib:${Versions.AndroidX.espresso}"
+ }
+
+ object Koin {
+ const val core = "io.insert-koin:koin-core:${Versions.koin}"
+ const val coreExt = "io.insert-koin:koin-core-ext:${Versions.koin}"
+ const val androidXFragment = "io.insert-koin:koin-androidx-fragment:${Versions.koin}"
+ const val androidXScope = "io.insert-koin:koin-androidx-scope:${Versions.koin}"
+ const val androidXViewmodel = "io.insert-koin:koin-androidx-viewmodel:${Versions.koin}"
+ const val test = "io.insert-koin:koin-test:${Versions.koin}"
+ }
+
+ object Kotlin {
+ const val reflect = "org.jetbrains.kotlin:kotlin-reflect:${Versions.kotlin}"
+ const val stdlib = "org.jetbrains.kotlin:kotlin-stdlib:${Versions.kotlin}"
+ const val test = "org.jetbrains.kotlin:kotlin-test:${Versions.kotlin}"
+ }
+
+ object KotlinX {
+ const val coroutinesAndroid =
+ "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.kotlinx}"
+ const val coroutinesTest =
+ "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.kotlinx}"
+ }
+
+ object MockK {
+ const val core = "io.mockk:mockk:${Versions.mockk}"
+ const val android = "io.mockk:mockk-android:${Versions.mockk}"
+ }
+
+ object Plugin {
+ const val android = "com.android.tools.build:gradle:${Versions.Plugin.android}"
+ const val androidApplicationId = "com.android.application"
+ const val playPublisher =
+ "com.github.triplet.gradle:play-publisher:${Versions.Plugin.playPublisher}"
+ const val playPublisherId = "com.github.triplet.play"
+ const val kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.Plugin.kotlin}"
+ const val kotlinAndroidId = "kotlin-android"
+ const val kotlinParcelizeId = "kotlin-parcelize"
+ const val dependencyCheck =
+ "org.owasp:dependency-check-gradle:${Versions.Plugin.dependencyCheck}"
+ const val dependencyCheckId = "org.owasp.dependencycheck"
+ }
+}
diff --git a/android/buildSrc/src/main/kotlin/Repositories.kt b/android/buildSrc/src/main/kotlin/Repositories.kt
new file mode 100644
index 0000000000..d81b4e8300
--- /dev/null
+++ b/android/buildSrc/src/main/kotlin/Repositories.kt
@@ -0,0 +1,3 @@
+object Repositories {
+ const val GradlePlugins = "https://plugins.gradle.org/m2/"
+}
diff --git a/android/buildSrc/src/main/kotlin/Versions.kt b/android/buildSrc/src/main/kotlin/Versions.kt
new file mode 100644
index 0000000000..496e36f254
--- /dev/null
+++ b/android/buildSrc/src/main/kotlin/Versions.kt
@@ -0,0 +1,37 @@
+object Versions {
+ const val commonsValidator = "1.7"
+ const val jodaTime = "2.10.2"
+ const val junit = "4.13"
+ const val jvmTarget = "1.8"
+ const val koin = "2.2.2"
+ const val kotlin = "1.4.31"
+ const val kotlinx = "1.5.1"
+ const val mockk = "1.12.0"
+
+ object Android {
+ const val buildToolsVersion = "30.0.3"
+ const val compileSdkVersion = 30
+ const val material = "1.4.0"
+ const val minSdkVersion = 26
+ const val targetSdkVersion = 30
+ }
+
+ object AndroidX {
+ const val appcompat = "1.3.1"
+ const val coreKtx = "1.6.0"
+ const val constraintlayout = "2.1.0"
+ const val coordinatorlayout = "1.1.0"
+ const val espresso = "3.3.0"
+ const val lifecycle = "2.3.1"
+ const val fragment = "1.3.2"
+ const val recyclerview = "1.2.1"
+ const val junit = "1.1.3"
+ }
+
+ object Plugin {
+ const val android = "4.1.3"
+ const val playPublisher = "2.7.5"
+ const val kotlin = "1.4.31"
+ const val dependencyCheck = "6.5.0.1"
+ }
+}