|
|
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 {
|
|
|
doLast {
|
|
|
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/main/js/'
|
|
|
into distDir
|
|
|
}
|
|
|
|
|
|
task _buildTs(dependsOn: _npmInstall, type:Exec) {
|
|
|
inputs.dir('src/main/ts')
|
|
|
inputs.file('src/tsconfig.json')
|
|
|
inputs.file('src/main/tsconfig.json')
|
|
|
outputs.dir(distDir)
|
|
|
|
|
|
commandLine 'node_modules/.bin/tsc',
|
|
|
'-p', 'src/main/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'
|
|
|
}
|