diff --git a/README.md b/README.md
index 24951dc1..e63dae50 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@
-
+
@@ -39,33 +39,19 @@
## Installation
-### Step 1 — Add the JitPack repository
-
-In your **settings.gradle.kts**:
-
-```kotlin
-dependencyResolutionManagement {
- repositories {
- maven("https://jitpack.io")
- }
-}
-```
-
-### Step 2 — Add the dependency
-
-Pick the module that matches your UI toolkit:
+Add the dependency for the module that matches your UI toolkit:
```kotlin
dependencies {
// Jetpack Compose
- implementation("com.github.HeyPouya.AndroidAppUpdater:compose:latest_version")
+ implementation("com.pouyaheydari.updater:compose:latest_version")
// XML Views / DialogFragment
- implementation("com.github.HeyPouya.AndroidAppUpdater:main:latest_version")
+ implementation("com.pouyaheydari.updater:main:latest_version")
}
```
-> Replace `latest_version` with the latest release tag from [JitPack](https://jitpack.io/#HeyPouya/AndroidAppUpdater).
+> Replace `latest_version` with the latest version from [Maven Central](https://central.sonatype.com/search?q=com.pouyaheydari.updater).
---
@@ -214,53 +200,53 @@ AndroidAppUpdater(dialogData)
### Fragment `UpdaterDialogData`
-| Parameter | Type | Default | Description |
-|-----------|------|---------|-------------|
-| `title` | `String` | `""` | Title shown at the top of the dialog |
-| `description` | `String` | `""` | Description text below the title |
-| `storeList` | `List` | `[]` | App stores to show as update options |
-| `directDownloadList` | `List` | `[]` | Direct APK download links |
-| `isForceUpdate` | `Boolean` | `false` | If `true`, the dialog cannot be dismissed |
-| `typeface` | `Typeface?` | `null` | Custom typeface for dialog text |
-| `theme` | `Theme` | `SYSTEM_DEFAULT` | `LIGHT`, `DARK`, or `SYSTEM_DEFAULT` |
-| `errorWhileOpeningStoreCallback` | `((String) -> Unit)?` | `null` | Called with store name if opening fails |
+| Parameter | Type | Default | Description |
+|----------------------------------|--------------------------------|------------------|-------------------------------------------|
+| `title` | `String` | `""` | Title shown at the top of the dialog |
+| `description` | `String` | `""` | Description text below the title |
+| `storeList` | `List` | `[]` | App stores to show as update options |
+| `directDownloadList` | `List` | `[]` | Direct APK download links |
+| `isForceUpdate` | `Boolean` | `false` | If `true`, the dialog cannot be dismissed |
+| `typeface` | `Typeface?` | `null` | Custom typeface for dialog text |
+| `theme` | `Theme` | `SYSTEM_DEFAULT` | `LIGHT`, `DARK`, or `SYSTEM_DEFAULT` |
+| `errorWhileOpeningStoreCallback` | `((String) -> Unit)?` | `null` | Called with store name if opening fails |
### Compose `UpdaterDialogData`
-| Parameter | Type | Default | Description |
-|-----------|------|---------|-------------|
-| `dialogTitle` | `String` | `""` | Title shown at the top of the dialog |
-| `dialogDescription` | `String` | `""` | Description text below the title |
-| `dividerText` | `String` | `""` | Text on the divider between stores and downloads |
-| `storeList` | `List` | `[]` | App stores to show as update options |
-| `directDownloadList` | `List` | `[]` | Direct APK download links |
-| `onDismissRequested` | `() -> Unit` | `{}` | Called when the user dismisses the dialog |
-| `typeface` | `Typeface?` | `null` | Custom typeface for dialog text |
-| `theme` | `Theme` | `SYSTEM_DEFAULT` | `LIGHT`, `DARK`, or `SYSTEM_DEFAULT` |
-| `errorWhileOpeningStoreCallback` | `(String) -> Unit` | `{}` | Called with store name if opening fails |
+| Parameter | Type | Default | Description |
+|----------------------------------|--------------------------------|------------------|--------------------------------------------------|
+| `dialogTitle` | `String` | `""` | Title shown at the top of the dialog |
+| `dialogDescription` | `String` | `""` | Description text below the title |
+| `dividerText` | `String` | `""` | Text on the divider between stores and downloads |
+| `storeList` | `List` | `[]` | App stores to show as update options |
+| `directDownloadList` | `List` | `[]` | Direct APK download links |
+| `onDismissRequested` | `() -> Unit` | `{}` | Called when the user dismisses the dialog |
+| `typeface` | `Typeface?` | `null` | Custom typeface for dialog text |
+| `theme` | `Theme` | `SYSTEM_DEFAULT` | `LIGHT`, `DARK`, or `SYSTEM_DEFAULT` |
+| `errorWhileOpeningStoreCallback` | `(String) -> Unit` | `{}` | Called with store name if opening fails |
---
## Supported Stores
-| Store | Enum Value | Built-in Icon |
-|-------|-----------|---------------|
-| Google Play | `GOOGLE_PLAY` | `appupdater_ic_google_play` |
-| Cafe Bazaar | `CAFE_BAZAAR` | `appupdater_ic_bazar` |
-| Myket | `MYKET` | `appupdater_ic_myket` |
-| Huawei AppGallery | `HUAWEI_APP_GALLERY` | `appupdater_ic_app_gallery` |
-| Samsung Galaxy Store | `SAMSUNG_GALAXY_STORE` | `appupdater_ic_galaxy_store` |
-| Amazon App Store | `AMAZON_APP_STORE` | `appupdater_ic_amazon_app_store` |
-| Aptoide | `APTOIDE` | `appupdater_ic_aptoide` |
-| F-Droid | `FDROID` | `appupdater_ic_fdroid` |
-| Xiaomi GetApps | `MI_GET_APP_STORE` | `appupdater_ic_get_app_store` |
-| OneStore | `ONE_STORE_APP_MARKET` | `appupdater_ic_one_store` |
-| Oppo App Market | `OPPO_APP_MARKET` | `appupdater_ic_oppo_app_market` |
-| Vivo V-AppStore | `V_APP_STORE` | `appupdater_ic_v_app_store` |
-| 9Apps | `NINE_APPS_STORE` | `appupdater_ic_nine_apps` |
-| Tencent App Store | `TENCENT_APPS_STORE` | `appupdater_ic_tencent_app_store` |
-| ZTE App Center | `ZTE_APP_CENTER` | `appupdater_ic_zte_app_center` |
-| Lenovo App Center | `LENOVO_APP_CENTER` | `appupdater_ic_lenovo_app_center` |
+| Store | Enum Value | Built-in Icon |
+|----------------------|------------------------|-----------------------------------|
+| Google Play | `GOOGLE_PLAY` | `appupdater_ic_google_play` |
+| Cafe Bazaar | `CAFE_BAZAAR` | `appupdater_ic_bazar` |
+| Myket | `MYKET` | `appupdater_ic_myket` |
+| Huawei AppGallery | `HUAWEI_APP_GALLERY` | `appupdater_ic_app_gallery` |
+| Samsung Galaxy Store | `SAMSUNG_GALAXY_STORE` | `appupdater_ic_galaxy_store` |
+| Amazon App Store | `AMAZON_APP_STORE` | `appupdater_ic_amazon_app_store` |
+| Aptoide | `APTOIDE` | `appupdater_ic_aptoide` |
+| F-Droid | `FDROID` | `appupdater_ic_fdroid` |
+| Xiaomi GetApps | `MI_GET_APP_STORE` | `appupdater_ic_get_app_store` |
+| OneStore | `ONE_STORE_APP_MARKET` | `appupdater_ic_one_store` |
+| Oppo App Market | `OPPO_APP_MARKET` | `appupdater_ic_oppo_app_market` |
+| Vivo V-AppStore | `V_APP_STORE` | `appupdater_ic_v_app_store` |
+| 9Apps | `NINE_APPS_STORE` | `appupdater_ic_nine_apps` |
+| Tencent App Store | `TENCENT_APPS_STORE` | `appupdater_ic_tencent_app_store` |
+| ZTE App Center | `ZTE_APP_CENTER` | `appupdater_ic_zte_app_center` |
+| Lenovo App Center | `LENOVO_APP_CENTER` | `appupdater_ic_lenovo_app_center` |
All icons are bundled with the library. Use them via `R.drawable.appupdater_ic_*`.
@@ -321,24 +307,24 @@ AndroidAppUpdater/
└── app/ # Sample/demo application
```
-| Module | Artifact | Description |
-|--------|----------|-------------|
-| `:core` | `core` | Theme enum and constants — no Android dependency |
-| `:store` | `store` | All 16 store implementations with built-in icons |
-| `:directdownload` | `directdownload` | Download manager, permissions, APK installation |
-| `:appupdater` | `main` | DialogFragment-based update dialog |
-| `:compose` | `compose` | Jetpack Compose update dialog |
+| Module | Artifact | Description |
+|-------------------|-------------------------------------------|--------------------------------------------------|
+| `:core` | `com.pouyaheydari.updater:core` | Theme enum and constants — no Android dependency |
+| `:store` | `com.pouyaheydari.updater:store` | All 16 store implementations with built-in icons |
+| `:directdownload` | `com.pouyaheydari.updater:directdownload` | Download manager, permissions, APK installation |
+| `:appupdater` | `com.pouyaheydari.updater:main` | DialogFragment-based update dialog |
+| `:compose` | `com.pouyaheydari.updater:compose` | Jetpack Compose update dialog |
---
## Requirements
-| Requirement | Value |
-|------------|-------|
-| Min SDK | 23 (Android 6.0) |
-| Compile SDK | 36 |
-| Kotlin | 2.3+ |
-| Java | 17 |
+| Requirement | Value |
+|-------------|------------------|
+| Min SDK | 23 (Android 6.0) |
+| Compile SDK | 36 |
+| Kotlin | 2.3+ |
+| Java | 17 |
---
diff --git a/appupdater/build.gradle.kts b/appupdater/build.gradle.kts
index 2e94abf4..c49cb084 100644
--- a/appupdater/build.gradle.kts
+++ b/appupdater/build.gradle.kts
@@ -1,4 +1,6 @@
import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
+import com.vanniktech.maven.publish.JavadocJar
+import com.vanniktech.maven.publish.SourcesJar
plugins {
alias(libs.plugins.project.androidLibrary)
@@ -13,10 +15,10 @@ android {
mavenPublishing {
configure(
AndroidSingleVariantLibrary(
+ javadocJar = JavadocJar.Empty(),
+ sourcesJar = SourcesJar.Sources(),
variant = "release",
- sourcesJar = true,
- publishJavadocJar = false,
- )
+ ),
)
}
diff --git a/appupdater/gradle.properties b/appupdater/gradle.properties
index a0a0fcf6..807b404f 100644
--- a/appupdater/gradle.properties
+++ b/appupdater/gradle.properties
@@ -1 +1,2 @@
POM_ARTIFACT_ID=main
+POM_NAME=AppUpdater
diff --git a/compose/gradle.properties b/compose/gradle.properties
index 77243bfa..819dfa6d 100644
--- a/compose/gradle.properties
+++ b/compose/gradle.properties
@@ -1 +1,2 @@
POM_ARTIFACT_ID=compose
+POM_NAME=AppUpdater Compose
diff --git a/core/gradle.properties b/core/gradle.properties
index 7f6a94fe..efd3286c 100644
--- a/core/gradle.properties
+++ b/core/gradle.properties
@@ -1 +1,2 @@
POM_ARTIFACT_ID=core
+POM_NAME=AppUpdater Core
diff --git a/directdownload/gradle.properties b/directdownload/gradle.properties
index de23aee2..b055d973 100644
--- a/directdownload/gradle.properties
+++ b/directdownload/gradle.properties
@@ -1 +1,2 @@
POM_ARTIFACT_ID=directdownload
+POM_NAME=AppUpdater DirectDownload
diff --git a/gradle.properties b/gradle.properties
index eab04f6f..a09af600 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -5,8 +5,8 @@ android.nonTransitiveRClass=true
android.nonFinalResIds=true
android.useAndroidX=true
org.gradle.parallel=true
-POM_GROUP_ID=com.pouyaheydari.updater
-POM_VERSION=11.1.0
+GROUP=com.pouyaheydari.updater
+VERSION_NAME=11.1.0
POM_DESCRIPTION=App Updater is an easy-to-use and fully customizable library to show update dialog to users.
POM_URL=https://github.com/HeyPouya/AndroidAppUpdater
POM_SCM_URL=https://github.com/HeyPouya/AndroidAppUpdater
@@ -17,3 +17,6 @@ POM_LICENCE_URL=https://www.apache.org/licenses/LICENSE-2.0.txt
POM_LICENCE_DIST=repo
POM_DEVELOPER_ID=HeyPouya
POM_DEVELOPER_NAME=Pouya Heydari
+POM_DEVELOPER_URL=https://pouyaheydari.dev
+mavenCentralPublishing=true
+signAllPublications=true
diff --git a/store/gradle.properties b/store/gradle.properties
index cb0ae8b4..077a00ea 100644
--- a/store/gradle.properties
+++ b/store/gradle.properties
@@ -1 +1,2 @@
POM_ARTIFACT_ID=store
+POM_NAME=AppUpdater Store