plugins { id "org.jetbrains.kotlin.jvm" version "1.3.40" id 'application' id 'org.jetbrains.dokka' version "0.9.18" } repositories { mavenCentral() jcenter() } def kotlinVersion = '1.3.40' dependencies { implementation project(':parser') implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion" implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion" runtime "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion" runtime 'org.antlr:antlr4-runtime:4.7.2' runtime project(':parser') testImplementation "org.jetbrains.kotlin:kotlin-test-junit5:$kotlinVersion" testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.2' testImplementation 'org.hamcrest:hamcrest-junit:2.0.0.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.2' } compileKotlin { kotlinOptions { jvmTarget = "1.8" verbose = true // freeCompilerArgs += "-XXLanguage:+NewInference" } } sourceSets { main { java { srcDirs = ["${project.projectDir}/src"] } resources { srcDirs = ["${project.projectDir}/res"] } } test { java { srcDirs = ["${project.projectDir}/test"] } } } startScripts.enabled = false //application { // mainClassName = 'prog8.CompilerMainKt' // applicationName = 'p8compile' //} //task p8vmScript(type: CreateStartScripts) { // mainClassName = "prog8.StackVmMainKt" // applicationName = "p8vm" // outputDir = new File(project.buildDir, 'scripts') // classpath = jar.outputs.files + project.configurations.runtime //} //applicationDistribution.into("bin") { // from(p8vmScript) // fileMode = 0755 //} //task fatJar(type: Jar) { // manifest { // attributes 'Main-Class': 'prog8.CompilerMainKt' // } // archiveBaseName = 'prog8compiler' // destinationDirectory = rootProject.projectDir // from { // project.configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) } // } // with jar //} // build.finalizedBy(fatJar) // Java target version sourceCompatibility = 1.8 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" } } dokka { outputFormat = 'html' outputDirectory = "$buildDir/kdoc" }