2019-01-29 11:08:21 +00:00
|
|
|
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'
|
2024-02-22 09:34:51 +00:00
|
|
|
id 'com.github.johnrengelman.shadow' version '8.1.1'
|
2023-06-29 19:01:02 +00:00
|
|
|
id 'com.peterabeles.gversion' version '1.10.2'
|
2019-01-29 11:08:21 +00:00
|
|
|
}
|
|
|
|
|
2021-10-30 10:01:52 +00:00
|
|
|
java {
|
2024-05-18 18:25:44 +00:00
|
|
|
targetCompatibility = JavaLanguageVersion.of(javaVersion)
|
|
|
|
sourceCompatibility = JavaLanguageVersion.of(javaVersion)
|
2021-10-30 10:01:52 +00:00
|
|
|
}
|
2021-06-13 16:10:07 +00:00
|
|
|
|
2021-12-04 17:36:47 +00:00
|
|
|
compileKotlin {
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = javaVersion
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
compileTestKotlin {
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = javaVersion
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-01-29 11:08:21 +00:00
|
|
|
dependencies {
|
2022-03-10 22:08:41 +00:00
|
|
|
implementation project(':codeCore')
|
2021-10-29 00:42:10 +00:00
|
|
|
implementation project(':codeOptimizers')
|
2021-02-09 00:06:11 +00:00
|
|
|
implementation project(':compilerAst')
|
2022-01-27 23:32:09 +00:00
|
|
|
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')
|
2022-09-23 12:12:36 +00:00
|
|
|
implementation project(':virtualmachine')
|
2023-09-14 19:11:55 +00:00
|
|
|
implementation "org.antlr:antlr4-runtime:4.13.1"
|
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"
|
2019-01-29 11:08:21 +00:00
|
|
|
|
2024-02-22 09:34:51 +00:00
|
|
|
testImplementation project(':codeCore')
|
2022-12-12 21:47:15 +00:00
|
|
|
testImplementation project(':intermediate')
|
2024-06-19 21:57:43 +00:00
|
|
|
testImplementation 'io.kotest:kotest-runner-junit5-jvm: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'
|
|
|
|
|
2019-01-29 11:08:21 +00:00
|
|
|
}
|
|
|
|
|
2021-06-13 16:10:07 +00:00
|
|
|
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 }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-01-29 11:10:59 +00:00
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
java {
|
2023-09-08 19:29:49 +00:00
|
|
|
srcDir "${project.projectDir}/src"
|
2019-01-29 11:10:59 +00:00
|
|
|
}
|
|
|
|
resources {
|
2023-09-08 19:29:49 +00:00
|
|
|
srcDir "${project.projectDir}/res"
|
2019-01-29 11:10:59 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
test {
|
|
|
|
java {
|
2021-07-30 15:19:44 +00:00
|
|
|
srcDir "${project.projectDir}/test"
|
2019-01-29 11:10:59 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2019-01-29 11:11:47 +00:00
|
|
|
|
2019-07-09 05:24:43 +00:00
|
|
|
startScripts.enabled = true
|
|
|
|
|
|
|
|
application {
|
2020-12-27 23:45:20 +00:00
|
|
|
mainClass = 'prog8.CompilerMainKt'
|
2019-07-09 05:24:43 +00:00
|
|
|
applicationName = 'p8compile'
|
|
|
|
}
|
|
|
|
|
|
|
|
shadowJar {
|
2020-01-07 00:29:25 +00:00
|
|
|
archiveBaseName = 'prog8compiler'
|
2023-06-29 19:01:02 +00:00
|
|
|
archiveVersion = version
|
2019-07-09 05:24:43 +00:00
|
|
|
// 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 {
|
2020-03-14 13:40:39 +00:00
|
|
|
events "skipped", "failed"
|
2019-04-19 22:50:15 +00:00
|
|
|
}
|
|
|
|
}
|
2021-10-30 10:01:52 +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"
|
2024-03-04 19:45:59 +00:00
|
|
|
className = "Version"
|
2023-06-29 19:01:02 +00:00
|
|
|
language = "kotlin"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2021-10-30 10:01:52 +00:00
|
|
|
build.finalizedBy installDist, installShadowDist
|
2023-06-29 19:01:02 +00:00
|
|
|
|
|
|
|
compileKotlin.dependsOn createVersionFile // , failDirtyNotSnapshot
|
|
|
|
compileJava.dependsOn createVersionFile
|
|
|
|
|