prog8/compiler/build.gradle

113 lines
2.5 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'
id "org.jetbrains.kotlin.jvm"
2021-10-12 00:33:34 +00:00
id 'com.github.johnrengelman.shadow' version '7.1.0'
}
targetCompatibility = 11
sourceCompatibility = 11
repositories {
mavenLocal()
mavenCentral()
maven { url "https://kotlin.bintray.com/kotlinx" }
}
def prog8version = rootProject.file('compiler/res/version.txt').text.trim()
dependencies {
implementation project(':compilerInterfaces')
implementation project(':codeOptimizers')
implementation project(':compilerAst')
2020-02-02 18:33:40 +00:00
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
// implementation "org.jetbrains.kotlin:kotlin-reflect"
2021-10-12 00:33:34 +00:00
implementation 'org.jetbrains.kotlinx:kotlinx-cli:0.3.3'
implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:1.1.12"
2020-02-02 18:33:40 +00:00
testImplementation "org.jetbrains.kotlin:kotlin-test-junit5"
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.2'
testImplementation 'org.hamcrest:hamcrest:2.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.2'
}
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-04-19 22:50:15 +00:00
compileKotlin {
kotlinOptions {
jvmTarget = "11"
useIR = true
2019-08-24 14:21:05 +00:00
// verbose = true
2019-07-08 12:09:25 +00:00
// freeCompilerArgs += "-XXLanguage:+NewInference"
2019-04-19 22:50:15 +00:00
}
}
2019-08-11 20:56:54 +00:00
compileTestKotlin {
kotlinOptions {
jvmTarget = "11"
useIR = true
2019-08-11 20:56:54 +00:00
}
}
sourceSets {
main {
java {
srcDirs = ["${project.projectDir}/src"]
}
resources {
srcDirs = ["${project.projectDir}/res"]
}
}
test {
java {
srcDir "${project.projectDir}/test"
srcDir "${project(':compilerAst').projectDir}/test/helpers"
}
}
}
2019-01-29 11:11:47 +00:00
startScripts.enabled = true
application {
2020-12-27 23:45:20 +00:00
mainClass = 'prog8.CompilerMainKt'
applicationName = 'p8compile'
}
artifacts {
archives shadowJar
}
shadowJar {
2020-01-07 00:29:25 +00:00
archiveBaseName = 'prog8compiler'
archiveVersion = prog8version
// 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
}
}