mirror of
https://github.com/irmen/prog8.git
synced 2024-11-18 19:12:44 +00:00
89 lines
2.1 KiB
Groovy
89 lines
2.1 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'application'
|
|
id "org.jetbrains.kotlin.jvm"
|
|
id 'com.github.johnrengelman.shadow' version '7.1.0'
|
|
id "io.kotest" version "0.3.8"
|
|
}
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(javaVersion)
|
|
}
|
|
}
|
|
|
|
def prog8version = rootProject.file('compiler/res/version.txt').text.trim()
|
|
|
|
dependencies {
|
|
implementation project(':compilerInterfaces')
|
|
implementation project(':codeOptimizers')
|
|
implementation project(':compilerAst')
|
|
implementation project(':codeGeneration')
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
|
|
// implementation "org.jetbrains.kotlin:kotlin-reflect"
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-cli:0.3.3'
|
|
implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:1.1.12"
|
|
|
|
testImplementation 'io.kotest:kotest-runner-junit5-jvm:4.6.3'
|
|
}
|
|
|
|
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 {
|
|
srcDirs = ["${project.projectDir}/src"]
|
|
}
|
|
resources {
|
|
srcDirs = ["${project.projectDir}/res"]
|
|
}
|
|
}
|
|
test {
|
|
java {
|
|
srcDir "${project.projectDir}/test"
|
|
srcDir "${project(':compilerAst').projectDir}/test/helpers"
|
|
}
|
|
}
|
|
}
|
|
|
|
startScripts.enabled = true
|
|
|
|
application {
|
|
mainClass = 'prog8.CompilerMainKt'
|
|
applicationName = 'p8compile'
|
|
}
|
|
|
|
shadowJar {
|
|
archiveBaseName = 'prog8compiler'
|
|
archiveVersion = prog8version
|
|
// minimize()
|
|
}
|
|
|
|
|
|
test {
|
|
// Enable JUnit 5 (Gradle 4.6+).
|
|
useJUnitPlatform()
|
|
|
|
// Always run tests, even when nothing changed.
|
|
dependsOn 'cleanTest'
|
|
|
|
// Show test results.
|
|
testLogging {
|
|
events "skipped", "failed"
|
|
}
|
|
}
|
|
|
|
build.finalizedBy installDist, installShadowDist
|