##// END OF EJS Templates
Minor fixes and improvements...
Minor fixes and improvements - added `isCancellable` type predicate function to `safe` module - `isString, isNumber, isInteger, isPrimitive` are now type predicates

File last commit:

r70:f664825db16a default
r71:600f0201c4ba v1.2.16 default
Show More
build.gradle
275 lines | 6.6 KiB | text/x-groovy | GroovyLexer
cin
generate package version from mercurial tags
r61 // если версия явно не заданы вычисляем ее из тэга ревизии v.{num}***
// результатом будет версия '{num}.{distance}' где distance - расстояние от
// текущей ревизии до ревизии с тэгом
cin
added markRelease task
r68 def tagDistance = 0;
def isRelease = false;
cin
generate package version from mercurial tags
r61 if (!version) {
cin
added markRelease task
r68
cin
generate package version from mercurial tags
r61 def rev = ["hg", "log", "-r", ".", "--template", "{latesttag('re:^v') % '{tag}-{distance}'}"].execute().text.trim();
def tagVersion;
cin
added markRelease task
r68 def match = (rev =~ /^v(\d+\.\d+\.\d+).*-(\d+)$/);
cin
generate package version from mercurial tags
r61
if (match.size()) {
tagVersion = match[0][1];
tagDistance = match[0][2].toInteger();
} else {
throw new Exception("A version must be specied");
}
cin
added markRelease task
r68 version = tagVersion;
if (tagDistance > 0)
version++;
cin
generate package version from mercurial tags
r61 } else {
println "explicit version: $version";
}
if (hasProperty('versionSuffix') && versionSuffix) {
version += "-$versionSuffix"
cin
split @implab/core into a separate repository
r27 }
cin
repository reorganized
r0
cin
working on multiplaftorm support (node, browser)
r47 if(!npmName)
npmName = name;
cin
added markRelease task
r68 if (hasProperty('release')) {
isRelease = (release != 'false')
} else {
isRelease = (tagDistance == 0);
}
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
added 'publish' task to the build script
r64 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();
cin
updated build script, added eslint
r63 def compileDir = "$buildDir/compile/$name"
cin
working on support commonjs modules format
r59 def declDir = "$typingsDir/$name"
def setDir = "$projectDir/src/$name"
cin
updated build script, added eslint
r63 def jsDir = outDir;
cin
working on support commonjs modules format
r59
def beforeBuildTask = task "beforeBuild$setName"(dependsOn: beforeBuild) {
}
def copyJsTask = task "copyJs$setName"(dependsOn: beforeBuildTask, type: Copy) {
from "$setDir/js"
cin
updated build script, added eslint
r63 into jsDir
}
def lintJsTask = task "lintJs$setName"(dependsOn: beforeBuildTask, type: Exec) {
inputs.dir("$setDir/js/").skipWhenEmpty();
commandLine "eslint", '--format', 'stylish', "$setDir/js/"
cin
working on support commonjs modules format
r59 }
cin
Added support for commonjs module format, all tests are pass.
r60 def compileTsTask = task "compileTs$setName"(dependsOn: beforeBuildTask, type: Exec) {
cin
updated build script, added eslint
r63 inputs.dir("$setDir/ts").skipWhenEmpty()
cin
working on support commonjs modules format
r59 inputs.file("$srcDir/tsconfig.json")
inputs.file("$setDir/tsconfig.json")
cin
updated build script, added eslint
r63 outputs.dir(compileDir)
cin
working on support commonjs modules format
r59 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',
cin
updated build script, added eslint
r63 '--outDir', compileDir,
cin
working on support commonjs modules format
r59 '--declarationDir', declDir
if (lib)
args '--lib', lib
}
def copyTsOutputTask = task "copyTsOutput$setName"(dependsOn: compileTsTask, type: Copy) {
cin
updated build script, added eslint
r63 from compileDir
into jsDir
cin
working on support commonjs modules format
r59 }
cin
Added support for commonjs module format, all tests are pass.
r60 def copyTypingsTask = task "copyTypings$setName"(dependsOn: compileTsTask, type: Copy) {
from declDir
cin
updated build script, added eslint
r63 into jsDir
}
def copyResourcesTask = task "copyResources$setName"(dependsOn: beforeBuildTask, type: Copy) {
from "$setDir/resources"
cin
working on support commonjs modules format
r59 into outDir
}
cin
updated build script, added eslint
r63 task "build$setName" {
dependsOn copyTypingsTask,
copyTsOutputTask,
copyJsTask,
copyResourcesTask,
lintJsTask
cin
working on support commonjs modules format
r59 }
}
cin
working on multiplaftorm support (node, browser)
r47
task printVersion {
cin
working on multi-platform support
r48 doLast {
cin
added markRelease task
r68 println "version: $version";
println "isRelease: $isRelease, tagDistance: $tagDistance";
println "packageName: $packageName";
println "bundle: ${pack.outputs.files.join(',')}";
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 {
cin
Added support for commonjs module format, all tests are pass.
r60 dependsOn compileTsMain
cin
improved core/build.gradle script
r4 }
cin
Added support for commonjs module format, all tests are pass.
r60 compileTsCjs {
dependsOn compileTsMain
cin
working on support commonjs modules format
r59 }
task build(dependsOn: buildMain) {
if (jsmodule == "amd")
dependsOn buildAmd
cin
Added support for commonjs module format, all tests are pass.
r60 if (jsmodule == "commonjs")
dependsOn buildCjs
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 {
cin
Added support for commonjs module format, all tests are pass.
r60 dependsOn compileTsTest
}
compileTsTestCjs {
dependsOn compileTsTest
cin
working on support commonjs modules format
r59 }
cin
Added support for commonjs module format, all tests are pass.
r60 task _installLocalCjsDependency(dependsOn: [buildTestCjs, "_packageMeta"], type: Exec) {
inputs.file("$distDir/package.json")
outputs.upToDateWhen {
new File("$testDir/$packageName").exists()
}
workingDir testDir
commandLine 'npm', 'install', '--no-save', '--force', distDir
}
task test(dependsOn: [buildTest], type: Exec) {
if (jsmodule == "amd")
dependsOn buildTestAmd
if (jsmodule == "commonjs") {
dependsOn buildTestCjs
dependsOn _installLocalCjsDependency
}
commandLine 'node', "$testDir/run-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
added 'publish' task to the build script
r64 outputs.file("$npmScope-$npmName-${version}.tgz")
cin
repository reorganized
r0
commandLine 'npm', 'pack'
cin
added 'publish' task to the build script
r64 }
task publish(dependsOn: [build, _packageMeta], type: Exec) {
cin
added release check to publish task
r70 doFirst {
if (!isRelease)
throw new Exception("Can't publish an unreleased version");
}
cin
added 'publish' task to the build script
r64 workingDir distDir
commandLine 'npm', 'publish', '--access', 'public'
cin
added markRelease task
r68 }
task markRelease(type: Exec) {
onlyIf { tagDistance > 1 }
commandLine "hg", "tag", "v$version";
cin
repository reorganized
r0 }