| @@ -0,0 +1,68 | |||||
|
|
1 | # BUILD | |||
|
|
2 | ||||
|
|
3 | Для сборки необходимо иметь | |||
|
|
4 | ||||
|
|
5 | * nodejs >= 8 | |||
|
|
6 | * npm | |||
|
|
7 | * eslint | |||
|
|
8 | * mercurial (для автоматического определения версии) | |||
|
|
9 | ||||
|
|
10 | В пцессе сборки будут установлены зависимости из package.json | |||
|
|
11 | ||||
|
|
12 | ## Properties | |||
|
|
13 | ||||
|
|
14 | Свойства, испольуземые для управления сборкой, через них можно указать имя, | |||
|
|
15 | версию пакета, тип модулей, версию стандарта js для которого осуществляется | |||
|
|
16 | сборка. Значения по-умолчанию заданы в `gradle.properties` | |||
|
|
17 | ||||
|
|
18 | ### npmName | |||
|
|
19 | ||||
|
|
20 | `default: core` | |||
|
|
21 | ||||
|
|
22 | Имя пакета в терминологии npm. | |||
|
|
23 | ||||
|
|
24 | ### npmScope | |||
|
|
25 | ||||
|
|
26 | `default: @implab` | |||
|
|
27 | ||||
|
|
28 | Пространство в терминологии npm для пакета. | |||
|
|
29 | ||||
|
|
30 | ### target | |||
|
|
31 | ||||
|
|
32 | `default: es5` | |||
|
|
33 | ||||
|
|
34 | Версии стандарта js в среде выполнения, возможные значения: | |||
|
|
35 | ||||
|
|
36 | * es3 - требует полифилы для es5, promise | |||
|
|
37 | * es5 - требует полифил для promise | |||
|
|
38 | * es6 | |||
|
|
39 | * es2015 | |||
|
|
40 | * es2016 | |||
|
|
41 | * es2017 | |||
|
|
42 | ||||
|
|
43 | ### jsmodule | |||
|
|
44 | ||||
|
|
45 | `default: amd` | |||
|
|
46 | ||||
|
|
47 | * amd - requirejs модули, хорошо подходит для использования в браузерах. | |||
|
|
48 | * commonjs - формат модулей для nodejs | |||
|
|
49 | ||||
|
|
50 | ## Tasks | |||
|
|
51 | ||||
|
|
52 | ### build | |||
|
|
53 | ||||
|
|
54 | ### test | |||
|
|
55 | ||||
|
|
56 | ### pack | |||
|
|
57 | ||||
|
|
58 | ### publish | |||
|
|
59 | ||||
|
|
60 | ## Examples | |||
|
|
61 | ||||
|
|
62 | ```shell | |||
|
|
63 | ./gradlew test pack -PnpmName=core-amd | |||
|
|
64 | ``` | |||
|
|
65 | ||||
|
|
66 | ```shell | |||
|
|
67 | ./gradlew test pack -Pjsmodule=commonjs -Ptarget=es2017 | |||
|
|
68 | ``` No newline at end of file | |||
| @@ -11,5 +11,6 | |||||
| 11 | "**/.git/subtree-cache/**": true, |
|
11 | "**/.git/subtree-cache/**": true, | |
| 12 | "**/node_modules/**": true, |
|
12 | "**/node_modules/**": true, | |
| 13 | "/build": true |
|
13 | "/build": true | |
| 14 | } |
|
14 | }, | |
|
|
15 | "editor.minimap.enabled": false | |||
| 15 | } No newline at end of file |
|
16 | } | |
| @@ -39,7 +39,7 def targetLibs = [ | |||||
| 39 | "es5" : "es5,es2015.promise,es2015.symbol,dom,scripthost" |
|
39 | "es5" : "es5,es2015.promise,es2015.symbol,dom,scripthost" | |
| 40 | ]; |
|
40 | ]; | |
| 41 |
|
41 | |||
| 42 | ext.packageName="$npmScope/$npmName"; |
|
42 | ext.packageName="@$npmScope/$npmName"; | |
| 43 |
|
43 | |||
| 44 | def srcDir = "$projectDir/src" |
|
44 | def srcDir = "$projectDir/src" | |
| 45 | def typingsDir = "$srcDir/typings" |
|
45 | def typingsDir = "$srcDir/typings" | |
| @@ -123,6 +123,7 task printVersion { | |||||
| 123 | doLast { |
|
123 | doLast { | |
| 124 | println "version: $version" |
|
124 | println "version: $version" | |
| 125 | println "packageName: $packageName" |
|
125 | println "packageName: $packageName" | |
|
|
126 | println "bundle: ${pack.outputs.files.join(',')}" | |||
| 126 | println "target: $target" |
|
127 | println "target: $target" | |
| 127 | println "module: $jsmodule" |
|
128 | println "module: $jsmodule" | |
| 128 | } |
|
129 | } | |
| @@ -242,6 +243,13 task _packageMeta(type: Copy) { | |||||
| 242 |
|
243 | |||
| 243 | task pack(dependsOn: [build, _packageMeta], type: Exec) { |
|
244 | task pack(dependsOn: [build, _packageMeta], type: Exec) { | |
| 244 | workingDir distDir |
|
245 | workingDir distDir | |
|
|
246 | outputs.file("$npmScope-$npmName-${version}.tgz") | |||
| 245 |
|
247 | |||
| 246 | commandLine 'npm', 'pack' |
|
248 | commandLine 'npm', 'pack' | |
|
|
249 | } | |||
|
|
250 | ||||
|
|
251 | task publish(dependsOn: [build, _packageMeta], type: Exec) { | |||
|
|
252 | workingDir distDir | |||
|
|
253 | ||||
|
|
254 | commandLine 'npm', 'publish', '--access', 'public' | |||
| 247 | } No newline at end of file |
|
255 | } | |
| @@ -5,5 +5,5 target=es5 | |||||
| 5 | description=Dependency injection, logging, simple and fast text template engine |
|
5 | description=Dependency injection, logging, simple and fast text template engine | |
| 6 | license=BSD-2-Clause |
|
6 | license=BSD-2-Clause | |
| 7 | repository=https://bitbucket.org/implab/implabjs-core |
|
7 | repository=https://bitbucket.org/implab/implabjs-core | |
| 8 |
npmScope= |
|
8 | npmScope=implab | |
| 9 | npmName=core No newline at end of file |
|
9 | npmName=core | |
| @@ -90,7 +90,7 | |||||
| 90 | }, |
|
90 | }, | |
| 91 | "duplexer": { |
|
91 | "duplexer": { | |
| 92 | "version": "0.1.1", |
|
92 | "version": "0.1.1", | |
| 93 |
"resolved": "http |
|
93 | "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", | |
| 94 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", |
|
94 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", | |
| 95 | "dev": true |
|
95 | "dev": true | |
| 96 | }, |
|
96 | }, | |
| @@ -144,7 +144,7 | |||||
| 144 | "dependencies": { |
|
144 | "dependencies": { | |
| 145 | "tape": { |
|
145 | "tape": { | |
| 146 | "version": "2.3.3", |
|
146 | "version": "2.3.3", | |
| 147 |
"resolved": "http |
|
147 | "resolved": "http://registry.npmjs.org/tape/-/tape-2.3.3.tgz", | |
| 148 | "integrity": "sha1-Lnzgox3wn41oUWZKcYQuDKUFevc=", |
|
148 | "integrity": "sha1-Lnzgox3wn41oUWZKcYQuDKUFevc=", | |
| 149 | "dev": true, |
|
149 | "dev": true, | |
| 150 | "requires": { |
|
150 | "requires": { | |
| @@ -277,7 +277,7 | |||||
| 277 | }, |
|
277 | }, | |
| 278 | "minimist": { |
|
278 | "minimist": { | |
| 279 | "version": "0.0.5", |
|
279 | "version": "0.0.5", | |
| 280 |
"resolved": "http |
|
280 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz", | |
| 281 | "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=", |
|
281 | "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=", | |
| 282 | "dev": true |
|
282 | "dev": true | |
| 283 | }, |
|
283 | }, | |
| @@ -316,7 +316,7 | |||||
| 316 | }, |
|
316 | }, | |
| 317 | "readable-stream": { |
|
317 | "readable-stream": { | |
| 318 | "version": "1.1.14", |
|
318 | "version": "1.1.14", | |
| 319 |
"resolved": "http |
|
319 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", | |
| 320 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", |
|
320 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", | |
| 321 | "dev": true, |
|
321 | "dev": true, | |
| 322 | "requires": { |
|
322 | "requires": { | |
| @@ -369,7 +369,7 | |||||
| 369 | }, |
|
369 | }, | |
| 370 | "string_decoder": { |
|
370 | "string_decoder": { | |
| 371 | "version": "0.10.31", |
|
371 | "version": "0.10.31", | |
| 372 |
"resolved": "http |
|
372 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", | |
| 373 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", |
|
373 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", | |
| 374 | "dev": true |
|
374 | "dev": true | |
| 375 | }, |
|
375 | }, | |
| @@ -432,7 +432,7 | |||||
| 432 | }, |
|
432 | }, | |
| 433 | "through2": { |
|
433 | "through2": { | |
| 434 | "version": "0.2.3", |
|
434 | "version": "0.2.3", | |
| 435 |
"resolved": "http |
|
435 | "resolved": "http://registry.npmjs.org/through2/-/through2-0.2.3.tgz", | |
| 436 | "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", |
|
436 | "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", | |
| 437 | "dev": true, |
|
437 | "dev": true, | |
| 438 | "requires": { |
|
438 | "requires": { | |
General Comments 0
You need to be logged in to leave comments.
Login now
