##// END OF EJS Templates
ported string format traits to typescript
ported string format traits to typescript

File last commit:

r51:43a2828f8abe v1.2.0-rc di-typescript
r55:4eaaaa5c1cf3 di-typescript
Show More
build.gradle
133 lines | 2.7 KiB | text/x-groovy | GroovyLexer
if (release != 'rtm') {
version += "-$release"
}
if(!npmName)
npmName = name;
if(!["amd", "cjs"].contains(platform))
throw new Exception("Invalid platform specified: $platform");
def moduleTypes = [
"amd": "amd",
"cjs": "commonjs"
]
ext.packageName="$npmScope/$npmName-$platform";
def srcDir = "$projectDir/src"
def typingsDir = "$srcDir/typings"
def distDir = "$buildDir/dist/$platform"
def testDir = "$buildDir/test/$platform"
def moduleType = moduleTypes[platform]
def sourceSets = ["main", "amd", "cjs", "test"];
task printVersion {
doLast {
println "version: $version"
println "packageName: $packageName"
println "platform: $platform"
println "module: $moduleType"
}
}
task clean {
doLast {
delete buildDir
delete "node_modules/$packageName"
delete typingsDir
}
}
task cleanNpm {
doLast {
delete 'node_modules'
}
}
task _npmInstall() {
inputs.file("package.json")
outputs.dir("node_modules")
doLast {
exec {
commandLine 'npm', 'install'
}
}
}
sourceSets.each {
def setName = it.capitalize();
def destDir = "$buildDir/compile/$it"
def declDir = "$typingsDir/$it"
def setDir = "$projectDir/src/$it"
task "_copyJs$setName"(type:Copy) {
from "$setDir/js"
into distDir
}
task "_compileTs$setName"(dependsOn: _npmInstall, type:Exec) {
inputs.dir("$setDir/ts")
inputs.file("$srcDir/tsconfig.json")
inputs.file("$setDir/tsconfig.json")
outputs.dir(destDir)
outputs.dir(declDir)
commandLine 'node_modules/.bin/tsc',
'-p', "$setDir/tsconfig.json",
'-m', moduleType,
'--outDir', destDir,
'--declarationDir', declDir
}
task "_buildTs$setName"(dependsOn: "_compileTs$setName", type:Copy) {
from tasks.getByPath("_compileTs$setName");
into distDir
}
}
_compileTsAmd {
dependsOn _buildTsMain
}
_buildTsTest {
into testDir
}
_copyJsTest {
into testDir
}
task _packageMeta(type: Copy) {
inputs.property("version", version)
from('.') {
include '.npmignore', 'readme.md', 'license', 'history.md'
}
from("$srcDir/package.template.json") {
expand project.properties
rename { "package.json" }
}
into distDir
}
task build(dependsOn: [_copyJsMain, _copyJsAmd, _npmInstall, _buildTsMain, _buildTsAmd, _packageMeta]) {
}
_compileTsTest {
dependsOn build
}
task buildTests(dependsOn: [_copyJsTest, _buildTsTest]) {
}
task test(dependsOn: buildTests, type: Exec) {
commandLine 'node', "$testDir/run-amd-tests.js"
}
task pack(dependsOn: build, type: Exec) {
workingDir distDir
commandLine 'npm', 'pack'
}