buildscript { ext.kotlin_version = '1.1.51' ext.kotlin_version = '1.1.4-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-fx" compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" } 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" } repositories { mavenCentral() } compileKotlin { kotlinOptions { jvmTarget = "1.8" } } compileTestKotlin { kotlinOptions { jvmTarget = "1.8" } }