Improve build scripts of Web frontend

pull/91/head
Francis Lachapelle 2014-08-06 15:43:03 -04:00
parent e817a3b3d0
commit d52d7582ca
4 changed files with 50 additions and 14 deletions

View File

@ -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 ::

View File

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

View File

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

View File

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