Skip to content

Commit f8aecb4

Browse files
committed
update library / plugin management / add libraries
* new usage: see `README.md` * use plugin (via `alias`) instead of buildSrc `implementation` * merge `plugins` and `base` into `magic` add libraries / plugins * recyclerviewSelection = "1.1.0" * camerax = "1.2.3" * kotlinKsp = "1.9.10-1.0.13" * arrow = "1.2.0" * zxing = "3.5.2" * spotless = "6.19.0" * grgit = "4.1.0"
1 parent 04b80b4 commit f8aecb4

12 files changed

+315
-190
lines changed

README.md

+89-23
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,114 @@
11
# Magic Catalogs
2+
23
Dependency versions for modern android applications
34

45
![Publish](https://github.com/kroegerama/magic-catalogs/workflows/Publish/badge.svg)
56

67
![License](https://img.shields.io/github/license/kroegerama/magic-catalogs)
78

8-
| Artifact | Version |
9-
|:-|:-:|
10-
| base | [![Maven Central](https://img.shields.io/maven-central/v/com.kroegerama.magic-catalogs/base)](https://search.maven.org/artifact/com.kroegerama.magic-catalogs/base) |
9+
| Artifact | Version |
10+
|:---------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
11+
| magic | [![Maven Central](https://img.shields.io/maven-central/v/com.kroegerama.magic-catalogs/magic)](https://search.maven.org/artifact/com.kroegerama.magic-catalogs/magic) |
1112
| androidx | [![Maven Central](https://img.shields.io/maven-central/v/com.kroegerama.magic-catalogs/androidx)](https://search.maven.org/artifact/com.kroegerama.magic-catalogs/androidx) |
12-
| plugins | [![Maven Central](https://img.shields.io/maven-central/v/com.kroegerama.magic-catalogs/plugins)](https://search.maven.org/artifact/com.kroegerama.magic-catalogs/plugins) |
1313

14-
## Usage
14+
## Example usage
1515

1616
##### `settings.gradle.kts`
1717

1818
```kotlin
19-
versionCatalogs {
20-
val magicCatalogs = "<version>"
21-
22-
create("lib") {
23-
from("com.kroegerama.magic-catalogs:base:$magicCatalogs")
19+
pluginManagement {
20+
repositories {
21+
google()
22+
mavenCentral()
23+
gradlePluginPortal()
2424
}
25-
create("androidx") {
26-
from("com.kroegerama.magic-catalogs:androidx:$magicCatalogs")
25+
}
26+
dependencyResolutionManagement {
27+
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
28+
repositories {
29+
mavenCentral()
30+
google()
2731
}
28-
create("plg") {
29-
from("com.kroegerama.magic-catalogs:plugins:$magicCatalogs")
32+
33+
versionCatalogs {
34+
val magicCatalogs: String by settings
35+
36+
create("magic") {
37+
from("com.kroegerama.magic-catalogs:magic:$magicCatalogs")
38+
}
39+
create("androidx") {
40+
from("com.kroegerama.magic-catalogs:androidx:$magicCatalogs")
41+
}
3042
}
3143
}
44+
45+
// [...] include projects
3246
```
3347

34-
##### `module.gradle.kts`
48+
##### `build.gradle.kts` (root)
49+
```kotlin
50+
plugins {
51+
alias(magic.plugins.android.application) apply false
52+
alias(magic.plugins.android.library) apply false
53+
alias(magic.plugins.kotlin.android) apply false
54+
alias(magic.plugins.kotlin.kapt) apply false
55+
alias(magic.plugins.kotlin.parcelize) apply false
56+
alias(magic.plugins.kotlin.serialization) apply false
57+
58+
alias(magic.plugins.hilt.android) apply false
59+
alias(magic.plugins.ksp) apply false
60+
61+
alias(magic.plugins.grgit) apply false
62+
alias(magic.plugins.spotless) apply false
63+
64+
alias(androidx.plugins.navigation.safeArgs) apply false
65+
}
66+
```
3567

68+
##### `build.gradle.kts` (module)
3669
```kotlin
37-
implementation(lib.kotlin)
38-
implementation(lib.coroutines.android)
70+
plugins {
71+
alias(magic.plugins.android.application)
72+
alias(magic.plugins.kotlin.android)
73+
alias(magic.plugins.kotlin.kapt)
74+
alias(magic.plugins.kotlin.parcelize)
75+
alias(magic.plugins.kotlin.serialization)
3976

40-
implementation(androidx.bundles.base)
41-
implementation(androidx.bundles.lifecycle)
42-
implementation(androidx.bundles.navigation)
77+
alias(magic.plugins.hilt.android)
78+
alias(magic.plugins.ksp)
4379

44-
implementation(lib.hilt.android)
45-
kapt(lib.hilt.compiler)
80+
alias(magic.plugins.grgit)
81+
alias(magic.plugins.spotless)
4682

47-
implementation(lib.material)
83+
alias(androidx.plugins.navigation.safeArgs)
84+
}
85+
86+
// [...]
87+
88+
dependencies {
89+
implementation(magic.kotlin.stdlib.jdk8)
90+
implementation(magic.kotlinx.coroutines.android)
91+
implementation(magic.kotlinx.serialization.json)
92+
93+
implementation(androidx.bundles.base)
94+
implementation(androidx.bundles.lifecycle)
95+
implementation(androidx.bundles.navigation)
96+
implementation(androidx.paging.runtime)
97+
implementation(androidx.work.runtime)
98+
99+
implementation(androidx.room)
100+
ksp(androidx.room.compiler)
101+
implementation(androidx.room.paging)
102+
103+
implementation(magic.hilt.android)
104+
kapt(magic.hilt.compiler)
105+
106+
implementation(androidx.hilt.work)
107+
implementation(androidx.hilt.navigation.fragment)
108+
kapt(androidx.hilt.compiler)
109+
110+
implementation(magic.material)
111+
112+
// [...]
113+
}
48114
```

androidx/build.gradle.kts

+33-11
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ version = C.PROJECT_VERSION
55

66
catalog {
77
versionCatalog {
8-
with(V.AndroidX) {
8+
with(AndroidX) {
99
version("activity", activity)
1010
version("appcompat", appcompat)
1111
version("autofill", autofill)
@@ -21,12 +21,17 @@ catalog {
2121
version("navigation", navigation)
2222
version("paging", paging)
2323
version("preference", preference)
24-
version("recycler", recycler)
24+
version("recyclerview", recyclerview)
25+
version("recyclerview-selection", recyclerviewSelection)
2526
version("room", room)
2627
version("swiperefresh", swiperefresh)
2728
version("work", work)
29+
version("camerax", camerax)
30+
version("navigation", navigation)
2831
}
2932

33+
plugin("navigation-safeArgs", "androidx.navigation.safeargs.kotlin").versionRef("navigation")
34+
3035
library("activity", "androidx.activity", "activity-ktx").versionRef("activity")
3136

3237
library("appcompat", "androidx.appcompat", "appcompat").versionRef("appcompat")
@@ -38,7 +43,7 @@ catalog {
3843
library("core", "androidx.core", "core-ktx").versionRef("core")
3944

4045
library("datastore", "androidx.datastore", "datastore").versionRef("datastore")
41-
library("datastorePreferences", "androidx.datastore", "datastore-preferences").versionRef("datastore")
46+
library("datastore-preferences", "androidx.datastore", "datastore-preferences").versionRef("datastore")
4247

4348
library("exifinterface", "androidx.exifinterface", "exifinterface").versionRef("exif")
4449

@@ -47,16 +52,16 @@ catalog {
4752
library("hilt-common", "androidx.hilt", "hilt-common").versionRef("hilt")
4853
library("hilt-compiler", "androidx.hilt", "hilt-compiler").versionRef("hilt")
4954
library("hilt-navigation", "androidx.hilt", "hilt-navigation").versionRef("hilt")
50-
library("hilt-navigationFragment", "androidx.hilt", "hilt-navigation-fragment").versionRef("hilt")
55+
library("hilt-navigation-fragment", "androidx.hilt", "hilt-navigation-fragment").versionRef("hilt")
5156
library("hilt-work", "androidx.hilt", "hilt-work").versionRef("hilt")
5257

58+
library("lifecycle-common-java8", "androidx.lifecycle", "lifecycle-common-java8").versionRef("lifecycle")
5359
library("lifecycle-viewmodel", "androidx.lifecycle", "lifecycle-viewmodel-ktx").versionRef("lifecycle")
5460
library("lifecycle-livedata", "androidx.lifecycle", "lifecycle-livedata-ktx").versionRef("lifecycle")
5561
library("lifecycle-runtime", "androidx.lifecycle", "lifecycle-runtime-ktx").versionRef("lifecycle")
56-
library("lifecycle-common-java8", "androidx.lifecycle", "lifecycle-common-java8").versionRef("lifecycle")
5762
library("lifecycle-process", "androidx.lifecycle", "lifecycle-process").versionRef("lifecycle")
5863
library("lifecycle-service", "androidx.lifecycle", "lifecycle-service").versionRef("lifecycle")
59-
library("lifecycle-viewmodelSavedState", "androidx.lifecycle", "lifecycle-viewmodel-savedstate").versionRef("lifecycle")
64+
library("lifecycle-viewmodel-savedstate", "androidx.lifecycle", "lifecycle-viewmodel-savedstate").versionRef("lifecycle")
6065

6166
library("navigation-common", "androidx.navigation", "navigation-common").versionRef("navigation")
6267
library("navigation-fragment", "androidx.navigation", "navigation-fragment-ktx").versionRef("navigation")
@@ -65,17 +70,25 @@ catalog {
6570
library("paging-runtime", "androidx.paging", "paging-runtime-ktx").versionRef("paging")
6671

6772
library("preference", "androidx.preference", "preference-ktx").versionRef("preference")
68-
library("recyclerview", "androidx.recyclerview", "recyclerview").versionRef("recycler")
73+
library("recyclerview", "androidx.recyclerview", "recyclerview").versionRef("recyclerview")
74+
library("recyclerview-selection", "androidx.recyclerview", "recyclerview-selection").versionRef("recyclerview-selection")
6975

70-
library("roomRuntime", "androidx.room", "room-runtime").versionRef("room")
71-
library("roomCompiler", "androidx.room", "room-compiler").versionRef("room")
72-
library("roomPaging", "androidx.room", "room-paging").versionRef("room")
7376
library("room", "androidx.room", "room-ktx").versionRef("room")
77+
library("room-compiler", "androidx.room", "room-compiler").versionRef("room")
78+
library("room-paging", "androidx.room", "room-paging").versionRef("room")
79+
library("room-runtime", "androidx.room", "room-runtime").versionRef("room")
7480

7581
library("swiperefreshlayout", "androidx.swiperefreshlayout", "swiperefreshlayout").versionRef("swiperefresh")
7682

7783
library("work-runtime", "androidx.work", "work-runtime-ktx").versionRef("work")
7884

85+
library("camera-core", "androidx.camera", "camera-core").versionRef("camerax")
86+
library("camera-camera2", "androidx.camera", "camera-camera2").versionRef("camerax")
87+
library("camera-extensions", "androidx.camera", "camera-extensions").versionRef("camerax")
88+
library("camera-lifecycle", "androidx.camera", "camera-lifecycle").versionRef("camerax")
89+
library("camera-view", "androidx.camera", "camera-view").versionRef("camerax")
90+
library("camera-video", "androidx.camera", "camera-video").versionRef("camerax")
91+
7992
bundle(
8093
"base",
8194
listOf(
@@ -97,7 +110,7 @@ catalog {
97110
"lifecycle-runtime",
98111
"lifecycle-common-java8",
99112
"lifecycle-process",
100-
"lifecycle-viewmodelSavedState"
113+
"lifecycle-viewmodel-savedstate"
101114
)
102115
)
103116
bundle(
@@ -107,5 +120,14 @@ catalog {
107120
"navigation-ui",
108121
)
109122
)
123+
bundle(
124+
"camerax",
125+
listOf(
126+
"camera-core",
127+
"camera-camera2",
128+
"camera-extensions",
129+
"camera-lifecycle",
130+
)
131+
)
110132
}
111133
}

base/build.gradle.kts

-64
This file was deleted.

buildSrc/src/main/kotlin/Constants.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ object C {
77
const val PROJECT_NAME = "Magic Catalogs"
88
const val PROJECT_DESCRIPTION = "Dependency versions for modern android applications"
99

10-
const val PROJECT_VERSION = "2.3.1"
10+
const val PROJECT_VERSION = "3.0.0"
1111
const val PROJECT_GROUP_ID = "com.kroegerama.magic-catalogs"
1212

1313
const val PROJECT_URL = "https://github.com/kroegerama/magic-catalogs"

0 commit comments

Comments
 (0)