Compare commits
45 Commits
Author | SHA1 | Date |
---|---|---|
Jack Grigg | 69b3b1ce67 | |
Jack Grigg | e62b7d8633 | |
Gabe Gattis | 265a231820 | |
Braydon Fuller | 9d349ce5fd | |
Gabe Gattis | 4f5f76918f | |
Braydon Fuller | 5b0889a043 | |
Marty Alcala | a93a9970e3 | |
Braydon Fuller | 95be4a1213 | |
Braydon Fuller | e9fab401d5 | |
Braydon Fuller | 9360425ad8 | |
Stephen Pair | 2b1f8a481f | |
Chris Kleeschulte | d0078a8f1a | |
Gabe Gattis | 785856bb00 | |
Braydon Fuller | 36e15f14ae | |
Manuel Aráoz | 057c3303bf | |
Braydon Fuller | 660179f711 | |
Manuel Aráoz | 34c1e3e614 | |
Braydon Fuller | 2a4b25fe88 | |
Esteban Ordano | c3c8e4d1ab | |
Manuel Araoz | ad9a79e343 | |
Manuel Aráoz | 9fae3572ae | |
eordano | 3d68578993 | |
eordano | f3e9f3e43d | |
eordano | d33a9d8322 | |
eordano | 6f19ea1f30 | |
Manuel Araoz | 4cc0c76115 | |
Manuel Aráoz | bb8ceb5480 | |
Manuel Araoz | aa0454e4e3 | |
Manuel Aráoz | ac6a0ef79c | |
Manuel Araoz | 3a8bac2f72 | |
Manuel Araoz | f60902938b | |
Manuel Araoz | 15852cfb42 | |
Manuel Aráoz | ce4dd67558 | |
Manuel Araoz | a817664f61 | |
Manuel Aráoz | 0b8c8fe07c | |
Esteban Ordano | 2ce88f7aeb | |
Manuel Aráoz | 781d3f37f7 | |
Esteban Ordano | 4821521282 | |
Yemel Jardi | 96d5d05002 | |
Manuel Araoz | bd979d61bb | |
Manuel Araoz | e6fdafe7cb | |
Manuel Araoz | 9ab2a84b21 | |
Manuel Araoz | de8627c55a | |
Esteban Ordano | fcd4e20ead | |
Braydon Fuller | b5364cd397 |
|
@ -1,4 +1,4 @@
|
|||
# bitcore-build
|
||||
# bitcore-build-zcash
|
||||
|
||||
A helper to add tasks to gulp.
|
||||
|
||||
|
@ -7,14 +7,14 @@ A helper to add tasks to gulp.
|
|||
Install with:
|
||||
|
||||
```sh
|
||||
npm install bitcore-build
|
||||
npm install bitcore-build-zcash
|
||||
```
|
||||
|
||||
and use and require in your gulp file:
|
||||
|
||||
```javascript
|
||||
var gulp = require('gulp');
|
||||
var bitcoreTasks = require('bitcore-build');
|
||||
var bitcoreTasks = require('bitcore-build-zcash');
|
||||
|
||||
bitcoreTasks('submodule');
|
||||
gulp.task('default', ['lint', 'test', 'browser', 'coverage']);
|
||||
|
@ -25,7 +25,7 @@ gulp.task('default', ['lint', 'test', 'browser', 'coverage']);
|
|||
* There's no default task to allow for each submodule to set up their own configuration
|
||||
* If the module is node-only, avoid adding the browser tasks with:
|
||||
```javascript
|
||||
var bitcoreTasks = require('bitcore-build');
|
||||
var bitcoreTasks = require('bitcore-build-zcash');
|
||||
bitcoreTasks('submodule', {skipBrowsers: true});
|
||||
```
|
||||
|
||||
|
|
130
index.js
130
index.js
|
@ -37,6 +37,7 @@ var jshint = require('gulp-jshint');
|
|||
var mocha = require('gulp-mocha');
|
||||
var rename = require('gulp-rename');
|
||||
var runsequence = require('run-sequence');
|
||||
runsequence.use(gulp);
|
||||
var shell = require('gulp-shell');
|
||||
var uglify = require('gulp-uglify');
|
||||
var bump = require('gulp-bump');
|
||||
|
@ -52,13 +53,12 @@ function startGulp(name, opts) {
|
|||
|
||||
opts = opts || {};
|
||||
var browser = !opts.skipBrowser;
|
||||
var isSubmodule = name ? true : false;
|
||||
var fullname = name ? 'bitcore-' + name : 'bitcore';
|
||||
var files = ['lib/**/*.js'];
|
||||
var tests = ['test/**/*.js'];
|
||||
var alljs = files.concat(tests);
|
||||
|
||||
var buildPath = './node_modules/bitcore-build/';
|
||||
var buildPath = './node_modules/bitcore-build-zcash/';
|
||||
var buildModulesPath = buildPath + 'node_modules/';
|
||||
var buildBinPath = buildPath + 'node_modules/.bin/';
|
||||
|
||||
|
@ -91,6 +91,9 @@ function startGulp(name, opts) {
|
|||
gulp.task('test', ['test:node']);
|
||||
}
|
||||
|
||||
gulp.task('noop', function() {
|
||||
});
|
||||
|
||||
/**
|
||||
* file generation
|
||||
*/
|
||||
|
@ -98,10 +101,10 @@ function startGulp(name, opts) {
|
|||
|
||||
var browserifyCommand;
|
||||
|
||||
if (isSubmodule) {
|
||||
browserifyCommand = buildBinPath + 'browserify --require ./index.js:' + fullname + ' --external bitcore -o ' + fullname + '.js';
|
||||
if (name !== 'lib') {
|
||||
browserifyCommand = buildBinPath + 'browserify --require ./index.js:' + fullname + ' --external bitcore-lib-zcash -o ' + fullname + '.js';
|
||||
} else {
|
||||
browserifyCommand = buildBinPath + 'browserify --require ./index.js:bitcore -o bitcore.js';
|
||||
browserifyCommand = buildBinPath + 'browserify --require ./index.js:bitcore-lib-zcash -o bitcore-lib-zcash.js';
|
||||
}
|
||||
|
||||
gulp.task('browser:uncompressed', shell.task([
|
||||
|
@ -124,7 +127,7 @@ function startGulp(name, opts) {
|
|||
]));
|
||||
|
||||
gulp.task('browser', function(callback) {
|
||||
runsequence(['browser:compressed'], ['browser:maketests'], callback);
|
||||
runsequence(['browser:compressed'], callback);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -170,12 +173,6 @@ function startGulp(name, opts) {
|
|||
});
|
||||
}
|
||||
|
||||
gulp.task('watch:jsdoc', function() {
|
||||
// todo: only run tests that are linked to file changes by doing
|
||||
// something smart like reading through the require statements
|
||||
return gulp.watch(alljs, ['jsdoc']);
|
||||
});
|
||||
|
||||
gulp.task('watch:coverage', function() {
|
||||
// todo: only run tests that are linked to file changes by doing
|
||||
// something smart like reading through the require statements
|
||||
|
@ -209,23 +206,28 @@ function startGulp(name, opts) {
|
|||
releaseFiles.push('./bower.json');
|
||||
}
|
||||
|
||||
gulp.task('release:bump', function() {
|
||||
var bump_version = function(importance) {
|
||||
return gulp.src(releaseFiles)
|
||||
.pipe(bump({
|
||||
type: 'patch'
|
||||
type: importance
|
||||
}))
|
||||
.pipe(gulp.dest('./'));
|
||||
});
|
||||
};
|
||||
|
||||
var tempBranch = 'releases/' + new Date().getTime() + '-build';
|
||||
gulp.task('release:checkout-releases', function(cb) {
|
||||
git.checkout('releases', {
|
||||
git.branch(tempBranch, {
|
||||
args: ''
|
||||
}, function() {
|
||||
git.checkout(tempBranch, {
|
||||
args: ''
|
||||
}, cb);
|
||||
});
|
||||
});
|
||||
|
||||
gulp.task('release:merge-master', function(cb) {
|
||||
git.merge('master', {
|
||||
args: ''
|
||||
gulp.task('release:cleanup', function(cb) {
|
||||
git.branch(tempBranch, {
|
||||
args: '-D'
|
||||
}, cb);
|
||||
});
|
||||
|
||||
|
@ -235,26 +237,52 @@ function startGulp(name, opts) {
|
|||
}, cb);
|
||||
});
|
||||
|
||||
gulp.task('release:sign-built-files', shell.task([
|
||||
'gpg --yes --out ' + fullname + '.js.sig --detach-sig ' + fullname + '.js',
|
||||
'gpg --yes --out ' + fullname + '.min.js.sig --detach-sig ' + fullname + '.min.js'
|
||||
]));
|
||||
|
||||
var buildFiles = ['./package.json'];
|
||||
var signatureFiles = [];
|
||||
if (browser) {
|
||||
buildFiles.push(fullname + '.js');
|
||||
buildFiles.push(fullname + '.js.sig');
|
||||
buildFiles.push(fullname + '.min.js');
|
||||
buildFiles.push(fullname + '.min.js.sig');
|
||||
|
||||
buildFiles.push('./bower.json');
|
||||
|
||||
signatureFiles.push(fullname + '.js.sig');
|
||||
signatureFiles.push(fullname + '.min.js.sig');
|
||||
}
|
||||
gulp.task('release:add-built-files', function() {
|
||||
var addFiles = function() {
|
||||
var pjson = require('../../package.json');
|
||||
return gulp.src(buildFiles)
|
||||
.pipe(git.add({
|
||||
args: '-f'
|
||||
}));
|
||||
});
|
||||
};
|
||||
|
||||
gulp.task('release:build-commit', ['release:add-built-files'], function() {
|
||||
var buildCommit = function() {
|
||||
var pjson = require('../../package.json');
|
||||
return gulp.src(buildFiles)
|
||||
.pipe(git.commit('Build: ' + pjson.version, {
|
||||
args: ''
|
||||
}));
|
||||
});
|
||||
};
|
||||
|
||||
gulp.task('release:add-signed-files', ['release:sign-built-files'], addFiles);
|
||||
gulp.task('release:add-built-files', addFiles);
|
||||
|
||||
if (browser) {
|
||||
gulp.task('release:build-commit', [
|
||||
'release:add-signed-files'
|
||||
], buildCommit);
|
||||
} else {
|
||||
gulp.task('release:build-commit', [
|
||||
'release:add-built-files'
|
||||
], buildCommit);
|
||||
}
|
||||
|
||||
gulp.task('release:version-commit', function() {
|
||||
var pjson = require('../../package.json');
|
||||
|
@ -264,12 +292,6 @@ function startGulp(name, opts) {
|
|||
}));
|
||||
});
|
||||
|
||||
gulp.task('release:push-releases', function(cb) {
|
||||
git.push('bitpay', 'releases', {
|
||||
args: ''
|
||||
}, cb);
|
||||
});
|
||||
|
||||
gulp.task('release:push', function(cb) {
|
||||
git.push('bitpay', 'master', {
|
||||
args: ''
|
||||
|
@ -288,37 +310,51 @@ function startGulp(name, opts) {
|
|||
'npm publish'
|
||||
]));
|
||||
|
||||
|
||||
// requires https://hub.github.com/
|
||||
gulp.task('release', function(cb) {
|
||||
runsequence(
|
||||
// Checkout the `releases` branch
|
||||
['release:checkout-releases'],
|
||||
// Merge the master branch
|
||||
['release:merge-master'],
|
||||
var release = function(importance, cb) {
|
||||
var bumper = 'release:bump:' + importance;
|
||||
return runsequence(
|
||||
// Checkout the release temporal branch
|
||||
'release:checkout-releases',
|
||||
// Run npm install
|
||||
['release:install'],
|
||||
'release:install',
|
||||
// Run tests with gulp test
|
||||
['test'],
|
||||
'test',
|
||||
// Update package.json and bower.json
|
||||
['release:bump'],
|
||||
bumper,
|
||||
// build browser files
|
||||
browser ? 'browser' : 'noop',
|
||||
// Commit
|
||||
['release:build-commit'],
|
||||
'release:build-commit',
|
||||
// Run git push bitpay $VERSION
|
||||
['release:push-tag'],
|
||||
// Push to releases branch
|
||||
['release:push-releases'],
|
||||
'release:push-tag',
|
||||
// Run npm publish
|
||||
['release:publish'],
|
||||
'release:publish',
|
||||
// Checkout the `master` branch
|
||||
['release:checkout-master'],
|
||||
'release:checkout-master',
|
||||
// Bump package.json and bower.json, again
|
||||
['release:bump'],
|
||||
bumper,
|
||||
// Version commit with no binary files to master
|
||||
['release:version-commit'],
|
||||
'release:version-commit',
|
||||
// Push to master
|
||||
['release:push'],
|
||||
'release:push',
|
||||
// remove release branch
|
||||
'release:cleanup',
|
||||
cb);
|
||||
};
|
||||
|
||||
['patch', 'minor', 'major'].forEach(function(importance) {
|
||||
gulp.task('release:' + importance, function(cb) {
|
||||
release(importance, cb);
|
||||
});
|
||||
gulp.task('release:bump:' + importance, function() {
|
||||
bump_version(importance);
|
||||
});
|
||||
});
|
||||
gulp.task('release', ['release:patch']);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -5,31 +5,14 @@ module.exports = function(config) {
|
|||
|
||||
config.set({
|
||||
browsers: ['Firefox'],
|
||||
frameworks: ['mocha', 'detectBrowsers'],
|
||||
detectBrowsers: {
|
||||
enabled: true,
|
||||
usePhantomJS: false,
|
||||
postDetection: function(availableBrowser) {
|
||||
// modify to enable additional browsers if available
|
||||
var runBrowsers = ['Firefox', 'Chrome'];
|
||||
var browsers = [];
|
||||
for(var i = 0; i < runBrowsers.length; i++) {
|
||||
if(~availableBrowser.indexOf(runBrowsers[i])) {
|
||||
browsers.push(runBrowsers[i]);
|
||||
}
|
||||
}
|
||||
return browsers;
|
||||
}
|
||||
},
|
||||
frameworks: ['mocha'],
|
||||
singleRun: true,
|
||||
files: [
|
||||
'./../../tests.js' // project root
|
||||
],
|
||||
plugins: [
|
||||
'karma-mocha',
|
||||
'karma-chrome-launcher',
|
||||
'karma-firefox-launcher',
|
||||
'karma-detect-browsers'
|
||||
'karma-firefox-launcher'
|
||||
]
|
||||
});
|
||||
|
||||
|
|
25
package.json
25
package.json
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"name": "bitcore-build",
|
||||
"version": "0.4.2",
|
||||
"description": "A helper for common tasks to build bitcore modules'",
|
||||
"name": "bitcore-build-zcash",
|
||||
"version": "0.5.4",
|
||||
"description": "A helper for common tasks to build bitcore-zcash modules'",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "gulp test"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/bitpay/bitcore-build"
|
||||
"url": "git://github.com/str4d/bitcore-build-zcash"
|
||||
},
|
||||
"keywords": [
|
||||
"bitcore"
|
||||
|
@ -33,12 +33,12 @@
|
|||
],
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/bitpay/bitcore-build/issues"
|
||||
"url": "https://github.com/str4d/bitcore-build-zcash/issues"
|
||||
},
|
||||
"homepage": "https://github.com/bitpay/bitcore-build",
|
||||
"homepage": "https://github.com/str4d/bitcore-build-zcash",
|
||||
"dependencies": {
|
||||
"brfs": "^1.2.0",
|
||||
"browserify": "~6.3.3",
|
||||
"browserify": "~13.1.0",
|
||||
"chai": "~1.10.0",
|
||||
"gulp": "^3.8.10",
|
||||
"gulp-bump": "^0.1.11",
|
||||
|
@ -51,20 +51,15 @@
|
|||
"gulp-uglify": "^1.0.2",
|
||||
"gulp-util": "=3.0.1",
|
||||
"istanbul": "^0.3.5",
|
||||
"jsdoc": "^3.3.0-alpha11",
|
||||
"jsdoc-to-markdown": "=0.5.9",
|
||||
"karma": "^0.12.28",
|
||||
"karma-chrome-launcher": "^0.1.7",
|
||||
"karma-detect-browsers": "^0.1.3",
|
||||
"karma-firefox-launcher": "^0.1.3",
|
||||
"karma-chrome-launcher": "^0.1.8",
|
||||
"karma-detect-browsers": "^2.0.0",
|
||||
"karma-firefox-launcher": "^0.1.4",
|
||||
"karma-mocha": "^0.1.9",
|
||||
"lodash": "^2.4.1",
|
||||
"mocha": "^2.0.1",
|
||||
"more-fs": "=0.5.0",
|
||||
"plato": "^1.3.0",
|
||||
"run-sequence": "^1.0.2",
|
||||
"sinon": "^1.12.2",
|
||||
"through2": "=0.6.3",
|
||||
"zuul": "1.16.3"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue