diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 8bb282df..fec32fad 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -1,18 +1,14 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.dsl.KotlinCompile plugins { id 'java-gradle-plugin' - id "org.jmailen.kotlinter" version "3.10.0" - id 'org.jetbrains.kotlin.jvm' version '1.7.0' -} - -repositories { - gradlePluginPortal() + alias(libs.plugins.jmailen.kotlinter) + alias(libs.plugins.kotlin.jvm) } dependencies { - implementation "org.jetbrains.kotlin:kotlin-gradle-plugin" - implementation "com.project.starter:jvm:0.45.0" + implementation(libs.kotlin.gradle) + implementation(libs.starter.gradle) } tasks.withType(KotlinCompile).configureEach { diff --git a/buildSrc/settings.gradle b/buildSrc/settings.gradle new file mode 100644 index 00000000..2725bbdb --- /dev/null +++ b/buildSrc/settings.gradle @@ -0,0 +1,14 @@ +import org.gradle.api.initialization.resolve.RepositoriesMode + +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + gradlePluginPortal() + google() + } + versionCatalogs { + create("libs") { + from(files("../gradle/libs.versions.toml")) + } + } +} diff --git a/easylauncher/build.gradle b/easylauncher/build.gradle index 3a3bd186..968299bd 100644 --- a/easylauncher/build.gradle +++ b/easylauncher/build.gradle @@ -1,15 +1,9 @@ plugins { id "java-gradle-plugin" - id 'com.gradle.plugin-publish' version '0.21.0' id 'com.starter.library.kotlin' - id 'pl.droidsonroids.jacoco.testkit' version '1.0.9' id 'com.starter.publishing' -} - -repositories { - mavenCentral() - gradlePluginPortal() - google() + alias(libs.plugins.gradle.publishplugin) + alias(libs.plugins.droidsonroids.jacocotestkit) } tasks.withType(Test).configureEach { @@ -57,13 +51,13 @@ java { } dependencies { - implementation "org.codehaus.groovy:groovy-xml:${GroovySystem.getVersion()}" - runtimeOnly "com.github.usefulness:webp-imageio:0.2.1" - compileOnly "com.android.tools.build:gradle:7.2.1" + implementation("org.codehaus.groovy:groovy-xml:${GroovySystem.getVersion()}") + runtimeOnly(libs.usefulness.webp) + compileOnly(libs.agp.gradle) testImplementation gradleTestKit() - testImplementation "org.assertj:assertj-core:3.23.1" - testImplementation "org.junit.jupiter:junit-jupiter:5.8.2" - testImplementation("org.junit.jupiter:junit-jupiter-params:5.8.2") - testImplementation "org.apache.commons:commons-lang3:3.12.0" + testImplementation(libs.junit.jupiter) + testImplementation(libs.assertj.core) + testImplementation(libs.junit.jupiter.params) + testImplementation(libs.apache.commons.lang3) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..166b64c0 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,31 @@ +[versions] +gradle-starter = "0.47.0" +gradle-kotlinter = "3.10.0" +gradle-gradlepublish = "0.21.0" +google-agp = "7.2.1" +gradle-jacocotestkit = "1.0.9" +gradle-detekt = "1.20.0" +mavencentral-kotlin = "1.7.0" +mavencentral-issuechecker = "0.3.0" +mavencentral-junit = "5.8.2" +mavencentral-assertj = "3.23.1" +mavencentral-apachecommons="3.12.0" +mavencentral-usefulnesswebp="0.2.1" + +[libraries] +starter-gradle = { module = "com.project.starter:android", version.ref = "gradle-starter" } +agp-gradle = { module = "com.android.tools.build:gradle", version.ref = "google-agp" } +kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "mavencentral-kotlin" } +detekt-gradle = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "gradle-detekt" } +jmailen-kotlinter = { module = "org.jmailen.gradle:kotlinter-gradle", version.ref = "gradle-kotlinter" } +junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "mavencentral-junit" } +junit-jupiter-params = { module = "org.junit.jupiter:junit-jupiter-params", version.ref = "mavencentral-junit" } +assertj-core = { module = "org.assertj:assertj-core", version.ref = "mavencentral-assertj" } +apache-commons-lang3 = { module = "org.apache.commons:commons-lang3", version.ref = "mavencentral-apachecommons" } +usefulness-webp = { module = "com.github.usefulness:webp-imageio", version.ref = "mavencentral-usefulnesswebp" } + +[plugins] +jmailen-kotlinter = { id = "org.jmailen.kotlinter", version.ref = "gradle-kotlinter" } +kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "mavencentral-kotlin" } +gradle-publishplugin = { id = "com.gradle.plugin-publish", version.ref = "gradle-gradlepublish" } +droidsonroids-jacocotestkit = { id = "pl.droidsonroids.jacoco.testkit", version.ref = "gradle-jacocotestkit" } diff --git a/settings.gradle b/settings.gradle index 88231203..129b97c0 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,16 @@ +import org.gradle.api.initialization.resolve.RepositoriesMode + plugins { id "com.gradle.enterprise" version "3.10.2" } rootProject.name = "com.project.starter" include ':easylauncher' + +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + gradlePluginPortal() + google() + } +}