Skip to content
This repository has been archived by the owner on Jul 20, 2022. It is now read-only.

JavierSegoviaCordoba/massive-catalogs

Repository files navigation

ARCHIVED

Due Version Catalogs start to fail or go slow with 15.000+ dependencies, this repo is by design unscalable (indeed now it is only adding Kotlin dependencies and no Java only ones for example).

Kotlin version MavenCentral Snapshot

Build Quality Tech debt

Massive Catalogs

Usage

  1. Add the catalog/s
// settings.gradle.kts
dependencyResolutionManagement {
    repositories {
        mavenCentral()
    }

    versionCatalogs {
        create("libs") {
            from("com.javiersc.massive-catalogs:libs-catalog:$version")
        }

        create("kotlinLibs") {
            from("com.javiersc.massive-catalogs:kotlin-catalog:$version")
        }

        create("pluginsLibs") {
            from("com.javiersc.massive-catalogs:plugins-catalog:$version")
        }
    }
}
  1. Sync Gradle with IntelliJ and the accessors will be generated
// build.gradle.kts
dependencies {
    implementation(libs.jetbrains.kotlinx.kotlinxCoroutinesCore) // libs-catalog
    implementation(kotlinLibs.jetbrains.kotlinx.kotlinxCoroutinesCore) // kotlin-catalog
    implementation(pluginLibs.jetbrains.kotlin.kotlinGradlePlugin) // plugins-catalog
}

Artifacts

  • libs-catalog Manual selection of libraries, can include non Kotlin (only Java) libraries, like retrofit.

  • kotlin-catalog Autogenerated Kotlin libraries, any library from MavenCentral should be here. Powered by KAMP scanner.

  • plugins-catalog Manual selection of Gradle plugins.

Docs

All docs are available on the Massive Catalog website

Thanks to @mpetuska for his help and his amazing project, KAMP.