From 1c9cc15d6c07cc18c3521563ecccc6d114b2c5a9 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Mon, 19 Aug 2024 16:41:14 +0800 Subject: Simplify build scripts --- ast/build.gradle.kts | 14 +--------- buildSrc/build.gradle.kts | 15 +++++++++++ .../main/kotlin/orang.java-conventions.gradle.kts | 31 ++++++++++++++++++++++ checker/build.gradle.kts | 23 +--------------- core/build.gradle.kts | 14 +--------- gradle.properties | 3 +++ lexer/build.gradle.kts | 14 +--------- orang/build.gradle.kts | 31 +++------------------- parser/build.gradle.kts | 14 +--------- utils/build.gradle.kts | 19 +------------ 10 files changed, 59 insertions(+), 119 deletions(-) create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/src/main/kotlin/orang.java-conventions.gradle.kts create mode 100644 gradle.properties diff --git a/ast/build.gradle.kts b/ast/build.gradle.kts index 357e080..f58ecee 100644 --- a/ast/build.gradle.kts +++ b/ast/build.gradle.kts @@ -1,20 +1,8 @@ plugins { - java + id("orang.java-conventions") } dependencies { implementation(project(":core")) implementation(project(":utils")) } - -java { - sourceCompatibility = JavaVersion.VERSION_22 - targetCompatibility = JavaVersion.VERSION_22 - toolchain { - languageVersion = JavaLanguageVersion.of(22) - } -} - -tasks.withType { - options.compilerArgs.add("--enable-preview") -} \ No newline at end of file diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 0000000..2f8c46a --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,15 @@ +plugins { + `kotlin-dsl` +} + +repositories { + gradlePluginPortal() +} + +val lombokPluginVersion = "8.6" +val jlinkPluginVersion = "3.0.1" + +dependencies { + implementation("io.freefair.gradle:lombok-plugin:$lombokPluginVersion") + implementation("org.beryx:badass-jlink-plugin:$jlinkPluginVersion") +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/orang.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/orang.java-conventions.gradle.kts new file mode 100644 index 0000000..5022de8 --- /dev/null +++ b/buildSrc/src/main/kotlin/orang.java-conventions.gradle.kts @@ -0,0 +1,31 @@ +plugins { + java + id("io.freefair.lombok") +} + +group = "lv.enes.orang" +version = "0.1-SNAPSHOT" + +repositories { + mavenCentral() +} + +val slf4jVersion = project.property("slf4jVersion") +val jakartaAnnotationVersion = project.property("jakartaAnnotationVersion") + +dependencies { + implementation("org.slf4j:slf4j-api:$slf4jVersion") + implementation("jakarta.annotation:jakarta.annotation-api:$jakartaAnnotationVersion") +} + +java { + sourceCompatibility = JavaVersion.VERSION_22 + targetCompatibility = JavaVersion.VERSION_22 + toolchain { + languageVersion = JavaLanguageVersion.of(22) + } +} + +tasks.withType { + options.compilerArgs.add("--enable-preview") +} \ No newline at end of file diff --git a/checker/build.gradle.kts b/checker/build.gradle.kts index 08e9b33..536cef9 100644 --- a/checker/build.gradle.kts +++ b/checker/build.gradle.kts @@ -1,30 +1,9 @@ plugins { - java - id("io.freefair.lombok") version "8.6" -} - -val slf4jVersion = "2.0.13" - -repositories { - mavenCentral() + id("orang.java-conventions") } dependencies { - implementation("org.slf4j:slf4j-api:$slf4jVersion") - implementation(project(":ast")) implementation(project(":core")) implementation(project(":utils")) } - -java { - sourceCompatibility = JavaVersion.VERSION_22 - targetCompatibility = JavaVersion.VERSION_22 - toolchain { - languageVersion = JavaLanguageVersion.of(22) - } -} - -tasks.withType { - options.compilerArgs.add("--enable-preview") -} \ No newline at end of file diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 19bbafc..1897d00 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -1,15 +1,3 @@ plugins { - java -} - -java { - sourceCompatibility = JavaVersion.VERSION_22 - targetCompatibility = JavaVersion.VERSION_22 - toolchain { - languageVersion = JavaLanguageVersion.of(22) - } -} - -tasks.withType { - options.compilerArgs.add("--enable-preview") + id("orang.java-conventions") } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..14f2ad8 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,3 @@ +asmVersion = 9.7 +jakartaAnnotationVersion = 3.0.0 +slf4jVersion = 2.0.13 \ No newline at end of file diff --git a/lexer/build.gradle.kts b/lexer/build.gradle.kts index 7fe8777..17af15c 100644 --- a/lexer/build.gradle.kts +++ b/lexer/build.gradle.kts @@ -1,19 +1,7 @@ plugins { - java + id("orang.java-conventions") } dependencies { implementation(project(":utils")) } - -java { - sourceCompatibility = JavaVersion.VERSION_22 - targetCompatibility = JavaVersion.VERSION_22 - toolchain { - languageVersion = JavaLanguageVersion.of(22) - } -} - -tasks.withType { - options.compilerArgs.add("--enable-preview") -} \ No newline at end of file diff --git a/orang/build.gradle.kts b/orang/build.gradle.kts index ea8fbe0..4be19a4 100644 --- a/orang/build.gradle.kts +++ b/orang/build.gradle.kts @@ -1,25 +1,14 @@ plugins { application - java - id("io.freefair.lombok") version "8.6" - id("org.beryx.jlink") version "3.0.1" + id("orang.java-conventions") + id("org.beryx.jlink") } -val asmVersion = "9.7" -val slf4jVersion = "2.0.13" -val jakartaAnnotationVersion = "3.0.0" - -group = "lv.enes" -version = "0.1-SNAPSHOT" - -repositories { - mavenCentral() -} +val asmVersion = project.property("asmVersion") +val slf4jVersion = project.property("slf4jVersion") dependencies { implementation("org.ow2.asm:asm:$asmVersion") - implementation("jakarta.annotation:jakarta.annotation-api:$jakartaAnnotationVersion") - implementation("org.slf4j:slf4j-api:$slf4jVersion") implementation("org.slf4j:slf4j-simple:$slf4jVersion") implementation(project(":ast")) @@ -29,18 +18,6 @@ dependencies { implementation(project(":utils")) } -java { - sourceCompatibility = JavaVersion.VERSION_22 - targetCompatibility = JavaVersion.VERSION_22 - toolchain { - languageVersion = JavaLanguageVersion.of(22) - } -} - -tasks.withType { - options.compilerArgs.add("--enable-preview") -} - application { mainModule = "lv.enes.orang" mainClass = "lv.enes.orang.Main" diff --git a/parser/build.gradle.kts b/parser/build.gradle.kts index 9934d9d..5d87bfa 100644 --- a/parser/build.gradle.kts +++ b/parser/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - java + id("orang.java-conventions") } dependencies { @@ -8,15 +8,3 @@ dependencies { implementation(project(":lexer")) implementation(project(":utils")) } - -java { - sourceCompatibility = JavaVersion.VERSION_22 - targetCompatibility = JavaVersion.VERSION_22 - toolchain { - languageVersion = JavaLanguageVersion.of(22) - } -} - -tasks.withType { - options.compilerArgs.add("--enable-preview") -} \ No newline at end of file diff --git a/utils/build.gradle.kts b/utils/build.gradle.kts index 04cda43..26429a9 100644 --- a/utils/build.gradle.kts +++ b/utils/build.gradle.kts @@ -1,20 +1,3 @@ plugins { - java - id("io.freefair.lombok") version "8.6" + id("orang.java-conventions") } - -repositories { - mavenCentral() -} - -java { - sourceCompatibility = JavaVersion.VERSION_22 - targetCompatibility = JavaVersion.VERSION_22 - toolchain { - languageVersion = JavaLanguageVersion.of(22) - } -} - -tasks.withType { - options.compilerArgs.add("--enable-preview") -} \ No newline at end of file -- cgit v1.2.3