##// END OF EJS Templates
working on support commonjs modules format
working on support commonjs modules format

File last commit:

r59:ba3ff79c2832 default
r59:ba3ff79c2832 default
Show More
build.gradle
197 lines | 4.5 KiB | text/x-groovy | GroovyLexer
cin
split @implab/core into a separate repository
r27 if (release != 'rtm') {
version += "-$release"
}
cin
repository reorganized
r0
cin
working on multiplaftorm support (node, browser)
r47 if(!npmName)
npmName = name;
cin
working on support commonjs modules format
r59 if(!["amd", "commonjs", "system", "umd", "es6", "esnext"].contains(jsmodule))
throw new Exception("Invalid jsmodule specified: $jsmodule");
if(!["es3", "es5", "es6", "es2016", "es2017", "esnext"].contains(target))
throw new Exception("Invalid target specified: $target")
cin
working version...
r51
cin
working on support commonjs modules format
r59 def targetLibs = [
"es3" : "es5,es2015.promise,es2015.symbol,dom,scripthost",
"es5" : "es5,es2015.promise,es2015.symbol,dom,scripthost"
];
cin
repository reorganized
r0
cin
working on support commonjs modules format
r59 ext.packageName="$npmScope/$npmName";
cin
working version...
r51
def srcDir = "$projectDir/src"
def typingsDir = "$srcDir/typings"
cin
working on support commonjs modules format
r59 def distDir = "$buildDir/dist"
def testDir = "$buildDir/test"
def lib = targetLibs[target] ?: "${target},dom";
println "lib: $lib";
def sourceSets = ["main", "amd", "cjs"];
def testSets = ["test", "testAmd", "testCjs"];
task beforeBuild {
}
def createSoursetTasks = { String name, String outDir ->
def setName = name.capitalize();
def destDir = "$buildDir/compile/$name"
def declDir = "$typingsDir/$name"
def setDir = "$projectDir/src/$name"
def beforeBuildTask = task "beforeBuild$setName"(dependsOn: beforeBuild) {
}
def copyJsTask = task "copyJs$setName"(dependsOn: beforeBuildTask, type: Copy) {
from "$setDir/js"
into outDir
}
def compileTypingsTask = task "compileTypings$setName"(dependsOn: beforeBuildTask, type: Exec) {
inputs.dir("$setDir/ts")
inputs.file("$srcDir/tsconfig.json")
inputs.file("$setDir/tsconfig.json")
outputs.dir(declDir)
cin
working version...
r51
cin
working on support commonjs modules format
r59 commandLine 'node_modules/.bin/tsc',
'-p', "$setDir/tsconfig.json",
'-t', target,
'-m', jsmodule,
'-d',
'--emitDeclarationOnly',
'--declarationDir', declDir
if (lib)
args '--lib', lib
}
def compileTsTask = task "compileTs$setName"(dependsOn: beforeBuildTask, type: Exec) {
inputs.dir("$setDir/ts")
inputs.file("$srcDir/tsconfig.json")
inputs.file("$setDir/tsconfig.json")
outputs.dir(destDir)
commandLine 'node_modules/.bin/tsc',
'-p', "$setDir/tsconfig.json",
'-t', target,
'-m', jsmodule,
'--outDir', destDir
if (lib)
args '--lib', lib
}
def copyTsOutputTask = task "copyTsOutput$setName"(dependsOn: compileTsTask, type: Copy) {
from compileTsTask
into outDir
}
def copyTypingsTask = task "copyTypings$setName"(dependsOn: compileTypingsTask, type: Copy) {
from compileTypingsTask
into outDir
}
task "build$setName"(dependsOn: [copyTypingsTask, copyTsOutputTask, copyJsTask]) {
}
}
cin
working on multiplaftorm support (node, browser)
r47
task printVersion {
cin
working on multi-platform support
r48 doLast {
println "version: $version"
println "packageName: $packageName"
cin
working on support commonjs modules format
r59 println "target: $target"
println "module: $jsmodule"
cin
working on multi-platform support
r48 }
cin
working on multiplaftorm support (node, browser)
r47 }
cin
improved core/build.gradle script
r4 task clean {
doLast {
delete buildDir
cin
working version...
r51 delete typingsDir
cin
improved core/build.gradle script
r4 }
cin
working on dependencies
r2 }
cin
working on support commonjs modules format
r59 task _initBuild {
mustRunAfter clean
def buildInfoFile = "$buildDir/platform";
inputs.property('target',target);
inputs.property('jsmodule',jsmodule);
outputs.file(buildInfoFile);
doLast {
delete buildDir
mkdir buildDir
def f = new File(buildInfoFile);
f << "$target-$jsmodule";
}
}
cin
improved core/build.gradle script
r4 task cleanNpm {
doLast {
delete 'node_modules'
cin
working on dependencies
r2 }
}
cin
repository reorganized
r0
cin
improved core/build.gradle script
r4 task _npmInstall() {
inputs.file("package.json")
outputs.dir("node_modules")
doLast {
exec {
commandLine 'npm', 'install'
cin
sync
r1 }
}
cin
repository reorganized
r0 }
cin
working on support commonjs modules format
r59 beforeBuild {
dependsOn _initBuild
dependsOn _npmInstall
}
cin
working version...
r51
cin
working on support commonjs modules format
r59 sourceSets.each { createSoursetTasks(it, distDir) }
cin
working version...
r51
cin
working on support commonjs modules format
r59 testSets.each { createSoursetTasks(it, testDir) }
cin
working version...
r51
cin
working on support commonjs modules format
r59 compileTsAmd {
dependsOn compileTypingsMain
cin
improved core/build.gradle script
r4 }
cin
working on support commonjs modules format
r59 compileTypingsAmd {
dependsOn compileTypingsMain
}
task build(dependsOn: buildMain) {
if (jsmodule == "amd")
dependsOn buildAmd
cin
working version...
r51 }
cin
core/Uuid rewritten in typescript
r8
cin
working on support commonjs modules format
r59 compileTsTest {
dependsOn build
cin
working version...
r51 }
cin
working on support commonjs modules format
r59 compileTsTestAmd {
dependsOn compileTypingsTestAmd
}
task test(dependsOn: [buildTest, buildTestAmd], type: Exec) {
commandLine 'node', "$testDir/run-amd-tests.js"
cin
core/Uuid rewritten in typescript
r8 }
cin
improved core/build.gradle script
r4 task _packageMeta(type: Copy) {
cin
working on support commonjs modules format
r59 mustRunAfter build
cin
improved core/build.gradle script
r4 inputs.property("version", version)
from('.') {
cin
working version...
r51 include '.npmignore', 'readme.md', 'license', 'history.md'
}
cin
working on support commonjs modules format
r59 from("$srcDir/package.${jsmodule}.tmpl.json") {
cin
working version...
r51 expand project.properties
rename { "package.json" }
cin
improved core/build.gradle script
r4 }
into distDir
}
cin
working on support commonjs modules format
r59 task pack(dependsOn: [build, _packageMeta], type: Exec) {
cin
working version...
r51 workingDir distDir
cin
repository reorganized
r0
commandLine 'npm', 'pack'
}