77 lines
2.0 KiB
Groovy
77 lines
2.0 KiB
Groovy
buildscript {
|
|
ext.kotlin_version = '1.1.2-2'
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
}
|
|
}
|
|
|
|
allprojects{
|
|
apply plugin: "kotlin"
|
|
|
|
compileKotlin {
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
javaParameters = true
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
compile project(':numass-client')
|
|
compile "hep.dataforge:plots-jfc" // project(':dataforge-plots:plots-jfc')
|
|
compile "hep.dataforge:dataforge-control" //project(':dataforge-control')
|
|
compile "hep.dataforge:kodex"
|
|
|
|
//graphics
|
|
compile 'org.controlsfx:controlsfx:8.40.12'
|
|
compile "no.tornado:tornadofx:1.7.4"
|
|
}
|
|
|
|
task installAll(type: Copy) {
|
|
group "numass"
|
|
|
|
description "Install all control projects into the same directory"
|
|
|
|
def parser = new XmlParser()
|
|
|
|
|
|
|
|
subprojects { sub ->
|
|
dependsOn sub.getTasksByName("installDist", false).first()
|
|
String distDir = "${sub.buildDir}/install/${sub.name}"
|
|
from distDir
|
|
}
|
|
into "$buildDir/install/numass-control"
|
|
|
|
doLast {
|
|
def configRoot = new Node(null, "config");
|
|
subprojects { sub ->
|
|
//add device configuration file
|
|
sub.fileTree(dir: 'src/main/resources/config', includes: ['**/*.xml']).each { cfgFile ->
|
|
println "Found config file ${cfgFile}"
|
|
parser.parse(cfgFile).children().each {
|
|
configRoot.append(it as Node)
|
|
}
|
|
}
|
|
}
|
|
if (!configRoot.children().isEmpty()) {
|
|
File outFile = file("$buildDir/install/numass-control/bin/numass-control.xml")
|
|
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"
|
|
} |