forked from loqui/im
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.js
159 lines (158 loc) · 4.16 KB
/
Gruntfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
meta: {
build: "dist",
compress: "package"
},
copy: {
importDocstrapTemplate: {
src: 'docstrap/template.less',
dest: 'node_modules/ink-docstrap/styles/variables.less'
},
importJsdocConfig: {
src: 'jsdoc/config.json',
dest: 'node_modules/ink-docstrap/template/jsdoc.conf.json'
},
logoToDocstrap: {
src: 'src/img/icon-128.png',
dest: 'node_modules/ink-docstrap/template/static/img/logo.png'
},
srcToFirefoxos: {
expand: true,
cwd: 'src/',
src: '**',
dest: '<%= meta.build %>/firefoxos/',
filter: function(src) {
return src.indexOf('.scss') < 0;
}
},
firefoxosToDist: {
expand: true,
cwd: 'platform/firefoxos/',
src: '**',
dest: '<%= meta.build %>/firefoxos/',
flatten: true,
filter: 'isFile'
},
srcToUbuntuTouch: {
expand: true,
cwd: 'src/',
src: '**',
dest: '<%= meta.build %>/ubuntu-touch/www',
flatten: true,
filter: 'isFile'
},
ubuntutouchToDist: {
expand: true,
cwd: 'platform/ubuntu-touch/',
src: '**',
dest: '<%= meta.build %>/ubuntu-touch/',
flatten: true,
filter: 'isFile'
},
srcToDesktop: {
expand: true,
cwd: 'src/',
src: '**',
dest: '<%= meta.build %>/desktop/',
flatten: true,
filter: 'isFile'
},
desktopToDist: {
expand: true,
cwd: 'platform/desktop/',
src: '**',
dest: '<%= meta.build %>/desktop/',
flatten: true,
filter: 'isFile'
}
},
clean: {
build: {
src: ['<%= meta.build %>/*', '<%= meta.compress %>/*', '<%= meta.build %>/**/*', 'cache/*', 'cache/**/*']
},
css: {
src: ['src/style/loqui/index.css']
}
},
compress: {
firefoxos: {
options: {
archive: '<%= meta.compress %>/LoquiIM-<%= pkg.version %>-firefoxos.zip'
},
files: [{
expand: true,
cwd: '<%= meta.build %>/firefoxos/',
src: ['**'],
dest: ''
}]
},
ubuntutouch: {
options: {
archive: '<%= meta.compress %>/LoquiIM-<%= pkg.version %>-ubuntutouch.zip'
},
files: [{
expand: true,
cwd: '<%= meta.build %>/ubuntu-touch/',
src: ['**'],
dest: ''
}]
}
},
nodewebkit: {
options: {
platforms: ['win', 'osx', 'linux32', 'linux64'],
buildDir: '<%= meta.compress %>/desktop',
},
src: ['dist/desktop/**/*']
},
connect: {
server: {
options: {
port: 3000,
protocol: 'http',
hostname: 'localhost',
base: '/src',
debug: false,
livereload: true
}
}
},
watch: {
options: {
livereload: true
},
html: {
files: ['src/*', 'src/**/*'],
options: {
spawn: false
}
}
},
execute: {
renderersCompiler: {
src: ['renderersCompiler.js']
}
},
sass: {
compile: {
files: {
'src/style/loqui/index.css' : 'src/style/loqui/index.scss'
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-node-webkit-builder');
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-execute');
grunt.registerTask('default', ['clean:build', 'execute', 'sass', 'copy', 'clean:css', 'compress']);
grunt.registerTask('with-desktop', ['clean', 'execute', 'sass', 'copy', 'clean:css', 'compress', 'nodewebkit']);
grunt.registerTask('devel', ['connect', 'watch']);
grunt.registerTask('docstrap', ['copy:importDocstrapTemplate', 'copy:importJsdocConfig', 'copy:logoToDocstrap']);
};