prog8/compiler/build.gradle

119 lines
2.9 KiB
Groovy
Raw Normal View History

plugins {
2020-12-27 06:21:39 +00:00
id 'java'
2019-01-29 11:11:47 +00:00
id 'application'
2023-06-29 19:01:02 +00:00
id 'org.jetbrains.kotlin.jvm'
// id 'com.github.johnrengelman.shadow' version '8.1.1'
id 'io.github.goooler.shadow' version '8.1.7'
2023-06-29 19:01:02 +00:00
id 'com.peterabeles.gversion' version '1.10.2'
}
java {
2024-05-18 18:25:44 +00:00
targetCompatibility = JavaLanguageVersion.of(javaVersion)
sourceCompatibility = JavaLanguageVersion.of(javaVersion)
}
compileKotlin {
kotlinOptions {
jvmTarget = javaVersion
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = javaVersion
}
}
dependencies {
2022-03-10 22:08:41 +00:00
implementation project(':codeCore')
implementation project(':codeOptimizers')
implementation project(':compilerAst')
implementation project(':codeGenCpu6502')
2022-11-02 23:20:31 +00:00
implementation project(':codeGenIntermediate')
2022-03-11 20:22:16 +00:00
implementation project(':codeGenExperimental')
implementation project(':virtualmachine')
2024-08-19 10:47:18 +00:00
implementation "org.antlr:antlr4-runtime:4.13.2"
2020-02-02 18:33:40 +00:00
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
// implementation "org.jetbrains.kotlin:kotlin-reflect"
2023-09-08 19:29:49 +00:00
implementation 'org.jetbrains.kotlinx:kotlinx-cli:0.3.6'
2024-05-12 01:02:54 +00:00
implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0"
2024-02-22 09:34:51 +00:00
testImplementation project(':codeCore')
testImplementation project(':intermediate')
testImplementation 'io.kotest:kotest-runner-junit5-jvm:5.9.1'
2024-09-08 13:24:47 +00:00
testImplementation 'io.kotest:kotest-framework-datatest:5.9.1'
2024-02-22 09:34:51 +00:00
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
configurations.all {
exclude group: 'com.ibm.icu', module: 'icu4j'
exclude group: "org.antlr", module: "antlr4"
}
configurations {
// strange antlr plugin issue, see https://github.com/gradle/gradle/issues/820
// this avoids linking in the complete antlr binary jar
compile {
extendsFrom = extendsFrom.findAll { it != configurations.antlr }
}
}
sourceSets {
main {
java {
2023-09-08 19:29:49 +00:00
srcDir "${project.projectDir}/src"
}
resources {
2023-09-08 19:29:49 +00:00
srcDir "${project.projectDir}/res"
}
}
test {
java {
srcDir "${project.projectDir}/test"
}
}
}
2019-01-29 11:11:47 +00:00
startScripts.enabled = true
application {
2020-12-27 23:45:20 +00:00
mainClass = 'prog8.CompilerMainKt'
applicationName = 'prog8c'
}
shadowJar {
archiveBaseName = 'prog8c'
2023-06-29 19:01:02 +00:00
archiveVersion = version
// minimize()
}
2019-04-19 22:50:15 +00:00
test {
// Enable JUnit 5 (Gradle 4.6+).
useJUnitPlatform()
// Always run tests, even when nothing changed.
dependsOn 'cleanTest'
// Show test results.
testLogging {
events "skipped", "failed"
2019-04-19 22:50:15 +00:00
}
}
2023-06-29 19:01:02 +00:00
gversion {
srcDir = "src/" // path is relative to the sub-project by default
classPackage = "prog8.buildversion"
className = "Version"
2023-06-29 19:01:02 +00:00
language = "kotlin"
}
build.finalizedBy installDist, installShadowDist
2023-06-29 19:01:02 +00:00
compileKotlin.dependsOn createVersionFile // , failDirtyNotSnapshot
compileJava.dependsOn createVersionFile