##// END OF EJS Templates
initial commit
initial commit

File last commit:

r0:9cf129973079 default
r0:9cf129973079 default
Show More
build.gradle
77 lines | 2.1 KiB | text/x-groovy | GroovyLexer
plugins {
id "org.implab.gradle-typescript" version "1.3.4"
id "org.implab.gradle-mercurial" version "1.0.1"
}
if (!symbols in ['local', 'pack', 'none'])
throw new Exception("The symbols property value is invalid: $symbols");
if (!flavour in ['browser', 'node'])
throw new Exception("The flavour property value is invalid: $flavour");
ext {
packageName = flavour == 'browser' ? "@$npmScope/$name-amd" : "@$npmScope/$name"
lint = project.hasProperty('lint') ? project.lint ?: true : false
}
mercurial {
preReleasePolicy { it
.addPatch(versionDistance)
.withPreRelease('dev')
.withMeta(changeset)
}
applyVersioningPolicy()
}
typescript {
compilerOptions {
types = []
declaration = true
experimentalDecorators = true
strict = true
// dojo-typings are sick
skipLibCheck = true
if(symbols != 'none') {
sourceMap = true
sourceRoot = "pack:${packageName}"
}
if (flavour == 'node') {
module = "commonjs"
target = "es2017"
lib = ["es2017", "dom", "scripthost"]
} else if (flavour == 'browser') {
module = "amd"
target = "es5"
lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable" ]
}
}
tscCmd = "$projectDir/node_modules/.bin/tsc"
tsLintCmd = "$projectDir/node_modules/.bin/tslint"
esLintCmd = "$projectDir/node_modules/.bin/eslint"
}
tasks.matching{ it.name =~ /^lint/ }.configureEach {
onlyIf { lint }
}
if (symbols == 'local') {
tasks.matching{ it.name =~ /^configureTs/ }.configureEach {
compilerOptions {
sourceRoot = "file://" + it.rootDir
}
}
}
printVersion {
doLast {
println "packageName: $packageName";
println "flavour: $flavour";
println "target: $typescript.compilerOptions.target";
println "module: $typescript.compilerOptions.module";
println "lint: $lint";
println "symbols: $symbols";
}
}