Merge pull request #275 from ouchadam/tech/version-catalog
Tech/version catalog
This commit is contained in:
commit
8aa1d3f1a8
|
@ -1,76 +1,25 @@
|
|||
plugins {
|
||||
id 'com.android.application'
|
||||
id 'kotlin-android'
|
||||
id "st-application-conventions"
|
||||
alias libs.plugins.firebase.crashlytics apply false
|
||||
}
|
||||
|
||||
applyCommonAndroidParameters(project)
|
||||
applyCrashlyticsIfRelease(project)
|
||||
applyCrashlyticsIfRelease()
|
||||
|
||||
android {
|
||||
ndkVersion "25.0.8141415"
|
||||
defaultConfig {
|
||||
applicationId "app.dapk.st"
|
||||
def versionJson = new groovy.json.JsonSlurper().parseText(rootProject.file('version.json').text)
|
||||
versionCode versionJson.code
|
||||
versionName versionJson.name
|
||||
|
||||
if (isDebugBuild) {
|
||||
resConfigs "en", "xxhdpi"
|
||||
} else {
|
||||
resConfigs "en"
|
||||
}
|
||||
|
||||
if (isFoss()) {
|
||||
archivesBaseName = "$archivesBaseName-foss"
|
||||
}
|
||||
}
|
||||
|
||||
bundle {
|
||||
abi.enableSplit true
|
||||
density.enableSplit true
|
||||
language.enableSplit true
|
||||
}
|
||||
namespace "app.dapk.st"
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
versionNameSuffix = " [debug]"
|
||||
matchingFallbacks = ['release']
|
||||
signingConfig.storeFile rootProject.file("tools/debug.keystore")
|
||||
}
|
||||
release {
|
||||
minifyEnabled true
|
||||
shrinkResources true
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
|
||||
'proguard/app.pro',
|
||||
"proguard/serializationx.pro",
|
||||
"proguard/olm.pro"
|
||||
|
||||
if (project.hasProperty("unsigned")) {
|
||||
// releases are signed externally
|
||||
} else {
|
||||
signingConfig = buildTypes.debug.signingConfig
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
coreLibraryDesugaringEnabled true
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
resources.excludes += "DebugProbesKt.bin"
|
||||
}
|
||||
}
|
||||
|
||||
if (isDebugBuild) {
|
||||
androidComponents {
|
||||
def release = selector().withBuildType("release")
|
||||
beforeVariants(release) { it.enabled = false }
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
coreLibraryDesugaring Dependencies.google.jdkLibs
|
||||
coreLibraryDesugaring libs.android.desugar
|
||||
|
||||
implementation project(":features:home")
|
||||
implementation project(":features:directory")
|
||||
|
@ -98,11 +47,22 @@ dependencies {
|
|||
implementation "chat-engine:matrix-chat-engine"
|
||||
implementation "chat-engine.matrix:store"
|
||||
|
||||
implementation Dependencies.google.androidxComposeUi
|
||||
implementation Dependencies.mavenCentral.ktorAndroid
|
||||
implementation Dependencies.mavenCentral.sqldelightAndroid
|
||||
implementation Dependencies.mavenCentral.matrixOlm
|
||||
implementation libs.compose.ui
|
||||
implementation libs.ktor.android
|
||||
implementation libs.sqldelight.android
|
||||
implementation libs.matrix.olm
|
||||
|
||||
implementation Dependencies.mavenCentral.kotlinSerializationJson
|
||||
debugImplementation Dependencies.mavenCentral.leakCanary
|
||||
implementation libs.kotlin.serialization
|
||||
debugImplementation libs.leakcanary
|
||||
}
|
||||
|
||||
def applyCrashlyticsIfRelease() {
|
||||
if (isReleaseBuild && !isFoss()) {
|
||||
project.apply plugin: libs.plugins.firebase.crashlytics.get().pluginId
|
||||
project.afterEvaluate {
|
||||
project.tasks.withType(com.google.firebase.crashlytics.buildtools.gradle.tasks.UploadMappingFileTask).configureEach {
|
||||
it.googleServicesResourceRoot.set(project.file("src/release/res/"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="app.dapk.st">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<application>
|
||||
<meta-data
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="app.dapk.st">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
|
||||
|
|
126
build.gradle
126
build.gradle
|
@ -1,24 +1,9 @@
|
|||
buildscript {
|
||||
apply from: "dependencies.gradle"
|
||||
|
||||
repositories {
|
||||
Dependencies._repositories.call(it)
|
||||
}
|
||||
dependencies {
|
||||
classpath Dependencies.google.androidGradlePlugin
|
||||
classpath Dependencies.mavenCentral.kotlinGradlePlugin
|
||||
classpath Dependencies.mavenCentral.sqldelightGradlePlugin
|
||||
classpath Dependencies.mavenCentral.kotlinSerializationGradlePlugin
|
||||
classpath Dependencies.google.firebaseCrashlyticsPlugin
|
||||
}
|
||||
}
|
||||
|
||||
def launchTask = getGradle()
|
||||
.getStartParameter()
|
||||
.getTaskRequests()
|
||||
.toString()
|
||||
.toLowerCase()
|
||||
def isReleaseBuild = launchTask.contains("release")
|
||||
ext.isReleaseBuild = launchTask.contains("bundlerelease") || launchTask.contains("assemblerelease")
|
||||
ext.isDebugBuild = !isReleaseBuild
|
||||
|
||||
subprojects {
|
||||
|
@ -37,112 +22,17 @@ task clean(type: Delete) {
|
|||
delete rootProject.buildDir
|
||||
}
|
||||
|
||||
ext.applyMatrixServiceModule = { project ->
|
||||
project.apply plugin: 'kotlin'
|
||||
project.apply plugin: 'org.jetbrains.kotlin.plugin.serialization'
|
||||
|
||||
def dependencies = project.dependencies
|
||||
|
||||
dependencies.api project.project(":matrix:matrix")
|
||||
dependencies.api project.project(":matrix:common")
|
||||
dependencies.implementation project.project(":matrix:matrix-http")
|
||||
dependencies.implementation Dependencies.mavenCentral.kotlinSerializationJson
|
||||
}
|
||||
|
||||
ext.applyLibraryPlugins = { project ->
|
||||
project.apply plugin: 'com.android.library'
|
||||
project.apply plugin: 'kotlin-android'
|
||||
}
|
||||
|
||||
ext.androidSdkVersion = 33
|
||||
|
||||
ext.applyCommonAndroidParameters = { project ->
|
||||
def android = project.android
|
||||
android.compileSdk androidSdkVersion
|
||||
android.compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
incremental = true
|
||||
}
|
||||
android.defaultConfig {
|
||||
minSdkVersion 24
|
||||
targetSdkVersion androidSdkVersion
|
||||
}
|
||||
}
|
||||
|
||||
ext.applyLibraryModuleOptimisations = { project ->
|
||||
project.android {
|
||||
variantFilter { variant ->
|
||||
if (variant.name == "debug") {
|
||||
variant.ignore = true
|
||||
}
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
buildConfig = false
|
||||
dataBinding = false
|
||||
aidl = false
|
||||
renderScript = false
|
||||
resValues = false
|
||||
shaders = false
|
||||
viewBinding = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ext.applyCompose = { project ->
|
||||
def dependencies = project.dependencies
|
||||
|
||||
dependencies.implementation Dependencies.google.androidxComposeUi
|
||||
dependencies.implementation Dependencies.google.androidxComposeFoundation
|
||||
dependencies.implementation Dependencies.google.androidxComposeMaterial
|
||||
dependencies.implementation Dependencies.google.androidxComposeIconsExtended
|
||||
dependencies.implementation Dependencies.google.androidxActivityCompose
|
||||
|
||||
def android = project.android
|
||||
android.buildFeatures.compose = true
|
||||
android.composeOptions {
|
||||
kotlinCompilerExtensionVersion = Dependencies.google.kotlinCompilerExtensionVersion
|
||||
}
|
||||
}
|
||||
|
||||
ext.applyAndroidComposeLibraryModule = { project ->
|
||||
applyAndroidLibraryModule(project)
|
||||
applyCompose(project)
|
||||
}
|
||||
|
||||
ext.applyAndroidLibraryModule = { project ->
|
||||
applyLibraryPlugins(project)
|
||||
applyCommonAndroidParameters(project)
|
||||
applyLibraryModuleOptimisations(project)
|
||||
}
|
||||
|
||||
ext.applyCrashlyticsIfRelease = { project ->
|
||||
if (isReleaseBuild && !isFoss()) {
|
||||
project.apply plugin: 'com.google.firebase.crashlytics'
|
||||
project.afterEvaluate {
|
||||
project.tasks.withType(com.google.firebase.crashlytics.buildtools.gradle.tasks.UploadMappingFileTask).configureEach {
|
||||
it.googleServicesResourceRoot.set(project.file("src/release/res/"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ext.kotlinTest = { dependencies ->
|
||||
dependencies.testImplementation Dependencies.mavenCentral.kluent
|
||||
dependencies.testImplementation Dependencies.mavenCentral.kotlinTest
|
||||
dependencies.testImplementation "org.jetbrains.kotlin:kotlin-test-junit:1.7.20"
|
||||
dependencies.testImplementation Dependencies.mavenCentral.mockk
|
||||
dependencies.testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4'
|
||||
|
||||
dependencies.testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.1'
|
||||
dependencies.testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.1'
|
||||
dependencies.testImplementation libs.kluent
|
||||
dependencies.testImplementation libs.kotlin.test
|
||||
dependencies.testImplementation libs.mockk
|
||||
dependencies.testImplementation libs.kotlin.coroutines.test
|
||||
}
|
||||
|
||||
ext.kotlinFixtures = { dependencies ->
|
||||
dependencies.testFixturesImplementation Dependencies.mavenCentral.mockk
|
||||
dependencies.testFixturesImplementation Dependencies.mavenCentral.kluent
|
||||
dependencies.testFixturesImplementation Dependencies.mavenCentral.kotlinCoroutinesCore
|
||||
dependencies.testFixturesImplementation libs.mockk
|
||||
dependencies.testFixturesImplementation libs.kluent
|
||||
dependencies.testFixturesImplementation libs.kotlin.coroutines
|
||||
}
|
||||
|
||||
ext.androidImportFixturesWorkaround = { project, fixtures ->
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
plugins {
|
||||
id 'groovy-gradle-plugin'
|
||||
}
|
||||
|
||||
repositories {
|
||||
gradlePluginPortal()
|
||||
google()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${libs.versions.kotlin.get()}")
|
||||
implementation "com.android.tools.build:gradle:${libs.versions.android.gp.get()}"
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
dependencyResolutionManagement {
|
||||
versionCatalogs {
|
||||
create("libs") {
|
||||
from(files("../gradle/libs.versions.toml"))
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
plugins {
|
||||
id 'st-android-library-conventions'
|
||||
}
|
||||
|
||||
android {
|
||||
buildFeatures {
|
||||
compose = true
|
||||
}
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get()
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation libs.compose.ui
|
||||
implementation libs.compose.foundation
|
||||
implementation libs.compose.material.three
|
||||
implementation libs.compose.icons.extended
|
||||
implementation libs.compose.activity
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
plugins {
|
||||
id "kotlin-android"
|
||||
}
|
||||
|
||||
def androidSdkVersion = 33
|
||||
|
||||
android {
|
||||
compileSdk androidSdkVersion
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
incremental = true
|
||||
}
|
||||
defaultConfig {
|
||||
minSdkVersion 24
|
||||
targetSdkVersion androidSdkVersion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
plugins {
|
||||
id "com.android.library"
|
||||
id "st-android-conventions"
|
||||
}
|
||||
|
||||
android {
|
||||
variantFilter { variant ->
|
||||
if (variant.name == "debug") {
|
||||
variant.ignore = true
|
||||
}
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
buildConfig = false
|
||||
dataBinding = false
|
||||
aidl = false
|
||||
renderScript = false
|
||||
resValues = false
|
||||
shaders = false
|
||||
viewBinding = false
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
plugins {
|
||||
id "com.android.application"
|
||||
id "st-android-conventions"
|
||||
}
|
||||
|
||||
android {
|
||||
ndkVersion "25.0.8141415"
|
||||
defaultConfig {
|
||||
applicationId "app.dapk.st"
|
||||
def versionJson = new groovy.json.JsonSlurper().parseText(rootProject.file('version.json').text)
|
||||
versionCode versionJson.code
|
||||
versionName versionJson.name
|
||||
|
||||
if (isDebugBuild) {
|
||||
resConfigs "en", "xxhdpi"
|
||||
} else {
|
||||
resConfigs "en"
|
||||
}
|
||||
|
||||
if (isFoss()) {
|
||||
archivesBaseName = "$archivesBaseName-foss"
|
||||
}
|
||||
}
|
||||
|
||||
bundle {
|
||||
abi.enableSplit true
|
||||
density.enableSplit true
|
||||
language.enableSplit true
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
versionNameSuffix = " [debug]"
|
||||
matchingFallbacks = ['release']
|
||||
signingConfig.storeFile rootProject.file("tools/debug.keystore")
|
||||
}
|
||||
release {
|
||||
minifyEnabled true
|
||||
shrinkResources true
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt')
|
||||
|
||||
if (project.hasProperty("unsigned")) {
|
||||
// releases are signed externally
|
||||
} else {
|
||||
signingConfig = buildTypes.debug.signingConfig
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
coreLibraryDesugaringEnabled true
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
resources.excludes += "DebugProbesKt.bin"
|
||||
}
|
||||
}
|
||||
|
||||
if (isDebugBuild) {
|
||||
androidComponents {
|
||||
def release = selector().withBuildType("release")
|
||||
beforeVariants(release) { it.enabled = false }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
plugins {
|
||||
id 'st-android-compose-library-conventions'
|
||||
}
|
|
@ -1 +1 @@
|
|||
Subproject commit 0439dc648c91af643dd480b359ce48bd11700d89
|
||||
Subproject commit 8139eaaf57cee4ce9d0616d617e8aff7eb1480e3
|
|
@ -4,9 +4,9 @@ plugins {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
api Dependencies.mavenCentral.kotlinCoroutinesCore
|
||||
testFixturesImplementation Dependencies.mavenCentral.kotlinCoroutinesCore
|
||||
testFixturesImplementation Dependencies.mavenCentral.kluent
|
||||
testFixturesImplementation Dependencies.mavenCentral.mockk
|
||||
testFixturesImplementation Dependencies.mavenCentral.kotlinCoroutinesTest
|
||||
api libs.kotlin.coroutines
|
||||
testFixturesImplementation libs.kotlin.coroutines
|
||||
testFixturesImplementation libs.kluent
|
||||
testFixturesImplementation libs.mockk
|
||||
testFixturesImplementation libs.kotlin.coroutines.test
|
||||
}
|
|
@ -1,8 +1,6 @@
|
|||
ext.Dependencies = new DependenciesContainer()
|
||||
|
||||
ext.Dependencies.with {
|
||||
_repositories = { repositories ->
|
||||
repositories.google {
|
||||
ext.applyRepositories = { dependencyResolutionManagement ->
|
||||
dependencyResolutionManagement.repositories {
|
||||
google {
|
||||
content {
|
||||
includeGroupByRegex "com\\.android.*"
|
||||
includeGroupByRegex "com\\.google.*"
|
||||
|
@ -10,14 +8,14 @@ ext.Dependencies.with {
|
|||
}
|
||||
}
|
||||
|
||||
repositories.maven {
|
||||
maven {
|
||||
url 'https://jitpack.io'
|
||||
content {
|
||||
includeGroup "com.github.UnifiedPush"
|
||||
}
|
||||
}
|
||||
|
||||
repositories.mavenCentral {
|
||||
mavenCentral {
|
||||
content {
|
||||
includeGroupByRegex "org\\.jetbrains.*"
|
||||
includeGroupByRegex "com\\.google.*"
|
||||
|
@ -96,82 +94,4 @@ ext.Dependencies.with {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
def kotlinVer = "1.7.20"
|
||||
def sqldelightVer = "1.5.4"
|
||||
def composeVer = "1.2.1"
|
||||
def ktorVer = "2.1.3"
|
||||
|
||||
google = new DependenciesContainer()
|
||||
google.with {
|
||||
androidGradlePlugin = "com.android.tools.build:gradle:7.3.1"
|
||||
|
||||
androidxComposeUi = "androidx.compose.ui:ui:${composeVer}"
|
||||
androidxComposeFoundation = "androidx.compose.foundation:foundation:${composeVer}"
|
||||
androidxComposeMaterial = "androidx.compose.material3:material3:1.0.0-rc01"
|
||||
androidxComposeIconsExtended = "androidx.compose.material:material-icons-extended:${composeVer}"
|
||||
androidxActivityCompose = "androidx.activity:activity-compose:1.6.0"
|
||||
kotlinCompilerExtensionVersion = "1.3.2"
|
||||
|
||||
firebaseCrashlyticsPlugin = "com.google.firebase:firebase-crashlytics-gradle:2.9.2"
|
||||
firebaseBom = "com.google.firebase:firebase-bom:31.0.1"
|
||||
|
||||
jdkLibs = "com.android.tools:desugar_jdk_libs:1.1.5"
|
||||
}
|
||||
|
||||
mavenCentral = new DependenciesContainer()
|
||||
mavenCentral.with {
|
||||
kotlinGradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVer}"
|
||||
kotlinSerializationGradlePlugin = "org.jetbrains.kotlin:kotlin-serialization:${kotlinVer}"
|
||||
kotlinSerializationJson = "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1"
|
||||
kotlinCoroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4"
|
||||
kotlinCoroutinesTest = 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4'
|
||||
kotlinTest = "org.jetbrains.kotlin:kotlin-test-junit:${kotlinVer}"
|
||||
|
||||
sqldelightGradlePlugin = "com.squareup.sqldelight:gradle-plugin:${sqldelightVer}"
|
||||
sqldelightAndroid = "com.squareup.sqldelight:android-driver:${sqldelightVer}"
|
||||
sqldelightInMemory = "com.squareup.sqldelight:sqlite-driver:${sqldelightVer}"
|
||||
|
||||
leakCanary = 'com.squareup.leakcanary:leakcanary-android:2.10'
|
||||
|
||||
ktorAndroid = "io.ktor:ktor-client-android:${ktorVer}"
|
||||
ktorCore = "io.ktor:ktor-client-core:${ktorVer}"
|
||||
ktorSerialization = "io.ktor:ktor-client-serialization:${ktorVer}"
|
||||
ktorJson = "io.ktor:ktor-serialization-kotlinx-json:${ktorVer}"
|
||||
ktorLogging = "io.ktor:ktor-client-logging-jvm:${ktorVer}"
|
||||
ktorJava = "io.ktor:ktor-client-java:${ktorVer}"
|
||||
ktorContentNegotiation = "io.ktor:ktor-client-content-negotiation:${ktorVer}"
|
||||
|
||||
coil = "io.coil-kt:coil-compose:2.2.2"
|
||||
accompanistSystemuicontroller = "com.google.accompanist:accompanist-systemuicontroller:0.27.1"
|
||||
|
||||
junit = "junit:junit:4.13.2"
|
||||
kluent = "org.amshove.kluent:kluent:1.72"
|
||||
mockk = 'io.mockk:mockk:1.13.2'
|
||||
|
||||
matrixOlm = "org.matrix.android:olm-sdk:3.2.12"
|
||||
}
|
||||
|
||||
jitPack = new DependenciesContainer()
|
||||
jitPack.with {
|
||||
unifiedPush = "com.github.UnifiedPush:android-connector:2.0.1"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class DependenciesContainer extends GroovyObjectSupport {
|
||||
|
||||
private final Map<String, Object> storage = new HashMap<String, Object>();
|
||||
|
||||
@Override
|
||||
Object getProperty(String name) {
|
||||
return storage.get(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
void setProperty(String name, Object newValue) {
|
||||
storage.put(name, newValue);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,13 @@
|
|||
applyAndroidComposeLibraryModule(project)
|
||||
plugins {
|
||||
id "st-android-compose-library-conventions"
|
||||
}
|
||||
|
||||
android {
|
||||
namespace "app.dapk.st.design"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(":core")
|
||||
implementation Dependencies.mavenCentral.coil
|
||||
implementation Dependencies.mavenCentral.accompanistSystemuicontroller
|
||||
}
|
||||
implementation libs.compose.coil
|
||||
implementation libs.accompanist.systemuicontroller
|
||||
}
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest package="app.dapk.st.design"/>
|
|
@ -1,4 +1,6 @@
|
|||
applyAndroidComposeLibraryModule(project)
|
||||
plugins {
|
||||
id "st-android-compose-library-conventions"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(":core")
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
plugins { id 'kotlin' }
|
||||
plugins {
|
||||
id "kotlin"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly project(":domains:android:stub")
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
applyAndroidLibraryModule(project)
|
||||
plugins {
|
||||
id "st-android-library-conventions"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(":core")
|
||||
implementation Dependencies.mavenCentral.coil
|
||||
implementation libs.compose.coil
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
applyAndroidLibraryModule(project)
|
||||
apply plugin: "org.jetbrains.kotlin.plugin.serialization"
|
||||
plugins {
|
||||
id "st-android-library-conventions"
|
||||
alias libs.plugins.kotlin.serialization
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "chat-engine:chat-engine"
|
||||
|
@ -9,8 +11,8 @@ dependencies {
|
|||
|
||||
firebase(it, "messaging")
|
||||
|
||||
implementation Dependencies.mavenCentral.kotlinSerializationJson
|
||||
implementation Dependencies.jitPack.unifiedPush
|
||||
implementation libs.kotlin.serialization
|
||||
implementation libs.unifiedpush
|
||||
|
||||
kotlinTest(it)
|
||||
testImplementation 'chat-engine:chat-engine-test'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
plugins {
|
||||
id 'kotlin'
|
||||
id "kotlin"
|
||||
id 'java-test-fixtures'
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ if (localProperties.exists()) {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
def androidVer = androidSdkVersion
|
||||
def androidVer = 33
|
||||
api files("${properties.getProperty("sdk.dir")}/platforms/android-${androidVer}/android.jar")
|
||||
|
||||
kotlinFixtures(it)
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
applyAndroidLibraryModule(project)
|
||||
plugins {
|
||||
id "st-android-library-conventions"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':core')
|
||||
|
|
|
@ -1 +1,3 @@
|
|||
plugins { id 'kotlin' }
|
||||
plugins {
|
||||
id "kotlin"
|
||||
}
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
plugins {
|
||||
id 'kotlin'
|
||||
id "kotlin"
|
||||
id 'java-test-fixtures'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly project(":domains:android:viewmodel-stub")
|
||||
implementation Dependencies.mavenCentral.kotlinCoroutinesCore
|
||||
implementation libs.kotlin.coroutines
|
||||
|
||||
kotlinFixtures(it)
|
||||
testFixturesImplementation Dependencies.mavenCentral.kotlinCoroutinesCore
|
||||
testFixturesImplementation Dependencies.mavenCentral.kotlinCoroutinesTest
|
||||
testFixturesImplementation libs.kotlin.coroutines
|
||||
testFixturesImplementation libs.kotlin.coroutines.test
|
||||
testFixturesImplementation testFixtures(project(":core"))
|
||||
testFixturesCompileOnly project(":domains:android:viewmodel-stub")
|
||||
}
|
|
@ -1,4 +1,6 @@
|
|||
applyAndroidLibraryModule(project)
|
||||
plugins {
|
||||
id "st-android-library-conventions"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':core')
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
plugins { id 'kotlin' }
|
||||
plugins {
|
||||
id "kotlin"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':core')
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
applyAndroidLibraryModule(project)
|
||||
plugins {
|
||||
id "st-android-library-conventions"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':core')
|
||||
implementation platform(Dependencies.google.firebaseBom)
|
||||
implementation platform(libs.firebase.bom)
|
||||
implementation 'com.google.firebase:firebase-crashlytics'
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
applyAndroidLibraryModule(project)
|
||||
plugins {
|
||||
id "st-android-library-conventions"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':core')
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
applyAndroidLibraryModule(project)
|
||||
plugins {
|
||||
id "st-android-library-conventions"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':core')
|
||||
implementation project(':domains:android:core')
|
||||
implementation "chat-engine:chat-engine"
|
||||
implementation platform('com.google.firebase:firebase-bom:29.0.3')
|
||||
implementation platform(libs.firebase.bom)
|
||||
implementation 'com.google.firebase:firebase-messaging'
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
plugins {
|
||||
id 'kotlin'
|
||||
id 'com.squareup.sqldelight'
|
||||
id 'org.jetbrains.kotlin.plugin.serialization'
|
||||
alias libs.plugins.kotlin.serialization
|
||||
alias libs.plugins.sqldelight
|
||||
id 'java-test-fixtures'
|
||||
}
|
||||
|
||||
|
@ -15,9 +15,8 @@ sqldelight {
|
|||
dependencies {
|
||||
implementation project(":core")
|
||||
implementation "chat-engine:chat-engine"
|
||||
implementation Dependencies.mavenCentral.kotlinSerializationJson
|
||||
implementation Dependencies.mavenCentral.kotlinCoroutinesCore
|
||||
implementation "com.squareup.sqldelight:coroutines-extensions:1.5.4"
|
||||
implementation libs.kotlin.serialization
|
||||
implementation libs.sqldelight.extensions
|
||||
|
||||
kotlinFixtures(it)
|
||||
testImplementation(testFixtures(project(":core")))
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
applyAndroidComposeLibraryModule(project)
|
||||
plugins {
|
||||
id "st-feature-conventions"
|
||||
}
|
||||
|
||||
android {
|
||||
namespace "app.dapk.st.directory"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(":domains:android:compose-core")
|
||||
|
@ -7,7 +13,7 @@ dependencies {
|
|||
implementation project(":features:messenger")
|
||||
implementation project(":core")
|
||||
implementation project(":design-library")
|
||||
implementation Dependencies.mavenCentral.coil
|
||||
implementation libs.compose.coil
|
||||
|
||||
kotlinTest(it)
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest package="app.dapk.st.directory"/>
|
|
@ -1,4 +1,10 @@
|
|||
applyAndroidComposeLibraryModule(project)
|
||||
plugins {
|
||||
id "st-feature-conventions"
|
||||
}
|
||||
|
||||
android {
|
||||
namespace "app.dapk.st.home"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "chat-engine:chat-engine"
|
||||
|
@ -12,5 +18,5 @@ dependencies {
|
|||
implementation 'screen-state:screen-android'
|
||||
implementation project(":core")
|
||||
implementation project(":design-library")
|
||||
implementation Dependencies.mavenCentral.coil
|
||||
implementation libs.compose.coil
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="app.dapk.st.home">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<application>
|
||||
<activity android:name="app.dapk.st.home.MainActivity"/>
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
applyAndroidComposeLibraryModule(project)
|
||||
plugins {
|
||||
id "st-feature-conventions"
|
||||
}
|
||||
|
||||
android {
|
||||
namespace "app.dapk.st.login"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "chat-engine:chat-engine"
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest package="app.dapk.st.login"/>
|
|
@ -1,5 +1,11 @@
|
|||
applyAndroidComposeLibraryModule(project)
|
||||
apply plugin: 'kotlin-parcelize'
|
||||
plugins {
|
||||
id "st-feature-conventions"
|
||||
id "org.jetbrains.kotlin.plugin.parcelize"
|
||||
}
|
||||
|
||||
android {
|
||||
namespace "app.dapk.st.messenger"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "chat-engine:chat-engine"
|
||||
|
@ -10,7 +16,7 @@ dependencies {
|
|||
implementation project(":core")
|
||||
implementation project(":features:navigator")
|
||||
implementation project(":design-library")
|
||||
implementation Dependencies.mavenCentral.coil
|
||||
implementation libs.compose.coil
|
||||
|
||||
kotlinTest(it)
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="app.dapk.st.messenger">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<application>
|
||||
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
applyAndroidLibraryModule(project)
|
||||
apply plugin: 'kotlin-parcelize'
|
||||
plugins {
|
||||
id "st-feature-conventions"
|
||||
id "org.jetbrains.kotlin.plugin.parcelize"
|
||||
}
|
||||
|
||||
android {
|
||||
namespace "app.dapk.st.navigator"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly project(":domains:android:stub")
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="app.dapk.st.navigator"/>
|
|
@ -1,8 +1,13 @@
|
|||
applyAndroidLibraryModule(project)
|
||||
plugins {
|
||||
id "st-android-library-conventions"
|
||||
}
|
||||
|
||||
android {
|
||||
namespace "app.dapk.st.notifications"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "chat-engine:chat-engine"
|
||||
// implementation project(':domains:store')
|
||||
implementation project(":domains:android:work")
|
||||
implementation project(':domains:android:push')
|
||||
implementation project(":domains:android:core")
|
||||
|
@ -11,8 +16,7 @@ dependencies {
|
|||
implementation project(":features:messenger")
|
||||
implementation project(":features:navigator")
|
||||
|
||||
|
||||
implementation Dependencies.mavenCentral.kotlinSerializationJson
|
||||
implementation libs.kotlin.serialization
|
||||
|
||||
kotlinTest(it)
|
||||
testImplementation 'chat-engine:chat-engine-test'
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="app.dapk.st.notifications">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
||||
</manifest>
|
|
@ -1,4 +1,10 @@
|
|||
applyAndroidComposeLibraryModule(project)
|
||||
plugins {
|
||||
id "st-feature-conventions"
|
||||
}
|
||||
|
||||
android {
|
||||
namespace "app.dapk.st.profile"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "chat-engine:chat-engine"
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="app.dapk.st.profile"/>
|
|
@ -1,4 +1,6 @@
|
|||
applyAndroidComposeLibraryModule(project)
|
||||
plugins {
|
||||
id "st-feature-conventions"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "chat-engine:chat-engine"
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
applyAndroidComposeLibraryModule(project)
|
||||
plugins {
|
||||
id "st-feature-conventions"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "chat-engine:chat-engine"
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
applyAndroidComposeLibraryModule(project)
|
||||
plugins {
|
||||
id "st-feature-conventions"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "chat-engine:chat-engine"
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
[versions]
|
||||
kotlin = "1.7.20"
|
||||
coroutines = "1.6.4"
|
||||
sqldelight = "1.5.4"
|
||||
ktor = "2.2.1"
|
||||
compose = "1.2.1"
|
||||
compose-compiler = "1.3.2"
|
||||
android-gp = "7.3.1"
|
||||
|
||||
[plugins]
|
||||
|
||||
android-application = { id = "com.android.application", version.ref = "android-gp" }
|
||||
android-library = { id = "com.android.library", version.ref = "android-gp" }
|
||||
android-kotlin = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
||||
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
|
||||
firebase-crashlytics = { id = "com.google.firebase.crashlytics", version = "2.9.2" }
|
||||
|
||||
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||||
sqldelight = { id = "com.squareup.sqldelight", version.ref = "sqldelight" }
|
||||
|
||||
[libraries]
|
||||
|
||||
compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "compose" }
|
||||
compose-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "compose" }
|
||||
compose-material-three = { group = "androidx.compose.material3", name = "material3", version = "1.0.0-rc01" }
|
||||
compose-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "compose" }
|
||||
compose-activity = { group = "androidx.activity", name = "activity-compose", version = "1.6.0" }
|
||||
compose-coil = { group = "io.coil-kt", name = "coil-compose", version = "2.2.2" }
|
||||
|
||||
android-desugar = { group = "com.android.tools", name = "desugar_jdk_libs", version = "1.1.5" }
|
||||
|
||||
accompanist-systemuicontroller = { group = "com.google.accompanist", name = "accompanist-systemuicontroller", version = "0.27.1" }
|
||||
|
||||
matrix-olm = { group = "org.matrix.android", name = "olm-sdk", version = "3.2.12" }
|
||||
|
||||
unifiedpush = { group = "com.github.UnifiedPush", name = "android-connector", version = "2.0.1" }
|
||||
|
||||
firebase-bom = { module = "com.google.firebase:firebase-bom", version = "31.0.1" }
|
||||
|
||||
kotlin-serialization = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version = "1.4.1" }
|
||||
|
||||
kotlin-coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "coroutines" }
|
||||
kotlin-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutines" }
|
||||
kotlin-test = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit", version.ref = "kotlin" }
|
||||
|
||||
sqldelight-android = { group = "com.squareup.sqldelight", name = "android-driver", version.ref = "sqldelight" }
|
||||
sqldelight-test = { group = "com.squareup.sqldelight", name = "sqlite-driver", version.ref = "sqldelight" }
|
||||
sqldelight-extensions = { group = "com.squareup.sqldelight", name = "coroutines-extensions", version.ref = "sqldelight" }
|
||||
|
||||
ktor-android = { group = "io.ktor", name = "ktor-client-android", version.ref = "ktor" }
|
||||
|
||||
junit = { group = "junit", name = "junit", version = "4.13.2" }
|
||||
kluent = { group = "org.amshove.kluent", name = "kluent", version = "1.72" }
|
||||
mockk = { group = "io.mockk", name = "mockk", version = "1.13.3" }
|
||||
|
||||
leakcanary = { group = "com.squareup.leakcanary", name = "leakcanary-android", version = "2.10" }
|
|
@ -1 +1 @@
|
|||
Subproject commit 4e92f14031cc8be907cba09b3bfc1d9dbd380072
|
||||
Subproject commit 088fd0e720acf5bc23eb8458469e782c5c10fcc7
|
|
@ -1,10 +1,15 @@
|
|||
pluginManagement {
|
||||
repositories {
|
||||
gradlePluginPortal()
|
||||
google()
|
||||
}
|
||||
}
|
||||
dependencyResolutionManagement {
|
||||
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
||||
apply from: "dependencies.gradle"
|
||||
repositories {
|
||||
Dependencies._repositories.call(it)
|
||||
}
|
||||
applyRepositories(it)
|
||||
}
|
||||
|
||||
rootProject.name = "SmallTalk"
|
||||
|
||||
includeBuild 'screen-state'
|
||||
|
|
Loading…
Reference in New Issue