summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-09-15 14:47:43 +0200
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-09-15 14:51:19 +0200
commitda2e8fa76a1e6daa1c0981c9bb54e04aa2674c98 (patch)
tree190b9d985197244ae5788fd86e12dc4841de950b
parentfbf0663ed672aff425db09684e7ce1db9b7666e4 (diff)
Add git revision to web-ui on build
- Issue #453
-rw-r--r--web-ui/app/index.html2
-rw-r--r--web-ui/app/js/page/default.js5
-rw-r--r--web-ui/app/js/page/version.js31
-rw-r--r--web-ui/app/js/views/templates.js3
-rw-r--r--web-ui/app/scss/styles.scss5
-rw-r--r--web-ui/app/templates/page/version.hbs1
-rwxr-xr-xweb-ui/config/add_git_version.sh14
-rw-r--r--web-ui/package.json5
8 files changed, 62 insertions, 4 deletions
diff --git a/web-ui/app/index.html b/web-ui/app/index.html
index df6c5afb..825d08a2 100644
--- a/web-ui/app/index.html
+++ b/web-ui/app/index.html
@@ -48,6 +48,8 @@
</a>
<nav id="tag-list"></nav>
<div class="side-nav-bottom">
+ <div class="version">0.3.1-beta</div>
+
<nav id="feedback"></nav>
<nav id="logout"></nav>
</div>
diff --git a/web-ui/app/js/page/default.js b/web-ui/app/js/page/default.js
index 0283d596..42aec759 100644
--- a/web-ui/app/js/page/default.js
+++ b/web-ui/app/js/page/default.js
@@ -44,6 +44,7 @@ define(
'page/logout',
'page/logout_shortcut',
'page/feedback',
+ 'page/version',
],
function (
@@ -74,7 +75,8 @@ define(
withLogging,
logout,
logoutShortcut,
- feedback) {
+ feedback,
+ version) {
'use strict';
function initialize(path) {
@@ -107,6 +109,7 @@ define(
offCanvas.attachTo(document);
logout.attachTo('#logout');
logoutShortcut.attachTo('#logout-shortcut');
+ version.attachTo('.version');
feedback.attachTo('#feedback');
}
diff --git a/web-ui/app/js/page/version.js b/web-ui/app/js/page/version.js
new file mode 100644
index 00000000..e5299f52
--- /dev/null
+++ b/web-ui/app/js/page/version.js
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2015 ThoughtWorks, Inc.
+ *
+ * Pixelated is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Pixelated is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+ */
+define(['flight/lib/component', 'views/templates'], function (defineComponent, templates) {
+ 'use strict';
+
+ return defineComponent(function () {
+
+ this.render = function () {
+ this.$node.html(templates.page.version());
+ };
+
+ this.after('initialize', function () {
+ this.render();
+ });
+
+ });
+});
diff --git a/web-ui/app/js/views/templates.js b/web-ui/app/js/views/templates.js
index c4ce8c26..1d9861db 100644
--- a/web-ui/app/js/views/templates.js
+++ b/web-ui/app/js/views/templates.js
@@ -58,7 +58,8 @@ define(['hbs/templates'], function (templates) {
page: {
logout: window.Pixelated['app/templates/page/logout.hbs'],
logoutShortcut: window.Pixelated['app/templates/page/logout_shortcut.hbs'],
- feedback: window.Pixelated['app/templates/page/feedback.hbs']
+ feedback: window.Pixelated['app/templates/page/feedback.hbs'],
+ version: window.Pixelated['app/templates/page/version.hbs']
}
};
diff --git a/web-ui/app/scss/styles.scss b/web-ui/app/scss/styles.scss
index 57227fad..7b1a2ec3 100644
--- a/web-ui/app/scss/styles.scss
+++ b/web-ui/app/scss/styles.scss
@@ -790,6 +790,11 @@ div.side-nav-bottom {
position: fixed;
bottom: 0;
background-color: $navigation_background;
+
+ .version {
+ padding-left: 55px;
+ padding-bottom: 3px;
+ }
}
@import "mascot.scss";
diff --git a/web-ui/app/templates/page/version.hbs b/web-ui/app/templates/page/version.hbs
new file mode 100644
index 00000000..40804ff3
--- /dev/null
+++ b/web-ui/app/templates/page/version.hbs
@@ -0,0 +1 @@
+version: UNKNOWN_VERSION \ No newline at end of file
diff --git a/web-ui/config/add_git_version.sh b/web-ui/config/add_git_version.sh
new file mode 100755
index 00000000..2732abed
--- /dev/null
+++ b/web-ui/config/add_git_version.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+TEMPLATE_FILE="app/js/generated/hbs/templates.js"
+
+COMMITISH=$(git rev-parse --short HEAD)
+
+perl -pi -e "s/UNKNOWN_VERSION/$COMMITISH/" $TEMPLATE_FILE
+
+if [ ! -f "$TEMPLATE_FILE" ] ; then
+ echo "file $TEMPLATE_FILE not found" 1>&2
+ exit 1
+fi
+
+exit 0
diff --git a/web-ui/package.json b/web-ui/package.json
index 95d3ae72..8e862c3e 100644
--- a/web-ui/package.json
+++ b/web-ui/package.json
@@ -31,12 +31,13 @@
"handlebars-watch": "node_modules/.bin/watch 'npm run handlebars' app/templates",
"compass": "compass compile",
"compass-watch": "compass watch",
- "build": "npm run clean && npm run handlebars && npm run compass",
+ "build": "npm run clean && npm run handlebars && npm run add_git_version && npm run compass",
"jshint": "jshint --config=.jshintrc app test",
"clean": "rm -rf .tmp/ dist/**/* app/js/generated/hbs/* app/css/*",
"buildmain": "node_modules/requirejs/bin/r.js -o config/buildoptions.js",
"package": "/bin/bash config/package.sh",
"imagemin": "node config/imagemin.js",
- "minify_html": "node_modules/.bin/html-minifier app/index.html --collapse-whitespace | sed 's|<!--usemin_start-->.*<!--usemin_end-->|<script src=\"assets/app.min.js\" type=\"text/javascript\"></script>|' > dist/index.html"
+ "minify_html": "node_modules/.bin/html-minifier app/index.html --collapse-whitespace | sed 's|<!--usemin_start-->.*<!--usemin_end-->|<script src=\"assets/app.min.js\" type=\"text/javascript\"></script>|' > dist/index.html",
+ "add_git_version": "/bin/bash config/add_git_version.sh"
}
}