61 lines
1.4 KiB
Groovy
61 lines
1.4 KiB
Groovy
plugins {
|
|
id "com.moowork.node" version "1.2.0"
|
|
}
|
|
|
|
node {
|
|
download = true;
|
|
}
|
|
|
|
ext {
|
|
bundlejs = "src/app/bundle.js"
|
|
bundlets = "src/app/bundle.d.ts"
|
|
}
|
|
|
|
//task installAngularCli(type: NpmTask) {
|
|
// args = ['install', '@angular/cli']
|
|
//}
|
|
//npm_install.dependsOn(installAngularCli);
|
|
|
|
task printProtos {
|
|
doLast {
|
|
println getProtoFiles().join(" ")
|
|
}
|
|
}
|
|
printProtos.description = "List all the .proto files we can find."
|
|
|
|
|
|
def getProtoFiles() {
|
|
def protoFiles = []
|
|
|
|
rootProject.subprojects { proj ->
|
|
if (proj.hasProperty('sourceSets') && proj.sourceSets.hasProperty('main') &&
|
|
proj.sourceSets.main.hasProperty('proto')) {
|
|
protoFiles = protoFiles + proj.sourceSets.main.proto.getFiles();
|
|
}
|
|
}
|
|
return protoFiles;
|
|
}
|
|
|
|
|
|
task generateProtobufBundle(type: NpmTask) {
|
|
doFirst {
|
|
// We need do this in doFirst since getProtoFiles won't find all subprojects
|
|
// until after configuration is complete
|
|
def protoFiles = getProtoFiles()
|
|
generateProtobufBundle.args = ['run', 'protoc', '--' ] + protoFiles;
|
|
}
|
|
|
|
dependsOn npm_install
|
|
}
|
|
generateProtobufBundle.description = "Generate the bundle.js/bundle.d.ts files containing compiled protobufs"
|
|
|
|
|
|
npm_run_build.dependsOn(npm_install)
|
|
npm_run_build.dependsOn(generateProtobufBundle)
|
|
npm_start.dependsOn(generateProtobufBundle)
|
|
|
|
|
|
// It would be nice if this worked, but it seems to get stuck:
|
|
//npm_start.dependsOn(project(':bulletin-board-server').jettyStart);
|
|
|