Skip to content
This repository has been archived by the owner on Aug 14, 2024. It is now read-only.

Commit

Permalink
Use Gradle library version catalog
Browse files Browse the repository at this point in the history
  • Loading branch information
gregorbg committed Jul 10, 2022
1 parent 79762bf commit 1a97259
Show file tree
Hide file tree
Showing 16 changed files with 42 additions and 108 deletions.
4 changes: 2 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ allprojects {
}

plugins {
DEPENDENCY_VERSIONS
NEXUS_PUBLISH
alias(libs.plugins.dependency.versions)
alias(libs.plugins.nexus.publish)
}

nexusPublishing {
Expand Down
5 changes: 5 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,8 @@ plugins {
repositories {
mavenCentral()
}

dependencies {
// https://github.com/gradle/gradle/issues/15383#issuecomment-779893192
implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location))
}
7 changes: 7 additions & 0 deletions buildSrc/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
dependencyResolutionManagement {
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}
}
20 changes: 0 additions & 20 deletions buildSrc/src/main/kotlin/PluginsHack.kt

This file was deleted.

10 changes: 6 additions & 4 deletions buildSrc/src/main/kotlin/configurations/Frameworks.kt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package configurations

import dependencies.Libraries.JUNIT_JUPITER_API
import dependencies.Libraries.JUNIT_JUPITER_ENGINE
import org.gradle.accessors.dm.LibrariesForLibs
import org.gradle.api.Project
import org.gradle.api.plugins.quality.Checkstyle
import org.gradle.api.tasks.testing.Test
import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.the
import org.gradle.kotlin.dsl.withType

object Frameworks {
Expand All @@ -16,9 +16,11 @@ object Frameworks {
}

fun Project.configureJUnit5() {
val libs = the<LibrariesForLibs>()

dependencies {
add("testImplementation", JUNIT_JUPITER_API)
add("testRuntimeOnly", JUNIT_JUPITER_ENGINE)
add("testImplementation", libs.junit.jupiter.api)
add("testRuntimeOnly", libs.junit.jupiter.engine)
}

tasks.withType<Test> {
Expand Down
8 changes: 1 addition & 7 deletions buildSrc/src/main/kotlin/configurations/Languages.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,10 @@ object Languages {
}
}

fun Project.attachRepositories() {
attachRemoteRepositories()
}

fun Project.configureJava() {
configure<JavaPluginConvention> {
configure<JavaPluginExtension> {
sourceCompatibility = JavaVersion.VERSION_1_6
}

configure<JavaPluginExtension> {
withJavadocJar()
withSourcesJar()
}
Expand Down
13 changes: 0 additions & 13 deletions buildSrc/src/main/kotlin/configurations/ProjectVersions.kt

This file was deleted.

8 changes: 0 additions & 8 deletions buildSrc/src/main/kotlin/dependencies/Libraries.kt

This file was deleted.

15 changes: 0 additions & 15 deletions buildSrc/src/main/kotlin/dependencies/Plugins.kt

This file was deleted.

17 changes: 0 additions & 17 deletions buildSrc/src/main/kotlin/dependencies/Versions.kt

This file was deleted.

13 changes: 13 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[versions]
junit-jupiter = "5.5.2"

[libraries]
logback-classic = { module = "ch.qos.logback:logback-classic", version = "1.2.10" }
gwt-exporter = { module = "org.timepedia.exporter:gwtexporter", version = "2.5.1" }
junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit-jupiter" }
junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit-jupiter" }

[plugins]
shadow = { id = "com.github.johnrengelman.shadow", version = "7.1.2" }
dependency-versions = { id = "com.github.ben-manes.versions", version = "0.42.0" }
nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version = "1.1.0" }
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
12 changes: 5 additions & 7 deletions scrambles/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
import configurations.Languages.attachRepositories
import configurations.Languages.attachRemoteRepositories
import configurations.Languages.configureJava
import configurations.Frameworks.configureCheckstyle
import configurations.Frameworks.configureJUnit5
import configurations.Publications.configureMavenPublication
import configurations.Publications.configureSignatures

import dependencies.Libraries.GWTEXPORTER

description = "A Java scrambling suite. Java applications can use this project as a library. A perfect example of this is the webscrambles package."

attachRepositories()

plugins {
`java-library`
checkstyle
`maven-publish`
signing
SHADOW
alias(libs.plugins.shadow)
}

attachRemoteRepositories()

configureJava()
configureCheckstyle()
configureMavenPublication("lib-scrambles")
Expand All @@ -31,7 +29,7 @@ dependencies {
implementation(project(":threephase"))
implementation(project(":sq12phase"))

api(GWTEXPORTER)
api(libs.gwt.exporter)
}

configureJUnit5()
10 changes: 0 additions & 10 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,15 +1,5 @@
rootProject.name = "tnoodle-lib"

pluginManagement {
resolutionStrategy {
eachPlugin {
if (requested.id.id == "kotlin-multiplatform") {
useModule("org.jetbrains.kotlin:kotlin-gradle-plugin:${requested.version}")
}
}
}
}

include("min2phase")
include("scrambles")
include("sq12phase")
Expand Down
3 changes: 1 addition & 2 deletions sq12phase/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import configurations.Languages.attachRemoteRepositories
import configurations.Languages.configureJava
import configurations.Publications.configureMavenPublication
import configurations.Publications.configureSignatures
import dependencies.Libraries.LOGBACK_CLASSIC

description = "A copy of Chen Shuang's square 1 two phase solver."

Expand All @@ -19,5 +18,5 @@ configureSignatures(publishing)
attachRemoteRepositories()

dependencies {
implementation(LOGBACK_CLASSIC)
implementation(libs.logback.classic)
}
3 changes: 1 addition & 2 deletions threephase/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import configurations.Languages.attachRemoteRepositories
import configurations.Languages.configureJava
import configurations.Publications.configureMavenPublication
import configurations.Publications.configureSignatures
import dependencies.Libraries.LOGBACK_CLASSIC

description = "A copy of Chen Shuang's 4x4 scrambler."

Expand All @@ -20,5 +19,5 @@ attachRemoteRepositories()

dependencies {
implementation(project(":min2phase"))
implementation(LOGBACK_CLASSIC)
implementation(libs.logback.classic)
}

0 comments on commit 1a97259

Please sign in to comment.