2019-07-09 05:24:43 +00:00
|
|
|
buildscript {
|
|
|
|
dependencies {
|
2020-03-10 19:26:12 +00:00
|
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.70"
|
2019-07-09 05:24:43 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-01-29 11:08:21 +00:00
|
|
|
plugins {
|
2020-03-10 19:26:12 +00:00
|
|
|
// id "org.jetbrains.kotlin.jvm" version "1.3.70"
|
2019-01-29 11:11:47 +00:00
|
|
|
id 'application'
|
2019-06-23 13:43:52 +00:00
|
|
|
id 'org.jetbrains.dokka' version "0.9.18"
|
2020-02-07 22:58:07 +00:00
|
|
|
id 'com.github.johnrengelman.shadow' version '5.2.0'
|
2019-07-09 05:24:43 +00:00
|
|
|
id 'java'
|
2019-01-29 11:08:21 +00:00
|
|
|
}
|
|
|
|
|
2019-07-09 05:24:43 +00:00
|
|
|
apply plugin: "kotlin"
|
|
|
|
apply plugin: "java"
|
|
|
|
|
2019-08-26 19:27:45 +00:00
|
|
|
targetCompatibility = 1.8
|
|
|
|
sourceCompatibility = 1.8
|
2019-07-09 05:24:43 +00:00
|
|
|
|
2019-01-29 11:08:21 +00:00
|
|
|
repositories {
|
2019-07-09 05:24:43 +00:00
|
|
|
mavenLocal()
|
2019-01-29 11:08:21 +00:00
|
|
|
mavenCentral()
|
|
|
|
jcenter()
|
2019-08-22 22:07:49 +00:00
|
|
|
maven { url "https://dl.bintray.com/orangy/maven/" }
|
2019-01-29 11:08:21 +00:00
|
|
|
}
|
|
|
|
|
2019-07-09 05:24:43 +00:00
|
|
|
def prog8version = rootProject.file('compiler/res/version.txt').text.trim()
|
2019-01-29 11:08:21 +00:00
|
|
|
|
|
|
|
dependencies {
|
|
|
|
implementation project(':parser')
|
2020-02-02 18:33:40 +00:00
|
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
|
|
|
|
// implementation "org.jetbrains.kotlin:kotlin-reflect"
|
2020-02-07 22:58:07 +00:00
|
|
|
implementation 'org.antlr:antlr4-runtime:4.8'
|
2020-01-07 00:29:25 +00:00
|
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-cli-jvm:0.1.0-dev-5'
|
2020-02-07 00:22:07 +00:00
|
|
|
// implementation 'net.razorvine:ksim65:1.6'
|
2020-01-07 00:29:25 +00:00
|
|
|
implementation project(':parser')
|
2019-01-29 11:08:21 +00:00
|
|
|
|
2020-02-02 18:33:40 +00:00
|
|
|
testImplementation "org.jetbrains.kotlin:kotlin-test-junit5"
|
2019-01-29 11:08:21 +00:00
|
|
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.2'
|
|
|
|
testImplementation 'org.hamcrest:hamcrest-junit:2.0.0.0'
|
2019-04-19 22:50:15 +00:00
|
|
|
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.2'
|
2019-01-29 11:08:21 +00:00
|
|
|
}
|
|
|
|
|
2019-04-19 22:50:15 +00:00
|
|
|
compileKotlin {
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "1.8"
|
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-01-29 11:10:59 +00:00
|
|
|
|
2019-08-11 20:56:54 +00:00
|
|
|
compileTestKotlin {
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "1.8"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-01-29 11:10:59 +00:00
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
java {
|
|
|
|
srcDirs = ["${project.projectDir}/src"]
|
|
|
|
}
|
|
|
|
resources {
|
|
|
|
srcDirs = ["${project.projectDir}/res"]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
test {
|
|
|
|
java {
|
|
|
|
srcDirs = ["${project.projectDir}/test"]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2019-01-29 11:11:47 +00:00
|
|
|
|
2019-07-09 05:24:43 +00:00
|
|
|
startScripts.enabled = true
|
|
|
|
|
|
|
|
application {
|
|
|
|
mainClassName = 'prog8.CompilerMainKt'
|
|
|
|
applicationName = 'p8compile'
|
|
|
|
}
|
|
|
|
|
|
|
|
artifacts {
|
|
|
|
archives shadowJar
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
shadowJar {
|
2020-01-07 00:29:25 +00:00
|
|
|
archiveBaseName = 'prog8compiler'
|
|
|
|
archiveVersion = prog8version
|
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 {
|
|
|
|
events "passed", "skipped", "failed"
|
|
|
|
}
|
|
|
|
}
|
2019-06-23 13:43:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
dokka {
|
|
|
|
outputFormat = 'html'
|
|
|
|
outputDirectory = "$buildDir/kdoc"
|
|
|
|
}
|