mirror of
https://github.com/irmen/prog8.git
synced 2024-12-01 00:50:00 +00:00
107 lines
2.7 KiB
Plaintext
107 lines
2.7 KiB
Plaintext
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||
|
|
||
|
plugins {
|
||
|
id("java")
|
||
|
id("application")
|
||
|
id("org.jetbrains.kotlin.jvm")
|
||
|
// id("com.github.johnrengelman.shadow") version "8.1.1"
|
||
|
id("io.github.goooler.shadow") version "8.1.7"
|
||
|
id("com.peterabeles.gversion") version "1.10.2"
|
||
|
}
|
||
|
|
||
|
java {
|
||
|
targetCompatibility = JavaVersion.VERSION_11
|
||
|
sourceCompatibility = JavaVersion.VERSION_11
|
||
|
}
|
||
|
|
||
|
kotlin {
|
||
|
compilerOptions.jvmTarget = JvmTarget.JVM_11
|
||
|
}
|
||
|
|
||
|
dependencies {
|
||
|
implementation(project(":codeCore"))
|
||
|
implementation(project(":codeOptimizers"))
|
||
|
implementation(project(":compilerAst"))
|
||
|
implementation(project(":codeGenCpu6502"))
|
||
|
implementation(project(":codeGenIntermediate"))
|
||
|
implementation(project(":codeGenExperimental"))
|
||
|
implementation(project(":virtualmachine"))
|
||
|
// implementation(project(":beanshell"))
|
||
|
implementation("org.antlr:antlr4-runtime:4.13.2")
|
||
|
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
|
||
|
// implementation("org.jetbrains.kotlin:kotlin-reflect")
|
||
|
implementation("org.jetbrains.kotlinx:kotlinx-cli:0.3.6")
|
||
|
implementation("com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0")
|
||
|
|
||
|
testImplementation(project(":codeCore"))
|
||
|
testImplementation(project(":intermediate"))
|
||
|
testImplementation("io.kotest:kotest-runner-junit5-jvm:5.9.1")
|
||
|
testImplementation("io.kotest:kotest-framework-datatest:5.9.1")
|
||
|
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")
|
||
|
}
|
||
|
|
||
|
sourceSets {
|
||
|
main {
|
||
|
java {
|
||
|
srcDir("${project.projectDir}/src")
|
||
|
}
|
||
|
resources {
|
||
|
srcDir("${project.projectDir}/res")
|
||
|
}
|
||
|
}
|
||
|
test {
|
||
|
java {
|
||
|
srcDir("${project.projectDir}/test")
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
tasks.startScripts {
|
||
|
enabled = true
|
||
|
}
|
||
|
|
||
|
application {
|
||
|
mainClass.set("prog8.CompilerMainKt")
|
||
|
applicationName = "prog8c"
|
||
|
}
|
||
|
|
||
|
tasks.shadowJar {
|
||
|
archiveBaseName.set("prog8c")
|
||
|
archiveVersion.set(version.toString())
|
||
|
// minimize()
|
||
|
}
|
||
|
|
||
|
tasks.test {
|
||
|
// Enable JUnit 5 (Gradle 4.6+).
|
||
|
useJUnitPlatform()
|
||
|
|
||
|
// Show test results.
|
||
|
testLogging {
|
||
|
events("skipped", "failed")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
gversion {
|
||
|
srcDir = "src/" // path is relative to the sub-project by default
|
||
|
classPackage = "prog8.buildversion"
|
||
|
className = "Version"
|
||
|
language = "kotlin"
|
||
|
}
|
||
|
|
||
|
tasks.build {
|
||
|
finalizedBy(tasks.installDist, tasks.installShadowDist)
|
||
|
}
|
||
|
|
||
|
tasks.compileKotlin {
|
||
|
dependsOn(tasks.createVersionFile) // , failDirtyNotSnapshot
|
||
|
}
|
||
|
|
||
|
tasks.compileJava {
|
||
|
dependsOn(tasks.createVersionFile)
|
||
|
}
|