Improve build scripts of Web frontend

This commit is contained in:
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 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 :: all ::
@ -11,9 +11,7 @@ install ::
echo "$(SOGO_WEBSERVERRESOURCESDIR) is a symbolic link (for development?). Installation skipped."; \ echo "$(SOGO_WEBSERVERRESOURCESDIR) is a symbolic link (for development?). Installation skipped."; \
else \ else \
mkdir -p $(SOGO_WEBSERVERRESOURCESDIR); \ mkdir -p $(SOGO_WEBSERVERRESOURCESDIR); \
cp $(WEBSERVER_RESOURCE_FILES) $(SOGO_WEBSERVERRESOURCESDIR)/; \ cp -r $(WEBSERVER_RESOURCE_DIRS) $(SOGO_WEBSERVERRESOURCESDIR)/; \
cp -r ckeditor $(SOGO_WEBSERVERRESOURCESDIR)/; \
rm -rf $(SOGO_WEBSERVERRESOURCESDIR)/ckeditor/_source; \
fi fi
check :: check ::

View file

@ -4,7 +4,8 @@ module.exports = function(grunt) {
sass: { sass: {
options: { options: {
includePaths: ['bower_components/foundation/scss'] includePaths: ['bower_components/foundation/scss',
'bower_components/ionic/scss']
}, },
dist: { dist: {
options: { options: {
@ -14,7 +15,8 @@ module.exports = function(grunt) {
files: { files: {
'css/app.css': 'scss/app.scss', 'css/app.css': 'scss/app.scss',
'css/SOGoRootPage.css': 'scss/SOGoRootPage.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('build', ['sass']);
grunt.registerTask('default', ['build','watch']); 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", "name": "sogo-web",
"version": "0.0.1", "version": "0.0.1",
"devDependencies": { "devDependencies": {
"node-sass": "~0.7.0", "bower": ">=1.3.8",
"grunt": "~0.4.1", "node-sass": ">=0.7.0",
"grunt-contrib-watch": "~0.5.3", "grunt": ">=0.4.1",
"grunt-sass": "~0.8.0" "grunt-contrib-watch": ">=0.5.3",
} "grunt-sass": ">=0.8.0"
}
} }