numass-framework/numass-control/build.gradle

73 lines
2.0 KiB
Groovy
Raw Normal View History

2018-04-15 22:35:26 +03:00
allprojects {
2017-05-31 09:53:21 +03:00
apply plugin: "kotlin"
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
javaParameters = true
}
}
2017-11-21 03:17:13 +03:00
kotlin {
experimental {
coroutines "enable"
}
}
2017-05-31 09:53:21 +03:00
}
2016-10-22 09:40:25 +03:00
dependencies {
2018-11-17 22:27:12 +03:00
compile "hep.dataforge:plots-jfc" // project(':dataforge-plots:plots-jfc')
compile "hep.dataforge:dataforge-control" //project(':dataforge-control')
compile "hep.dataforge:dataforge-gui"
2018-08-29 22:02:20 +03:00
// https://mvnrepository.com/artifact/commons-cli/commons-cli
2018-11-17 22:27:12 +03:00
compile group: 'commons-cli', name: 'commons-cli', version: '1.4'
2018-08-29 22:02:20 +03:00
2017-05-17 20:21:12 +03:00
}
task installAll(type: Copy) {
group "numass"
description "Install all control projects into the same directory"
def parser = new XmlParser()
subprojects { sub ->
2018-04-15 22:35:26 +03:00
if (sub.plugins.findPlugin("application")) {
dependsOn sub.getTasksByName("installDist", false).first()
String distDir = "${sub.buildDir}/install/${sub.name}"
from distDir
}
2017-05-17 20:21:12 +03:00
}
into "$buildDir/install/numass-control"
doLast {
def configRoot = new Node(null, "config");
subprojects { sub ->
//add device configuration file
2017-05-19 15:02:31 +03:00
sub.fileTree(dir: 'src/main/resources/config', includes: ['**/*.xml']).each { cfgFile ->
println "Found config file ${cfgFile}"
2017-05-17 20:21:12 +03:00
parser.parse(cfgFile).children().each {
configRoot.append(it as Node)
}
}
}
if (!configRoot.children().isEmpty()) {
2017-05-18 12:53:21 +03:00
File outFile = file("$buildDir/install/numass-control/bin/numass-control.xml")
2017-05-17 20:21:12 +03:00
outFile.getParentFile().mkdirs();
outFile.createNewFile();
new XmlNodePrinter(outFile.newPrintWriter()).print(configRoot)
}
}
}
task distAll(dependsOn: installAll, type: Zip) {
group "numass"
description "Make a distribution of all control projects"
from "$buildDir/install/numass-control"
2017-10-15 22:49:04 +03:00
}