220 lines
8.3 KiB
Kotlin
220 lines
8.3 KiB
Kotlin
data class Dependency(
|
|
val name: String,
|
|
val version: String,
|
|
) {
|
|
val fullPath get() = "$name:$version"
|
|
}
|
|
|
|
object Dependencies {
|
|
|
|
/**
|
|
* Type-safe HTTP client for Android and Java by Square, Inc.
|
|
*
|
|
* [Documentation](http://square.github.io/retrofit/)
|
|
*
|
|
* [Github](https://github.com/square/retrofit)
|
|
*
|
|
* [Apache License 2.0](https://github.com/square/retrofit/blob/master/LICENSE.txt)
|
|
*
|
|
* [Changelog](https://github.com/square/retrofit/blob/master/CHANGELOG.md)
|
|
*/
|
|
object Retrofit {
|
|
private const val version = "2.9.0"
|
|
|
|
val library = Dependency("com.squareup.retrofit2:retrofit", version)
|
|
val gsonConverter = Dependency("com.squareup.retrofit2:converter-gson", version)
|
|
}
|
|
|
|
|
|
/**
|
|
* [Documentation](https://developer.android.com/jetpack/androidx)
|
|
*
|
|
* [Releases](https://developer.android.com/jetpack/androidx/versions).
|
|
*/
|
|
object AndroidX {
|
|
/**
|
|
* [Changelog](https://developer.android.com/jetpack/androidx/releases/core)
|
|
*/
|
|
val core = Dependency("androidx.core:core-ktx", "1.13.1")
|
|
|
|
/**
|
|
* [Changelog](https://developer.android.com/jetpack/androidx/releases/appcompat)
|
|
*/
|
|
val appcompat = Dependency("androidx.appcompat:appcompat", "1.7.0")
|
|
|
|
/**
|
|
* [Changelog](https://developer.android.com/jetpack/androidx/releases/activity)
|
|
*/
|
|
val activity = Dependency("androidx.activity:activity", "1.9.3")
|
|
|
|
/**
|
|
* [Changelog](https://developer.android.com/jetpack/androidx/releases/fragment)
|
|
*/
|
|
val fragment = Dependency("androidx.fragment:fragment-ktx", "1.8.4")
|
|
|
|
/**
|
|
* [Changelog](https://developer.android.com/jetpack/androidx/releases/recyclerview)
|
|
*/
|
|
val recyclerView = Dependency("androidx.recyclerview:recyclerview", "1.3.2")
|
|
|
|
/**
|
|
* [Changelog](https://developer.android.com/jetpack/androidx/releases/cardview)
|
|
*/
|
|
val cardView = Dependency("androidx.cardview:cardview", "1.0.0")
|
|
|
|
/**
|
|
* [Changelog](https://developer.android.com/jetpack/androidx/releases/gridlayout)
|
|
*/
|
|
val gridLayout = Dependency("androidx.gridlayout:gridlayout", "1.0.0")
|
|
|
|
/**
|
|
* A ConstraintLayout is a ViewGroup which allows you to position and size widgets in a flexible way.
|
|
*
|
|
* [Documentation](https://developer.android.com/reference/android/support/constraint/ConstraintLayout)
|
|
*
|
|
* [Changelog](https://developer.android.com/jetpack/androidx/releases/constraintlayout)
|
|
*/
|
|
val constraintLayout = Dependency("androidx.constraintlayout:constraintlayout", "2.1.4")
|
|
|
|
/**
|
|
* CoordinatorLayout is a super-powered FrameLayout.
|
|
* CoordinatorLayout is intended for two primary use cases:
|
|
* 1. As a top-level application decor or chrome layout
|
|
* 2. As a container for a specific interaction with one or more child views
|
|
*
|
|
* [Documentation](https://developer.android.com/jetpack/androidx/releases/coordinatorlayout)
|
|
*
|
|
* [Changelog](https://developer.android.com/jetpack/androidx/releases/coordinatorlayout)
|
|
*/
|
|
val coordinatorLayout = Dependency("androidx.coordinatorlayout:coordinatorlayout", "1.2.0")
|
|
|
|
/**
|
|
* The SwipeRefreshLayout should be used whenever the user
|
|
* can refresh the contents of a view via a vertical swipe gesture.
|
|
*
|
|
* [Documentation](https://developer.android.com/jetpack/androidx/releases/swiperefreshlayout)
|
|
*
|
|
* [Changelog](https://developer.android.com/jetpack/androidx/releases/swiperefreshlayout)
|
|
*/
|
|
val swipeRefreshLayout = Dependency("androidx.swiperefreshlayout:swiperefreshlayout", "1.1.0")
|
|
|
|
/**
|
|
* [Changelog](https://developer.android.com/jetpack/androidx/releases/test/)
|
|
*/
|
|
object Testing {
|
|
|
|
/**
|
|
* [Documentation](https://developer.android.com/training/testing)
|
|
*/
|
|
val core = Dependency("androidx.test:core", "1.5.0")
|
|
|
|
/**
|
|
* [Documentation](https://developer.android.com/training/testing)
|
|
*/
|
|
val junit = Dependency("androidx.test.ext:junit-ktx", "1.1.5")
|
|
|
|
/**
|
|
* [Documentation](https://developer.android.com/training/testing/espresso)
|
|
*/
|
|
object Espresso {
|
|
private const val version = "3.5.1"
|
|
val core = Dependency("androidx.test.espresso:espresso-core", version)
|
|
val intents = Dependency("androidx.test.espresso:espresso-intents", version)
|
|
val contrib = Dependency("androidx.test.espresso:espresso-contrib", version)
|
|
}
|
|
|
|
/**
|
|
* [Documentation](https://developer.android.com/training/testing/junit-runner)
|
|
*/
|
|
val runner = Dependency("androidx.test:runner", "1.5.2")
|
|
|
|
/**
|
|
* [Documentation](https://developer.android.com/training/testing/junit-rules)
|
|
*/
|
|
val rules = Dependency("androidx.test:rules", "1.5.0")
|
|
|
|
/**
|
|
* [Documentation](https://developer.android.com/training/testing/junit-rules)
|
|
*/
|
|
val compose = Dependency("androidx.compose.ui:ui-test-junit4", "1.6.0")
|
|
|
|
/**
|
|
* [Documentation](https://developer.android.com/training/testing/junit-runner#using-android-test-orchestrator)
|
|
*/
|
|
val orchestrator = Dependency("androidx.test:orchestrator", "1.4.2")
|
|
|
|
/**
|
|
* [Documentation](https://developer.android.com/training/testing/ui-automator)
|
|
*/
|
|
val uiAutomator = Dependency("androidx.test.uiautomator:uiautomator", "2.2.0")
|
|
}
|
|
|
|
/**
|
|
* [Documentation](https://material.io/develop/android/)
|
|
*
|
|
* [Github](https://github.com/material-components/material-components-android)
|
|
*
|
|
* [Changelog](https://github.com/material-components/material-components-android/releases)
|
|
*/
|
|
val materialDesign = Dependency("com.google.android.material:material", "1.11.0")
|
|
|
|
object Lifecycle {
|
|
private const val version = "2.6.1"
|
|
|
|
val viewModel = Dependency("androidx.lifecycle:lifecycle-viewmodel-ktx", version)
|
|
val common = Dependency("androidx.lifecycle:lifecycle-common", version)
|
|
}
|
|
|
|
object Navigation {
|
|
private const val version = "2.8.3"
|
|
|
|
val fragment = Dependency("androidx.navigation:navigation-fragment-ktx", version)
|
|
val navigationUi = Dependency("androidx.navigation:navigation-ui-ktx", version)
|
|
}
|
|
}
|
|
|
|
/**
|
|
* JUnit is a simple framework to write repeatable tests.
|
|
*
|
|
* [Documentation](https://junit.org/junit4/)
|
|
*
|
|
* [Github](https://github.com/junit-team/junit4)
|
|
*
|
|
* [Eclipse Public License 1.0](https://github.com/junit-team/junit4/blob/master/LICENSE-junit.txt)
|
|
*
|
|
* [Changelog](https://github.com/junit-team/junit4/wiki)
|
|
*/
|
|
val junit = Dependency("junit:junit", "4.13")
|
|
|
|
/**
|
|
* Truth makes your test assertions and failure messages more readable.
|
|
* Similar to AssertJ, it natively supports many JDK and Guava types,
|
|
* and it is extensible to others.
|
|
*
|
|
* [Documentation](https://truth.dev/)
|
|
*
|
|
* [Github](https://github.com/google/truth)
|
|
*
|
|
* [Apache License 2.0](https://github.com/google/truth/blob/master/LICENSE)
|
|
*
|
|
* [Changelog](https://github.com/google/truth/releases)
|
|
*/
|
|
val truth = Dependency("com.google.truth:truth", "1.3.0")
|
|
|
|
/**
|
|
* Kaspresso is a framework for Android UI testing. Based on Espresso and UI Automator.
|
|
*
|
|
* [Documentation](https://kasperskylab.github.io/Kaspresso/)
|
|
*
|
|
* [Github](https://github.com/KasperskyLab/Kaspresso)
|
|
*
|
|
* [Apache License 2.0](https://github.com/KasperskyLab/Kaspresso/blob/master/LICENSE.txt)
|
|
*
|
|
* [Changelog](https://github.com/KasperskyLab/Kaspresso/releases)
|
|
*/
|
|
object Kaspresso {
|
|
private const val version = "1.5.3"
|
|
val core = Dependency("com.kaspersky.android-components:kaspresso", version)
|
|
val composeSupport = Dependency("com.kaspersky.android-components:kaspresso-compose-support", version)
|
|
}
|
|
} |