From 5a140ab914abbf5e793cf86c6654e0ed1c81d13a Mon Sep 17 00:00:00 2001 From: Brandon Tilley Date: Sat, 28 Dec 2013 13:09:12 -0800 Subject: [PATCH] Add script to set version number --- bower.json | 10 +++++++--- script/set-version | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) create mode 100755 script/set-version diff --git a/bower.json b/bower.json index c485ebf..2e8a602 100644 --- a/bower.json +++ b/bower.json @@ -4,7 +4,9 @@ "main": "dist/planetaryjs.min.js", "description": "Awesome interactive globes for the web", "homepage": "http://planetaryjs.com", - "authors": [ "Brandon Tilley " ], + "authors": [ + "Brandon Tilley " + ], "license": "MIT", "ignore": [ ".git", @@ -21,8 +23,10 @@ "topojson": "1.x" }, "keywords": [ - "globe", "globes", - "planet", "planets", + "globe", + "globes", + "planet", + "planets", "d3", "topojson" ] diff --git a/script/set-version b/script/set-version new file mode 100755 index 0000000..c563a8d --- /dev/null +++ b/script/set-version @@ -0,0 +1,41 @@ +#!/usr/bin/env node + +var fs = require('fs'); +var spawn = require('child_process').spawn; + +var type = process.argv[2]; +var version = process.argv[3]; +var name = process.argv[4] + +if ("stable" !== type && "unstable" !== type) { + console.log("You must specify 'stable' or 'unstable' version type."); + process.exit(1); +} + +if (!version) { + console.log("You must specify a version."); + process.exit(1); +} + +if (version[0] === 'v') { + version = version.replace(/^v/, ''); +} + +var package = require("../package.json"); +var bower = require("../bower.json"); +var site = require("../site/public/download/_data.json"); + +package.version = version; +bower.version = version; + +site[type].latest = site[type].latest || {}; +site[type].latest.version = "v" + version; +if (name) site[type].latest.name = name; + +fs.writeFileSync('package.json', JSON.stringify(package, null, ' ') + "\n"); +fs.writeFileSync('bower.json', JSON.stringify(bower, null, ' ') + "\n"); +fs.writeFileSync('site/public/download/_data.json', JSON.stringify(site, null, ' ') + "\n"); + +spawn('npm', ['run', 'build']); + +console.log("Tasks:\n\n - Update CHANGELOG.md\n - Regenerate site");