plugins { id 'com.github.johnrengelman.shadow' version '8.1.1' id 'java' id 'application' } group = 'com.annimon' version = '2.0-SNAPSHOT' ext.mainClassName = 'com.annimon.ownlang.Main' application { mainClass = project.mainClassName } dependencies { implementation project(":ownlang-core") implementation project(":ownlang-parser") implementation project(":ownlang-utils") implementation project(":modules:main") implementation project(":modules:canvasfx") testImplementation platform("org.junit:junit-bom:${versions.junit}") testImplementation 'org.junit.jupiter:junit-jupiter' } test { useJUnitPlatform() } tasks.register('runProgram', JavaExec) { group = "application" description = "Run sample program" dependsOn classes mainClass = project.mainClassName classpath = sourceSets.main.runtimeClasspath standardInput = System.in ignoreExitValue true args '-f ../program.own'.split(' ') } tasks.register('runOptimizing', JavaExec) { group = "application" description = "Run sample program with optimizations and measurements" dependsOn classes mainClass = project.mainClassName classpath = sourceSets.main.runtimeClasspath ignoreExitValue true args '-o 9 -m -a -f ../program.own'.split(' ') }