TWiStErRob / net.twisterrob.libraries

1 stars 0 forks source link

Introduce Version Catalog (libs) #18

Closed TWiStErRob closed 1 year ago

TWiStErRob commented 1 year ago

Contributes to #7

Dependency diff with:

// To get gradle/dependency-locks run `gradlew :allDependencies --write-locks`.
project.tasks.register<Task>("allDependencies") {
    val projects = project.allprojects.sortedBy { it.name }
    doFirst {
        println(projects.joinToString(prefix = "Printing dependencies for modules:\n", separator = "\n") { " * ${it}" })
    }
    val dependenciesTasks = projects.map { it.tasks.named("dependencies") }
    // Builds a dependency chain: 1 <- 2 <- 3 <- 4, so when executed they're in order.
    dependenciesTasks.reduce { acc, task -> task.apply { get().dependsOn(acc) } }
    // Use finalizedBy instead of dependsOn to make sure this task executes first.
    this@register.finalizedBy(dependenciesTasks)
}

depA-libs.txt depA-main.txt depJ-libs.txt depJ-main.txt