Compare commits

...

45 Commits

Author SHA1 Message Date
Jack Grigg 69b3b1ce67 Use bitcore-lib-zcash 2016-08-27 23:11:17 +12:00
Jack Grigg e62b7d8633 Zcash-ify 2016-08-27 23:11:02 +12:00
Gabe Gattis 265a231820
Merge branch 'braydonMaster' 2016-08-10 13:20:23 -04:00
Braydon Fuller 9d349ce5fd Update browserify 2016-08-09 18:35:42 -04:00
Gabe Gattis 4f5f76918f Merge pull request #34 from braydonf/bug/lib-export
Fixed issue with exporting bitcore-lib module name.
2015-11-07 01:51:38 -05:00
Braydon Fuller 5b0889a043 Fixed issue with exporting bitcore-lib module name. 2015-11-07 00:50:00 -05:00
Marty Alcala a93a9970e3 Merge pull request #33 from braydonf/double
Fix double bitcore-lib loading issue.
2015-10-21 11:00:05 -04:00
Braydon Fuller 95be4a1213 Fix double bitcore-lib loading issue.
Browserify has an option to exclude a library from the browser package
so that it can be loaded only once, previously we used `--external bitcore`
however now we need to use `--external bitcore-lib` as the package has
been renamed.
2015-10-21 10:54:15 -04:00
Braydon Fuller e9fab401d5 Merge pull request #32 from bitpay/revert-30-bug/karma_reference
Revert "Use bitpay's version of karma."
2015-10-19 19:42:51 -04:00
Braydon Fuller 9360425ad8 Revert "Use bitpay's version of karma." 2015-10-19 19:42:16 -04:00
Stephen Pair 2b1f8a481f Merge pull request #30 from kleetus/bug/karma_reference
Use bitpay's version of karma.
2015-10-18 17:58:48 -04:00
Chris Kleeschulte d0078a8f1a Use bitpay's version of karma.
- So karma can point to BP socket.io...eventually to support prebuilds at the web sockets level
2015-10-18 16:20:18 -04:00
Gabe Gattis 785856bb00 Merge pull request #29 from braydonf/master
Upgrade browserify
2015-10-13 18:56:43 -04:00
Braydon Fuller 36e15f14ae Upgrade browserify 2015-10-07 20:17:16 -04:00
Manuel Aráoz 057c3303bf Merge pull request #26 from braydonf/bug/browsers
Removed detect browsers to fix issues with Travis.
2015-04-28 11:06:26 -03:00
Braydon Fuller 660179f711 Removed detect browsers to fix issues with Travis. 2015-04-27 14:17:24 -04:00
Manuel Aráoz 34c1e3e614 Merge pull request #25 from braydonf/update-launchers
Updated karma-launchers so that phantomjs doesn't load by default.
2015-04-24 14:57:48 -03:00
Braydon Fuller 2a4b25fe88 Updated karma-launchers so that phantomjs doesn't load by default. 2015-04-24 13:01:47 -04:00
Esteban Ordano c3c8e4d1ab Merge pull request #23 from maraoz/master
remove release branch after release
2015-02-23 13:56:41 -03:00
Manuel Araoz ad9a79e343 remove release branch after release 2015-02-23 13:01:42 -03:00
Manuel Aráoz 9fae3572ae Merge pull request #22 from eordano/signatures
Make signed releases
2015-02-18 12:26:54 -03:00
eordano 3d68578993 Use detached signatures 2015-02-18 11:58:00 -03:00
eordano f3e9f3e43d Maketests not necessary when building browser 2015-02-18 11:36:10 -03:00
eordano d33a9d8322 Fix order: bump before build minified 2015-02-18 11:36:10 -03:00
eordano 6f19ea1f30 Signed releases with default gpg key 2015-02-18 11:36:10 -03:00
Manuel Araoz 4cc0c76115 fix noop 2015-01-22 16:00:59 -03:00
Manuel Aráoz bb8ceb5480 Merge pull request #20 from maraoz/master
fix build for non-browser modules
2015-01-22 15:56:05 -03:00
Manuel Araoz aa0454e4e3 fix build for non-browser modules 2015-01-22 15:55:15 -03:00
Manuel Aráoz ac6a0ef79c Merge pull request #18 from maraoz/master
bower build bugfix
2015-01-22 14:21:26 -03:00
Manuel Araoz 3a8bac2f72 bump version 2015-01-22 14:21:09 -03:00
Manuel Araoz f60902938b bower build bugfix 2015-01-22 14:20:21 -03:00
Manuel Araoz 15852cfb42 bower build bugfix 2015-01-22 14:15:33 -03:00
Manuel Aráoz ce4dd67558 Merge pull request #17 from maraoz/master
bumper bugfix
2015-01-22 14:07:15 -03:00
Manuel Araoz a817664f61 bumper bugfix 2015-01-22 14:06:06 -03:00
Manuel Aráoz 0b8c8fe07c Merge pull request #16 from eordano/drop/releases
Fix temporary branch creation
2015-01-22 12:27:26 -03:00
Esteban Ordano 2ce88f7aeb Fix temporary branch creation 2015-01-22 12:24:31 -03:00
Manuel Aráoz 781d3f37f7 Merge pull request #15 from eordano/drop/releases
Drop the usage of the releases branch
2015-01-22 12:05:20 -03:00
Esteban Ordano 4821521282 Drop the usage of the releases branch 2015-01-22 11:56:31 -03:00
Yemel Jardi 96d5d05002 Merge pull request #13 from maraoz/master
add ability to release major, minor, or patch versions
2015-01-21 14:15:27 -03:00
Manuel Araoz bd979d61bb improve use of run-sequence 2015-01-21 13:42:25 -03:00
Manuel Araoz e6fdafe7cb fix typo 2015-01-21 13:32:04 -03:00
Manuel Araoz 9ab2a84b21 add require('run-sequence').use(gulp) 2015-01-21 13:25:07 -03:00
Manuel Araoz de8627c55a add ability to release major, minor, or patch versions 2015-01-21 13:17:31 -03:00
Esteban Ordano fcd4e20ead Merge pull request #12 from braydonf/drop/jsdocs
Removed dependencies from jsdoc generation, and other nolonger needed tasks.
2015-01-21 11:30:41 -03:00
Braydon Fuller b5364cd397 Removed dependencies from jsdoc generation, and other nolonger needed tasks. 2015-01-19 17:02:29 -05:00
4 changed files with 100 additions and 86 deletions

View File

@ -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});
```

132
index.js
View File

@ -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: ''
}, cb);
}, 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']);
}

View File

@ -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'
]
});

View File

@ -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"
}
}