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