plugins { id "application" id 'com.github.johnrengelman.shadow' version '2.0.1' } if (!hasProperty('mainClass')) { ext.mainClass = 'inr.numass.control.ServerApp'//"inr.numass.viewer.test.TestApp" } mainClassName = mainClass version = "0.3.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') } shadowJar { mergeServiceFiles() } task debugWithDevice(dependsOn: classes, type: JavaExec) { main mainClass args = ["--config.resource=/config/control.xml"] classpath = sourceSets.main.runtimeClasspath + configurations.devices description "Start application in debug mode" group "debug" } task runWithDevice(dependsOn: classes, type: JavaExec) { main mainClass args = ["--config.resource=/config/control-real.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 } } } }