Own-Programming-Language-Tu.../ownlang-desktop/build.gradle

58 lines
1.5 KiB
Groovy

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")
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(' ')
}
tasks.register('runOptimizationDumper', JavaExec) {
group = "application"
description = "Run optmizer and dump results"
dependsOn classes
mainClass = 'com.annimon.ownlang.utils.OptimizationDumper'
classpath = sourceSets.main.runtimeClasspath
args '../program.own'
}