numass-framework/numass-control/control-room/build.gradle

74 lines
1.7 KiB
Groovy

plugins{
id "application"
id 'com.github.johnrengelman.shadow' version '2.0.0'
}
if (!hasProperty('mainClass')) {
ext.mainClass = 'inr.numass.control.ServerApp'//"inr.numass.viewer.test.TestApp"
}
mainClassName = mainClass
version = "0.2.0"
description = "The control room application for numass slow control"
compileKotlin.kotlinOptions.jvmTarget = "1.8"
configurations{
devices.extendsFrom(compile)
}
dependencies {
//DataForge dependencies
compile project(':numass-control')
compile project(':numass-server')
// optional device classpath
devices project(':numass-control:cryotemp')
devices project(':numass-control:msp')
devices project(':numass-control:vac')
compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
}
shadowJar{
mergeServiceFiles()
}
task debugWithDevice(dependsOn: classes, type: JavaExec) {
main mainClass
args "--config.resource=/config/server.xml"
classpath = sourceSets.main.runtimeClasspath + configurations.devices
description "Start application in debug mode"
group "debug"
}
task startScriptWithDevices(type: CreateStartScripts){
applicationName = "control-room-devices"
mainClassName = mainClass
outputDir = new File(project.buildDir, 'scripts')
classpath = jar.outputs.files + project.configurations.devices
}
distributions{
devices{
contents {
into("lib") {
from jar
from configurations.devices
}
into("bin"){
from startScriptWithDevices
}
}
}
}