Skip to content

Latest commit

 

History

History
114 lines (88 loc) · 3.4 KB

README.md

File metadata and controls

114 lines (88 loc) · 3.4 KB

Magic Catalogs

Dependency versions for modern android applications

Publish

License

Artifact Version
magic Maven Central
androidx Maven Central

Example usage

settings.gradle.kts
pluginManagement {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        mavenCentral()
        google()
    }

    versionCatalogs {
        val magicCatalogs: String by settings

        create("magic") {
            from("com.kroegerama.magic-catalogs:magic:$magicCatalogs")
        }
        create("androidx") {
            from("com.kroegerama.magic-catalogs:androidx:$magicCatalogs")
        }
    }
}

// [...] include projects
build.gradle.kts (root)
plugins {
    alias(magic.plugins.android.application) apply false
    alias(magic.plugins.android.library) apply false
    alias(magic.plugins.kotlin.android) apply false
    alias(magic.plugins.kotlin.kapt) apply false
    alias(magic.plugins.kotlin.parcelize) apply false
    alias(magic.plugins.kotlin.serialization) apply false

    alias(magic.plugins.hilt.android) apply false
    alias(magic.plugins.ksp) apply false

    alias(magic.plugins.grgit) apply false
    alias(magic.plugins.spotless) apply false
    
    alias(androidx.plugins.navigation.safeArgs) apply false
}
build.gradle.kts (module)
plugins {
    alias(magic.plugins.android.application)
    alias(magic.plugins.kotlin.android)
    alias(magic.plugins.kotlin.kapt)
    alias(magic.plugins.kotlin.parcelize)
    alias(magic.plugins.kotlin.serialization)

    alias(magic.plugins.hilt.android)
    alias(magic.plugins.ksp)

    alias(magic.plugins.grgit)
    alias(magic.plugins.spotless)

    alias(androidx.plugins.navigation.safeArgs)
}

// [...]

dependencies {
    implementation(magic.kotlin.stdlib.jdk8)
    implementation(magic.kotlinx.coroutines.android)
    implementation(magic.kotlinx.serialization.json)

    implementation(androidx.bundles.base)
    implementation(androidx.bundles.lifecycle)
    implementation(androidx.bundles.navigation)
    implementation(androidx.paging.runtime)
    implementation(androidx.work.runtime)

    implementation(androidx.room)
    ksp(androidx.room.compiler)
    implementation(androidx.room.paging)

    implementation(magic.hilt.android)
    kapt(magic.hilt.compiler)

    implementation(androidx.hilt.work)
    implementation(androidx.hilt.navigation.fragment)
    kapt(androidx.hilt.compiler)

    implementation(magic.material)

// [...]
}