prepare version 0.1.0
authorymh <ymh.work@gmail.com>
Mon, 17 Sep 2018 18:32:48 +0200
changeset 8 24a3d661309f
parent 7 5847345004db
child 9 3458ef964882
prepare version
clientjs/package.json
clientjs/packages/annotation-dashboard-explorunivers/package.json
clientjs/packages/dashboard-components/package.json
deploy/README.md
deploy/set-version.sh
--- a/clientjs/package.json	Mon Sep 17 17:38:24 2018 +0200
+++ b/clientjs/package.json	Mon Sep 17 18:32:48 2018 +0200
@@ -1,6 +1,10 @@
 {
-  "name": "root",
+  "name": "annotation-dashboard-clientjs",
+  "version": "0.1.0",
   "private": true,
+  "scripts": {
+    "set-version": "bash -c 'sed -i \"\" -e \"s/\\([:space:]*\\\"version\\\"[[:space:]]*\\:[[:space:]]*\\\"\\)[\\.0-9]*\\(\\\".*\\)/\\1${1}\\2/\" package.json' 0"
+  },
   "devDependencies": {
     "babel-eslint": "^9.0.0",
     "eslint": "^5.4.0",
--- a/clientjs/packages/annotation-dashboard-explorunivers/package.json	Mon Sep 17 17:38:24 2018 +0200
+++ b/clientjs/packages/annotation-dashboard-explorunivers/package.json	Mon Sep 17 18:32:48 2018 +0200
@@ -3,7 +3,7 @@
   "version": "0.1.0",
   "private": true,
   "dependencies": {
-    "dashboard-components": "^1.0.0",
+    "dashboard-components": "^0.1.0",
     "jquery": "^3.3.1",
     "lodash": "^4.17.10",
     "popper": "^1.0.1",
@@ -28,7 +28,9 @@
     "build-js": "react-scripts build",
     "build": "npm-run-all build-css build-js",
     "build-css": "node-sass-chokidar --include-path ./node_modules src/ -o src/",
-    "watch-css": "npm run build-css && node-sass-chokidar --include-path ./node_modules src/ -o src/ --watch --recursive"
+    "watch-css": "npm run build-css && node-sass-chokidar --include-path ./node_modules src/ -o src/ --watch --recursive",
+    "set-version": "bash -c 'sed -i \"\" -e \"s/\\([:space:]*\\\"version\\\"[[:space:]]*\\:[[:space:]]*\\\"\\)[\\.0-9]*\\(\\\".*\\)/\\1${1}\\2/\" package.json' 0",
+    "delete-components-dep": "bash -c 'sed -i \"\" -e \"/[:space:]*\\\"dashboard-components\\\"/d\" package.json' 0"
   },
   "devDependencies": {
     "ajv": "^6.5.3",
--- a/clientjs/packages/dashboard-components/package.json	Mon Sep 17 17:38:24 2018 +0200
+++ b/clientjs/packages/dashboard-components/package.json	Mon Sep 17 18:32:48 2018 +0200
@@ -1,6 +1,6 @@
 {
   "name": "dashboard-components",
-  "version": "1.0.0",
+  "version": "0.1.0",
   "description": "",
   "main": "./lib",
   "directories": {
@@ -9,7 +9,8 @@
   "scripts": {
     "start": "webpack-cli --watch --mode=development",
     "build": "webpack-cli --mode=production",
-    "prepublish": "npm run build"
+    "prepublish": "npm run build",
+    "set-version": "bash -c 'sed -i \"\" -e \"s/\\([:space:]*\\\"version\\\"[[:space:]]*\\:[[:space:]]*\\\"\\)[\\.0-9]*\\(\\\".*\\)/\\1${1}\\2/\" package.json' 0"
   },
   "keywords": [],
   "author": "",
--- a/deploy/README.md	Mon Sep 17 17:38:24 2018 +0200
+++ b/deploy/README.md	Mon Sep 17 18:32:48 2018 +0200
@@ -6,4 +6,9 @@
     - `cp hosts/hosts.tmpl hosts/hosts.<profile>`
     - define the profile vars: `cp group_vars/group_vars.yml.tmpl group_vars/<profile>.yml`, customize it
     - create the necessary host vars in `host_vars/<machine>/base.yml`. Use ansible vaults to edit them and do not expose any secret.
-    - deploy with the command `deploy.sh`: `./deploy.sh <profile> <version>`
\ No newline at end of file
+    - deploy with the command `deploy.sh`: `./deploy.sh <profile> <version>`
+
+## Create new version
+Launch the command:
+- `set-version.sh <version>`
+- commit, tag and push as needed.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/set-version.sh	Mon Sep 17 18:32:48 2018 +0200
@@ -0,0 +1,69 @@
+#!/usr/bin/env bash
+
+set -e
+
+function usage() {
+    cat <<EOF
+Usage: $0 "x.y.z"
+    "x.y.z": version number, following the semver convention
+EOF
+}
+
+if [ $# -ne 1 ]; then
+    echo "Bad number of parameters"
+    usage >&2
+    exit 1
+fi
+
+if [[ "$1" == "-h" || "$1" == "--help" ]]; then
+    usage
+    exit 0
+fi
+
+version=$1
+
+echo "Version: ${version}"
+
+[[ "${version}" =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+$ ]] || {
+    echo "Bad format for version."
+    usage >&2
+    exit 1
+}
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+green="\x1B[0;32m" # '\e[1;32m' is too bright for white bg.
+blue="\x1B[1;34m"
+endColor="\x1B[0m"
+
+function echoblue() {
+    echo -e "${blue}$1${endColor}"
+}
+
+pushd "$DIR"
+
+pushd ../clientjs
+echoblue "Setting clientjs root version"
+npm run set-version -- "$version"
+popd
+
+pushd ../clientjs/packages/dashboard-components
+echoblue "Setting clientjs root version"
+npm run set-version -- "$version"
+popd
+
+
+pushd ../clientjs/packages/annotation-dashboard-explorunivers
+echoblue "Setting clientjs root version"
+npm run delete-components-dep
+npm run set-version -- "$version"
+popd
+
+pushd ../clientjs/
+echoblue "relink dependencies"
+npx lerna add dashboard-components --scope=annotation-dashboard-explorunivers
+popd
+
+echoblue "Version has been changed, please commit and push if necessary."
+
+
+popd