plugins {
    id 'groovy'
    id 'application'
    id "com.github.johnrengelman.shadow"
    id "org.openjfx.javafxplugin"
}

javafx {
    modules = ["javafx.controls", "javafx.web"]
    version = "11"
}


//apply plugin: 'org.openjfx.javafxplugin'
//
//javafx {
//    modules = [ 'javafx.controls' ]
//}



description = 'The grind plugin for dataforge framework'

dependencies {
    api project(':grind')
    api project(':dataforge-plots:plots-jfc')
    api project(':dataforge-gui')
    api group: 'org.jline', name: 'jline', version: '3.5.1'
//    api group: 'net.java.dev.jna', name: 'jna', version: '4.4.0'
    api group: 'org.fusesource.jansi', name: 'jansi', version: '1.16'
}

task shell(dependsOn: classes, type: JavaExec) {
    main "hep.dataforge.grind.terminal.RunGrindShell"
//    jvmArgs ['-Djansi.passthrough=true']
    standardInput = System.in
    standardOutput = System.out
    classpath = sourceSets.main.runtimeClasspath
    description "Start a Grind shell with default context in terminal"
    group "dataforge"
}

task dumbShell(dependsOn: classes, type: JavaExec) {
    main 'hep.dataforge.grind.terminal.RunDumbGrindShell'
//    jvmArgs ['-Djansi.passthrough=true']

    standardInput = System.in
    standardOutput = System.out
    classpath = sourceSets.main.runtimeClasspath
    description "Start a Grind shell with default context in dumb terminal"
    group "dataforge"
}

application{
    mainClassName("hep.dataforge.grind.terminal.RunGrindShell")
}