Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 0 additions & 84 deletions build.gradle

This file was deleted.

6 changes: 6 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.compose) apply false
}
3 changes: 2 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,11 @@ android.useAndroidX=true
android.enableJetifier=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
org.jetbrains.dokka.experimental.gradle.pluginMode=V2EnabledWithHelpers
# For publishing:
GROUP=com.anggrayudi
POM_ARTIFACT_ID=storage
VERSION_NAME=2.0.0-SNAPSHOT
VERSION_NAME=2.1.0-SNAPSHOT
RELEASE_SIGNING_ENABLED=false
SONATYPE_AUTOMATIC_RELEASE=true
SONATYPE_HOST=DEFAULT
Expand Down
55 changes: 55 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
[versions]
kotlin = "2.1.20"
activityCompose = "1.10.1"
coroutines = "1.10.2"
mockito = "3.10.0"
powermock = "2.0.9"

[libraries]
androidx-core = { group = "androidx.core", name = "core-ktx", version = "1.16.0" }
junit = { group = "junit", name = "junit", version = "4.13.2" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version = "1.2.1" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version = "3.6.1" }
androidx-lifecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version = "2.9.1" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version = "1.7.1" }
androidx-activity = { group = "androidx.activity", name = "activity-ktx", version.ref = "activityCompose" }
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version = "2025.06.00" }
androidx-ui = { group = "androidx.compose.ui", name = "ui" }
androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
androidx-multidex = { group = "androidx.multidex", name = "multidex", version = "2.0.1" }
androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version = "2.9.0" }
androidx-datastore = { group = "androidx.datastore", name = "datastore-preferences-android", version = "1.1.7" }
androidx-preference = { group = "androidx.preference", name = "preference-ktx", version = "1.2.1" }
androidx-document-file = { group = "androidx.documentfile", name = "documentfile", version = "1.1.0" }
androidx-fragment = { group = "androidx.fragment", name = "fragment-ktx", version = "1.8.8" }
material-icons-ext = { group = "androidx.compose.material", name = "material-icons-extended", version = "1.7.8" }

material-dialogs-files = { group = "com.afollestad.material-dialogs", name = "files", version = "3.3.0" }
material-progress-bar = { group = "me.zhanghai.android.materialprogressbar", name = "library", version = "1.6.1" }
timber = { group = "com.jakewharton.timber", name = "timber", version = "5.0.1" }
coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" }
coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutines" }

mockk = { group = "io.mockk", name = "mockk", version = "1.13.17" }
kotlin-test = { group = "org.jetbrains.kotlin", name = "kotlin-test", version.ref = "kotlin" }
robolectric = { group = "org.robolectric", name = "robolectric", version = "4.10.3" }
mockito-core = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" }
mockito-inline = { group = "org.mockito", name = "mockito-inline", version.ref = "mockito" }
mockito-all = { group = "org.mockito", name = "mockito-all", version = "1.10.19" }
mockito-kotlin = { group = "com.nhaarman.mockitokotlin2", name = "mockito-kotlin", version = "2.2.0" }
powermock-junit4 = { group = "org.powermock", name = "powermock-module-junit4", version.ref = "powermock" }
powermock-api-mockito = { group = "org.powermock", name = "powermock-api-mockito2", version.ref = "powermock" }

[plugins]
android-application = { id = "com.android.application", version = "8.9.3" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version = "2.1.20-1.0.32" }
maven-publish = { id = "com.vanniktech.maven.publish", version = "0.22.0" }
dokka = { id = "org.jetbrains.dokka", version = "2.0.0" }
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Tue Dec 01 18:57:30 WIB 2020
#Tue Jun 10 19:14:26 WIB 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
87 changes: 0 additions & 87 deletions sample/build.gradle

This file was deleted.

115 changes: 115 additions & 0 deletions sample/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.ksp)
}

android {
namespace = "com.anggrayudi.storage.sample"
compileSdk = 35

signingConfigs {
val debugKeystore =
file(
"${System.getProperty("user.home")}${File.separator}.android${File.separator}debug.keystore"
)
getByName("debug") {
keyAlias = "androiddebugkey"
keyPassword = "android"
storePassword = "android"
storeFile = debugKeystore
}
create("release") {
keyAlias = "androiddebugkey"
keyPassword = "android"
storePassword = "android"
storeFile = debugKeystore
}
}

defaultConfig {
applicationId = "com.anggrayudi.storage.sample"
minSdk = 21
targetSdk = 35
versionCode = 1
versionName = rootProject.extra["VERSION_NAME"] as String
multiDexEnabled = true
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
debug { signingConfig = signingConfigs.getByName("debug") }
release {
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
signingConfig = signingConfigs.getByName("release")
}
}

buildFeatures {
viewBinding = true
compose = true
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions { jvmTarget = "11" }

flavorDimensions += "libSource"
productFlavors {
create("local") { dimension = "libSource" }
create("maven") {
dimension = "libSource"
configurations.all {
// Check for updates every build
resolutionStrategy.cacheChangingModulesFor(0, TimeUnit.SECONDS)
}
}
}

applicationVariants.forEach { variant ->
variant.sourceSets.forEach {
it.javaDirectories += files("build/generated/ksp/${variant.name}/kotlin")
}
}
}

dependencies {
implementation(project(":storage"))
// implementation("com.anggrayudi:storage:${rootProject.extra["VERSION_NAME"]}")

implementation(libs.androidx.core)
implementation(libs.androidx.lifecycle.runtime)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.multidex)
implementation(libs.androidx.navigation.compose)
implementation(libs.androidx.datastore)
implementation(libs.androidx.preference)
implementation(libs.material.icons.ext)

implementation(libs.timber)
implementation(libs.coroutines.android)
implementation(libs.material.progress.bar)
implementation(libs.material.dialogs.files)

testImplementation(libs.junit)
testImplementation(libs.coroutines.test)
testImplementation(libs.mockk)
testImplementation(libs.kotlin.test)

androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)

debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}
10 changes: 5 additions & 5 deletions sample/src/main/java/com/anggrayudi/storage/sample/App.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import timber.log.Timber
*/
class App : MultiDexApplication() {

override fun onCreate() {
super.onCreate()
Timber.plant(Timber.DebugTree())
}
}
override fun onCreate() {
super.onCreate()
Timber.plant(Timber.DebugTree())
}
}
Loading