##// END OF EJS Templates
working on multiplaftorm support (node, browser)
working on multiplaftorm support (node, browser)

File last commit:

r47:4a34b9d6df70 di-typescript
r47:4a34b9d6df70 di-typescript
Show More
build.gradle
104 lines | 2.1 KiB | text/x-groovy | GroovyLexer
if (release != 'rtm') {
version += "-$release"
}
if(!npmName)
npmName = name;
ext.packageName="$npmScope/$npmName";
def packageDir = "$buildDir/dist"
def distDir = "$packageDir/$platform"
def testDir = "$packageDir/$platform"
task printVersion {
println "version: $version"
println "packageName: $packageName"
println "platform: $platform"
}
task clean {
doLast {
delete buildDir
delete "node_modules/$packageName"
}
}
task cleanNpm {
doLast {
delete 'node_modules'
}
}
task _npmInstall() {
inputs.file("package.json")
outputs.dir("node_modules")
doLast {
exec {
commandLine 'npm', 'install'
}
}
}
task _legacyJs(type:Copy) {
from 'src/js/'
into distDir
}
task _buildTs(dependsOn: _npmInstall, type:Exec) {
inputs.dir('src/ts')
inputs.file('tsconfig.json')
outputs.dir(distDir)
commandLine 'node_modules/.bin/tsc', '-p', 'src/tsconfig.json', '--outDir', distDir
}
task _packageMeta(type: Copy) {
inputs.property("version", version)
from('.') {
include 'package.json', '.npmignore', 'readme.md', 'license', 'history.md'
}
into distDir
doLast {
exec {
workingDir distDir
commandLine 'npm', 'version', version
}
}
}
task build(dependsOn: [_legacyJs, _npmInstall, _buildTs, _packageMeta]) {
}
task _localInstall(dependsOn: build, type: Exec) {
inputs.file("$distDir/package.json")
outputs.upToDateWhen {
new File("$projectDir/node_modules/$packageName").exists()
}
commandLine 'npm', 'install', '--no-save', '--force', distDir
}
task copyJsTests(type: Copy) {
from 'test/js'
into testDir
}
task buildTests(dependsOn: _localInstall, type: Exec) {
inputs.dir('test/ts')
inputs.file('test/tsconfig.json')
outputs.dir(testDir)
commandLine 'node_modules/.bin/tsc', '-p', 'test/tsconfig.json', '--outDir', distDir
}
task test(dependsOn: [copyJsTests, buildTests], type: Exec) {
commandLine 'node', 'run-amd-tests.js'
}
task pack(dependsOn: build, type: Exec) {
workingDir = distDir
commandLine 'npm', 'pack'
}