From d52d7582ca7d04f77b7be108b246cc4fa2e48aeb Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 6 Aug 2014 15:43:03 -0400 Subject: [PATCH] Improve build scripts of Web frontend --- UI/WebServerResources/GNUmakefile | 6 ++---- UI/WebServerResources/Gruntfile.js | 29 +++++++++++++++++++++++++++-- UI/WebServerResources/bower.json | 12 ++++++++++++ UI/WebServerResources/package.json | 17 +++++++++-------- 4 files changed, 50 insertions(+), 14 deletions(-) create mode 100644 UI/WebServerResources/bower.json diff --git a/UI/WebServerResources/GNUmakefile b/UI/WebServerResources/GNUmakefile index 6ed0e4083..30ee14b09 100644 --- a/UI/WebServerResources/GNUmakefile +++ b/UI/WebServerResources/GNUmakefile @@ -2,7 +2,7 @@ include ../common.make -WEBSERVER_RESOURCE_FILES = $(shell ls *css *ico *js *gif *png *html *txt 2> /dev/null) +WEBSERVER_RESOURCE_DIRS = css fonts img js all :: @@ -11,9 +11,7 @@ install :: echo "$(SOGO_WEBSERVERRESOURCESDIR) is a symbolic link (for development?). Installation skipped."; \ else \ mkdir -p $(SOGO_WEBSERVERRESOURCESDIR); \ - cp $(WEBSERVER_RESOURCE_FILES) $(SOGO_WEBSERVERRESOURCESDIR)/; \ - cp -r ckeditor $(SOGO_WEBSERVERRESOURCESDIR)/; \ - rm -rf $(SOGO_WEBSERVERRESOURCESDIR)/ckeditor/_source; \ + cp -r $(WEBSERVER_RESOURCE_DIRS) $(SOGO_WEBSERVERRESOURCESDIR)/; \ fi check :: diff --git a/UI/WebServerResources/Gruntfile.js b/UI/WebServerResources/Gruntfile.js index 9cc17952f..28a354658 100644 --- a/UI/WebServerResources/Gruntfile.js +++ b/UI/WebServerResources/Gruntfile.js @@ -4,7 +4,8 @@ module.exports = function(grunt) { sass: { options: { - includePaths: ['bower_components/foundation/scss'] + includePaths: ['bower_components/foundation/scss', + 'bower_components/ionic/scss'] }, dist: { options: { @@ -14,7 +15,8 @@ module.exports = function(grunt) { files: { 'css/app.css': 'scss/app.scss', 'css/SOGoRootPage.css': 'scss/SOGoRootPage.scss', - 'css/ContactsUI.css': 'scss/ContactsUI.scss' + 'css/ContactsUI.css': 'scss/ContactsUI.scss', + 'css/mobile.css': 'scss/mobile.scss' } } }, @@ -34,4 +36,27 @@ module.exports = function(grunt) { grunt.registerTask('build', ['sass']); grunt.registerTask('default', ['build','watch']); + grunt.registerTask('js', function(dev) { + var options = { + 'src': 'bower_components', + 'dest': 'js/vendor/', + 'min': (dev? '' : '.min') + }; + var vendor = [ + '<%= src %>/angular/angular<%= min %>.js', + '<%= src %>/angular-sanitize/angular-sanitize<%= min %>.js', + '<%= src %>/angular-ui-router/release/angular-ui-router<%= min %>.js', + '<%= src %>/angular-foundation/mm-foundation-tpls<%= min %>.js', + '<%= src %>/foundation/js/foundation<%= min %>.js', + '<%= src %>/ionic/release/js/ionic<%= min %>.js', + '<%= src %>/underscore/underscore-min.js' + ]; + for (var i = 0; i < vendor.length; i++) { + var src = grunt.template.process(vendor[i], {data: options}); + var paths = src.split('/'); + var dest = options.dest + paths[paths.length-1]; + grunt.file.copy(src, dest); + grunt.log.ok("copy " + src + " => " + dest); + } + }); } diff --git a/UI/WebServerResources/bower.json b/UI/WebServerResources/bower.json new file mode 100644 index 000000000..c9fea1949 --- /dev/null +++ b/UI/WebServerResources/bower.json @@ -0,0 +1,12 @@ +{ + "name": "sogo-web", + "private": true, + "devDependencies": { + "angular": "~1.2", + "angular-ui-router": "~0.2", + "angular-foundation": "~0.3", + "foundation": "~5.3", + "ionic": "1.0.0-beta.10", + "underscore": "~1.6" + } +} diff --git a/UI/WebServerResources/package.json b/UI/WebServerResources/package.json index b4f8dba72..bf218d636 100644 --- a/UI/WebServerResources/package.json +++ b/UI/WebServerResources/package.json @@ -1,10 +1,11 @@ { - "name": "foundation-libsass-template", - "version": "0.0.1", - "devDependencies": { - "node-sass": "~0.7.0", - "grunt": "~0.4.1", - "grunt-contrib-watch": "~0.5.3", - "grunt-sass": "~0.8.0" - } + "name": "sogo-web", + "version": "0.0.1", + "devDependencies": { + "bower": ">=1.3.8", + "node-sass": ">=0.7.0", + "grunt": ">=0.4.1", + "grunt-contrib-watch": ">=0.5.3", + "grunt-sass": ">=0.8.0" + } }