build.gradle
93 lines
| 1.8 KiB
| text/x-groovy
|
GroovyLexer
|
|
r27 | if (release != 'rtm') { | |
| version += "-$release" | |||
| } | |||
|
|
r0 | ||
| println "version: $version" | |||
|
|
r4 | def distDir = "$buildDir/dist" | |
| def testDir = "$buildDir/test" | |||
|
|
r2 | ||
|
|
r4 | task clean { | |
| doLast { | |||
| delete buildDir | |||
|
|
r9 | delete 'node_modules/@implab' | |
|
|
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') | |||
| inputs.file('tsc.json') | |||
| outputs.dir(distDir) | |||
| commandLine 'node_modules/.bin/tsc', '-p', 'tsc.json' | |||
| } | |||
|
|
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 | |||
| } | |||
| } | |||
| } | |||
|
|
r8 | task build(dependsOn: [_npmInstall, _buildTs, _legacyJs, _packageMeta]) { | |
|
|
r4 | ||
| } | |||
| task _localInstall(dependsOn: build, type: Exec) { | |||
| inputs.file("$distDir/package.json") | |||
|
|
r8 | outputs.upToDateWhen { | |
| new File("$projectDir/node_modules/@implab/core").exists() | |||
| } | |||
|
|
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') | |||
| inputs.file('tsc.test.json') | |||
| outputs.dir(testDir) | |||
| commandLine 'node_modules/.bin/tsc', '-p', 'tsc.test.json' | |||
| } | |||
| 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' | |||
| } |
