diff options
| author | Joel Klinghed <the_jk@spawned.biz> | 2024-07-15 23:52:28 +0200 |
|---|---|---|
| committer | Joel Klinghed <the_jk@spawned.biz> | 2024-07-16 00:25:07 +0200 |
| commit | 42564c71cfb70c28831c662a3b6bf4084e079353 (patch) | |
| tree | 111456fd3e8dce884d0380a81d70950062c7d212 | |
| parent | 4a8f6807c9d3ee6bcfac25aee832163036b4e6fe (diff) | |
Break out io code in libs
Preparing for adding more io implementations.
Really tried writing the convention plugins in kotlin dsl but could
not find the exact right hacks to get it to work.
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | .idea/gradle.xml | 16 | ||||
| -rw-r--r-- | app/.gitignore | 1 | ||||
| -rw-r--r-- | app/build.gradle.kts | 34 | ||||
| -rw-r--r-- | app/src/main/java/org/the_jk/cleversync/io/TreeFactory.kt | 8 | ||||
| -rw-r--r-- | build.gradle.kts | 11 | ||||
| -rw-r--r-- | buildSrc/build.gradle.kts | 25 | ||||
| -rw-r--r-- | buildSrc/settings.gradle.kts | 9 | ||||
| -rw-r--r-- | buildSrc/src/main/groovy/the_jk.android-conventions.gradle | 45 | ||||
| -rw-r--r-- | gradle/libs.versions.toml | 5 | ||||
| -rw-r--r-- | libs/io/build.gradle.kts | 12 | ||||
| -rw-r--r-- | libs/io/src/main/java/org/the_jk/cleversync/io/Directory.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/Directory.kt) | 0 | ||||
| -rw-r--r-- | libs/io/src/main/java/org/the_jk/cleversync/io/File.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/File.kt) | 0 | ||||
| -rw-r--r-- | libs/io/src/main/java/org/the_jk/cleversync/io/Link.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/Link.kt) | 0 | ||||
| -rw-r--r-- | libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableDirectory.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/ModifiableDirectory.kt) | 0 | ||||
| -rw-r--r-- | libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableFile.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/ModifiableFile.kt) | 0 | ||||
| -rw-r--r-- | libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableLink.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/ModifiableLink.kt) | 0 | ||||
| -rw-r--r-- | libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableTree.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/ModifiableTree.kt) | 0 | ||||
| -rw-r--r-- | libs/io/src/main/java/org/the_jk/cleversync/io/Tree.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/Tree.kt) | 0 | ||||
| -rw-r--r-- | libs/local/build.gradle.kts | 12 | ||||
| -rw-r--r-- | libs/local/src/main/java/org/the_jk/cleversync/io/local/PathDirectory.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/impl/PathDirectory.kt) | 2 | ||||
| -rw-r--r-- | libs/local/src/main/java/org/the_jk/cleversync/io/local/PathFile.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/impl/PathFile.kt) | 2 | ||||
| -rw-r--r-- | libs/local/src/main/java/org/the_jk/cleversync/io/local/PathLink.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/impl/PathLink.kt) | 2 | ||||
| -rw-r--r-- | libs/local/src/main/java/org/the_jk/cleversync/io/local/PathTree.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/impl/PathTree.kt) | 4 | ||||
| -rw-r--r-- | libs/local/src/main/java/org/the_jk/cleversync/io/local/PathWatcher.kt (renamed from app/src/main/java/org/the_jk/cleversync/io/impl/PathWatcher.kt) | 2 | ||||
| -rw-r--r-- | libs/local/src/main/java/org/the_jk/cleversync/local/LocalTreeFactory.kt | 16 | ||||
| -rw-r--r-- | libs/local/src/main/res/values/strings.xml | 3 | ||||
| -rw-r--r-- | libs/local/src/test/java/org/the_jk/cleversync/local/LocalTreeTest.kt (renamed from app/src/test/java/org/the_jk/cleversync/io/LocalTreeTest.kt) | 8 | ||||
| -rw-r--r-- | libs/utils/build.gradle.kts | 12 | ||||
| -rw-r--r-- | libs/utils/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt (renamed from app/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt) | 0 | ||||
| -rw-r--r-- | libs/utils/src/main/java/org/the_jk/cleversync/StringUtils.kt (renamed from app/src/main/java/org/the_jk/cleversync/StringUtils.kt) | 0 | ||||
| -rw-r--r-- | libs/utils/src/test/java/org/the_jk/cleversync/StringUtilsTest.kt (renamed from app/src/test/java/org/the_jk/cleversync/StringUtilsTest.kt) | 0 | ||||
| -rw-r--r-- | settings.gradle.kts | 3 |
33 files changed, 190 insertions, 44 deletions
@@ -8,7 +8,7 @@ /.idea/navEditor.xml /.idea/assetWizardSettings.xml .DS_Store -/build +build /captures .externalNativeBuild .cxx diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 0897082..cc8d323 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,12 +4,28 @@ <component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> + <compositeConfiguration> + <compositeBuild compositeDefinitionSource="SCRIPT"> + <builds> + <build path="$PROJECT_DIR$/buildSrc" name="the_jk-conventions"> + <projects> + <project path="$PROJECT_DIR$/buildSrc" /> + </projects> + </build> + </builds> + </compositeBuild> + </compositeConfiguration> <option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" /> <option name="modules"> <set> <option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$/app" /> + <option value="$PROJECT_DIR$/buildSrc" /> + <option value="$PROJECT_DIR$/libs" /> + <option value="$PROJECT_DIR$/libs/io" /> + <option value="$PROJECT_DIR$/libs/local" /> + <option value="$PROJECT_DIR$/libs/utils" /> </set> </option> <option name="resolveExternalAnnotations" value="false" /> diff --git a/app/.gitignore b/app/.gitignore deleted file mode 100644 index 42afabf..0000000 --- a/app/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build
\ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index d432519..ea29544 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,21 +1,14 @@ plugins { alias(libs.plugins.android.application) - alias(libs.plugins.arturbosch.detekt) - alias(libs.plugins.jetbrains.kotlin.android) } android { namespace = "org.the_jk.cleversync" - compileSdk = 34 defaultConfig { applicationId = "org.the_jk.cleversync" - minSdk = 29 - targetSdk = 34 versionCode = 1 versionName = "0.1" - - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { @@ -27,41 +20,22 @@ android { ) } } - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - kotlinOptions { - jvmTarget = "11" - } buildFeatures { viewBinding = true } } dependencies { + implementation(project(":libs:local")) + implementation(project(":libs:io")) + implementation(project(":libs:samba")) + implementation(project(":libs:utils")) implementation(libs.androidx.appcompat) implementation(libs.androidx.constraintlayout) implementation(libs.androidx.core.ktx) - implementation(libs.androidx.livedata) - implementation(libs.androidx.livedata.ktx) implementation(libs.androidx.navigation.fragment.ktx) implementation(libs.androidx.navigation.ui.ktx) implementation(libs.material) - testImplementation(libs.junit) - testImplementation(libs.robolectric) - testImplementation(libs.truth) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) } - -detekt { - config.setFrom(rootProject.file("detekt.yaml")) -} - -tasks.withType<io.gitlab.arturbosch.detekt.Detekt>().configureEach { - this.jvmTarget = "11" -} -tasks.withType<io.gitlab.arturbosch.detekt.DetektCreateBaselineTask>().configureEach { - this.jvmTarget = "11" -} diff --git a/app/src/main/java/org/the_jk/cleversync/io/TreeFactory.kt b/app/src/main/java/org/the_jk/cleversync/io/TreeFactory.kt index d7c22f5..6df2c93 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/TreeFactory.kt +++ b/app/src/main/java/org/the_jk/cleversync/io/TreeFactory.kt @@ -1,12 +1,14 @@ package org.the_jk.cleversync.io -import org.the_jk.cleversync.io.impl.PathTree +import org.the_jk.cleversync.local.LocalTreeFactory import java.nio.file.Path object TreeFactory { fun localModifiableTree(root: Path): ModifiableTree { - return PathTree(root) + return LocalTreeFactory.modifiableTree(root) } - fun localTree(root: Path): Tree = localModifiableTree(root) + fun localTree(root: Path): Tree { + return LocalTreeFactory.tree(root) + } } diff --git a/build.gradle.kts b/build.gradle.kts index 435b1fa..0c60167 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,15 @@ plugins { alias(libs.plugins.android.application) apply false + alias(libs.plugins.android.library) apply false + alias(libs.plugins.arturbosch.detekt) apply false alias(libs.plugins.jetbrains.kotlin.android) apply false } + +subprojects { + plugins.withId("com.android.application") { + apply(plugin = "the_jk.android-conventions") + } + plugins.withId("com.android.library") { + apply(plugin = "the_jk.android-conventions") + } +} diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 0000000..b3d40ac --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,25 @@ +plugins { + id("groovy-gradle-plugin") + + `kotlin-dsl` +} + +repositories { + google() + gradlePluginPortal() +} + +dependencies { + implementation(libs.android.build.gradle.api) +} + +java { + toolchain { + // 11 needed for compile the groovy + languageVersion = JavaLanguageVersion.of(11) + } +} + +kotlin { + jvmToolchain(11) +} diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts new file mode 100644 index 0000000..8edb952 --- /dev/null +++ b/buildSrc/settings.gradle.kts @@ -0,0 +1,9 @@ +rootProject.name="the_jk-conventions" + +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + from(files("../gradle/libs.versions.toml")) + } + } +} diff --git a/buildSrc/src/main/groovy/the_jk.android-conventions.gradle b/buildSrc/src/main/groovy/the_jk.android-conventions.gradle new file mode 100644 index 0000000..9ff8adf --- /dev/null +++ b/buildSrc/src/main/groovy/the_jk.android-conventions.gradle @@ -0,0 +1,45 @@ +plugins { + id("io.gitlab.arturbosch.detekt") + id("org.jetbrains.kotlin.android") +} + +android { + compileSdk = 34 + + defaultConfig { + minSdk = 29 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + kotlinOptions { + jvmTarget = "11" + } +} + +dependencies { + testImplementation(libs.junit) + testImplementation(libs.robolectric) + testImplementation(libs.truth) +} + +detekt { + config.setFrom(rootProject.file("detekt.yaml")) +} + +def detektPlugin = project.plugins['io.gitlab.arturbosch.detekt'] +def detektCls = Class.forName('io.gitlab.arturbosch.detekt.Detekt', true, detektPlugin.class.classLoader) + +tasks.withType(detektCls).configureEach { + jvmTarget = "11" +} + +def detektCreateBaselineTaskCls = Class.forName('io.gitlab.arturbosch.detekt.DetektCreateBaselineTask', true, detektPlugin.class.classLoader) + +tasks.withType(detektCreateBaselineTaskCls).configureEach { + jvmTarget = "11" +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6f124db..ba79550 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,6 +3,7 @@ agp = "8.5.1" appcompat = "1.7.0" constraintlayout = "2.1.4" coreKtx = "1.13.1" +detekt = "1.23.6" espressoCore = "3.6.1" junit = "4.13.2" junitVersion = "1.2.1" @@ -13,6 +14,7 @@ navigationFragmentKtx = "2.7.7" navigationUiKtx = "2.7.7" [libraries] +android-build-gradle-api = { group = "com.android.tools.build", name = "gradle-api", version.ref = "agp" } androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } @@ -29,5 +31,6 @@ truth = { group = "com.google.truth", name = "truth", version = "1.4.3" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" } -arturbosch-detekt = { id = "io.gitlab.arturbosch.detekt", version = "1.23.3" } +android-library = { id = "com.android.library", version.ref = "agp" } +arturbosch-detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } diff --git a/libs/io/build.gradle.kts b/libs/io/build.gradle.kts new file mode 100644 index 0000000..c091a90 --- /dev/null +++ b/libs/io/build.gradle.kts @@ -0,0 +1,12 @@ +plugins { + alias(libs.plugins.android.library) +} + +android { + namespace = "org.the_jk.cleversync.io" +} + +dependencies { + api(libs.androidx.livedata) + api(libs.androidx.livedata.ktx) +} diff --git a/app/src/main/java/org/the_jk/cleversync/io/Directory.kt b/libs/io/src/main/java/org/the_jk/cleversync/io/Directory.kt index e653059..e653059 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/Directory.kt +++ b/libs/io/src/main/java/org/the_jk/cleversync/io/Directory.kt diff --git a/app/src/main/java/org/the_jk/cleversync/io/File.kt b/libs/io/src/main/java/org/the_jk/cleversync/io/File.kt index 17f142a..17f142a 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/File.kt +++ b/libs/io/src/main/java/org/the_jk/cleversync/io/File.kt diff --git a/app/src/main/java/org/the_jk/cleversync/io/Link.kt b/libs/io/src/main/java/org/the_jk/cleversync/io/Link.kt index c05f29e..c05f29e 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/Link.kt +++ b/libs/io/src/main/java/org/the_jk/cleversync/io/Link.kt diff --git a/app/src/main/java/org/the_jk/cleversync/io/ModifiableDirectory.kt b/libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableDirectory.kt index 8bddc2c..8bddc2c 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/ModifiableDirectory.kt +++ b/libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableDirectory.kt diff --git a/app/src/main/java/org/the_jk/cleversync/io/ModifiableFile.kt b/libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableFile.kt index 8675dae..8675dae 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/ModifiableFile.kt +++ b/libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableFile.kt diff --git a/app/src/main/java/org/the_jk/cleversync/io/ModifiableLink.kt b/libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableLink.kt index 7dd565b..7dd565b 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/ModifiableLink.kt +++ b/libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableLink.kt diff --git a/app/src/main/java/org/the_jk/cleversync/io/ModifiableTree.kt b/libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableTree.kt index 383360d..383360d 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/ModifiableTree.kt +++ b/libs/io/src/main/java/org/the_jk/cleversync/io/ModifiableTree.kt diff --git a/app/src/main/java/org/the_jk/cleversync/io/Tree.kt b/libs/io/src/main/java/org/the_jk/cleversync/io/Tree.kt index b6f2d54..b6f2d54 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/Tree.kt +++ b/libs/io/src/main/java/org/the_jk/cleversync/io/Tree.kt diff --git a/libs/local/build.gradle.kts b/libs/local/build.gradle.kts new file mode 100644 index 0000000..46d8128 --- /dev/null +++ b/libs/local/build.gradle.kts @@ -0,0 +1,12 @@ +plugins { + alias(libs.plugins.android.library) +} + +android { + namespace = "org.the_jk.cleversync.local" +} + +dependencies { + implementation(project(":libs:io")) + testImplementation(project(":libs:utils")) +} diff --git a/app/src/main/java/org/the_jk/cleversync/io/impl/PathDirectory.kt b/libs/local/src/main/java/org/the_jk/cleversync/io/local/PathDirectory.kt index 55bed6a..9899f02 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/impl/PathDirectory.kt +++ b/libs/local/src/main/java/org/the_jk/cleversync/io/local/PathDirectory.kt @@ -1,4 +1,4 @@ -package org.the_jk.cleversync.io.impl +package org.the_jk.cleversync.io.local import androidx.annotation.AnyThread import androidx.lifecycle.LiveData diff --git a/app/src/main/java/org/the_jk/cleversync/io/impl/PathFile.kt b/libs/local/src/main/java/org/the_jk/cleversync/io/local/PathFile.kt index 9a8d160..6aeb895 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/impl/PathFile.kt +++ b/libs/local/src/main/java/org/the_jk/cleversync/io/local/PathFile.kt @@ -1,4 +1,4 @@ -package org.the_jk.cleversync.io.impl +package org.the_jk.cleversync.io.local import org.the_jk.cleversync.io.ModifiableFile import java.io.InputStream diff --git a/app/src/main/java/org/the_jk/cleversync/io/impl/PathLink.kt b/libs/local/src/main/java/org/the_jk/cleversync/io/local/PathLink.kt index 9ae8b51..97cd117 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/impl/PathLink.kt +++ b/libs/local/src/main/java/org/the_jk/cleversync/io/local/PathLink.kt @@ -1,4 +1,4 @@ -package org.the_jk.cleversync.io.impl +package org.the_jk.cleversync.io.local import org.the_jk.cleversync.io.Directory import org.the_jk.cleversync.io.File diff --git a/app/src/main/java/org/the_jk/cleversync/io/impl/PathTree.kt b/libs/local/src/main/java/org/the_jk/cleversync/io/local/PathTree.kt index a8a74c5..23442a1 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/impl/PathTree.kt +++ b/libs/local/src/main/java/org/the_jk/cleversync/io/local/PathTree.kt @@ -1,8 +1,8 @@ -package org.the_jk.cleversync.io.impl +package org.the_jk.cleversync.io.local import android.content.res.Resources -import org.the_jk.cleversync.R import org.the_jk.cleversync.io.ModifiableTree +import org.the_jk.cleversync.local.R import java.nio.file.Path internal class PathTree(root: Path) : PathDirectory(root, PathWatcher()), ModifiableTree { diff --git a/app/src/main/java/org/the_jk/cleversync/io/impl/PathWatcher.kt b/libs/local/src/main/java/org/the_jk/cleversync/io/local/PathWatcher.kt index 945019a..0fa9f03 100644 --- a/app/src/main/java/org/the_jk/cleversync/io/impl/PathWatcher.kt +++ b/libs/local/src/main/java/org/the_jk/cleversync/io/local/PathWatcher.kt @@ -1,4 +1,4 @@ -package org.the_jk.cleversync.io.impl +package org.the_jk.cleversync.io.local import androidx.annotation.GuardedBy import androidx.annotation.WorkerThread diff --git a/libs/local/src/main/java/org/the_jk/cleversync/local/LocalTreeFactory.kt b/libs/local/src/main/java/org/the_jk/cleversync/local/LocalTreeFactory.kt new file mode 100644 index 0000000..3990416 --- /dev/null +++ b/libs/local/src/main/java/org/the_jk/cleversync/local/LocalTreeFactory.kt @@ -0,0 +1,16 @@ +package org.the_jk.cleversync.local + +import org.the_jk.cleversync.io.ModifiableTree +import org.the_jk.cleversync.io.Tree +import org.the_jk.cleversync.io.local.PathTree +import java.nio.file.Path + +object LocalTreeFactory { + fun tree(path: Path): Tree { + return PathTree(path) + } + + fun modifiableTree(path: Path): ModifiableTree { + return PathTree(path) + } +} diff --git a/libs/local/src/main/res/values/strings.xml b/libs/local/src/main/res/values/strings.xml new file mode 100644 index 0000000..9fef6ef --- /dev/null +++ b/libs/local/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ +<resources> + <string name="local_directory">Local directory</string> +</resources> diff --git a/app/src/test/java/org/the_jk/cleversync/io/LocalTreeTest.kt b/libs/local/src/test/java/org/the_jk/cleversync/local/LocalTreeTest.kt index 7b83c98..21002e3 100644 --- a/app/src/test/java/org/the_jk/cleversync/io/LocalTreeTest.kt +++ b/libs/local/src/test/java/org/the_jk/cleversync/local/LocalTreeTest.kt @@ -1,4 +1,4 @@ -package org.the_jk.cleversync.io +package org.the_jk.cleversync.local import com.google.common.truth.Truth.assertThat import org.junit.Assert @@ -10,6 +10,10 @@ import org.junit.runner.RunWith import org.robolectric.RobolectricTestRunner import org.robolectric.annotation.Config import org.robolectric.shadows.ShadowLooper +import org.the_jk.cleversync.io.Directory +import org.the_jk.cleversync.io.Link +import org.the_jk.cleversync.io.ModifiableLink +import org.the_jk.cleversync.io.ModifiableTree import org.the_jk.cleversync.safeValue @Config(manifest=Config.NONE) @@ -22,7 +26,7 @@ class LocalTreeTest { @Before fun setUp() { - tree = TreeFactory.localModifiableTree(folder.root.toPath()) + tree = LocalTreeFactory.modifiableTree(folder.root.toPath()) } @Test diff --git a/libs/utils/build.gradle.kts b/libs/utils/build.gradle.kts new file mode 100644 index 0000000..b4f0ae5 --- /dev/null +++ b/libs/utils/build.gradle.kts @@ -0,0 +1,12 @@ +plugins { + alias(libs.plugins.android.library) +} + +android { + namespace = "org.the_jk.cleversync.utils" +} + +dependencies { + api(libs.androidx.livedata) + api(libs.androidx.livedata.ktx) +} diff --git a/app/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt b/libs/utils/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt index 7f6ab1f..7f6ab1f 100644 --- a/app/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt +++ b/libs/utils/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt diff --git a/app/src/main/java/org/the_jk/cleversync/StringUtils.kt b/libs/utils/src/main/java/org/the_jk/cleversync/StringUtils.kt index 6adea24..6adea24 100644 --- a/app/src/main/java/org/the_jk/cleversync/StringUtils.kt +++ b/libs/utils/src/main/java/org/the_jk/cleversync/StringUtils.kt diff --git a/app/src/test/java/org/the_jk/cleversync/StringUtilsTest.kt b/libs/utils/src/test/java/org/the_jk/cleversync/StringUtilsTest.kt index 6a36156..6a36156 100644 --- a/app/src/test/java/org/the_jk/cleversync/StringUtilsTest.kt +++ b/libs/utils/src/test/java/org/the_jk/cleversync/StringUtilsTest.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index 0a813b0..48dd233 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -21,3 +21,6 @@ dependencyResolutionManagement { rootProject.name = "CleverSync" include(":app") +include(":libs:local") +include(":libs:io") +include(":libs:utils") |
