@@ -9,18 +9,35 @@ module.exports = function(grunt) {
9
9
targetDir : 'target' ,
10
10
distDir : '.dist' ,
11
11
releaseDir : 'dist' ,
12
+ originDir : 'origin' ,
12
13
examplesDir : 'examples' ,
14
+ examplesStaticDir : 'examples/static' ,
13
15
jstplDir : "js/<%= pkg.name %>/tpl" ,
14
16
jsComponentDir : "js/component" ,
15
- jsPublicDir : config . jsPublicDir + '/<%= pkg.name %>' ,
16
- cssPublicDir : config . cssPublicDir + '/<%= pkg.name %>'
17
+ jsStaticDir : config . jsStaticDir || ( config . staticDir + '/<%= pkg.name %>/js' ) ,
18
+ cssStaticDir : config . cssStaticDir || ( config . staticDir + '/<%= pkg.name %>/css' ) ,
19
+ assetStaticDir : config . assetStaticDir || ( config . staticDir + '/<%= pkg.name %>/pics' ) ,
17
20
} ,
18
21
19
22
clean : {
20
23
jstpl : [ "<%= meta.jstplDir %>/" ] ,
21
24
jsComponent : [ "<%= meta.jsComponentDir %>/" ] ,
22
- cssMoui : [ "css/moui/" ] ,
23
- examples_dist : [ "<%= meta.examplesDir %>/dist/js" , "<%= meta.examplesDir %>/dist/css" ] ,
25
+ cssComponent : [ "css/*/**" , "!css/<%= pkg.name %>/**" ] ,
26
+ origin : [ "<%= meta.originDir %>/" ] ,
27
+ examples_static : [ "<%= meta.examplesStaticDir %>" ] ,
28
+ pub_static : {
29
+ options : {
30
+ force : true ,
31
+ } ,
32
+ src : [
33
+ "<%= meta.jsStaticDir %>/*" ,
34
+ "<%= meta.cssStaticDir %>/*" ,
35
+ "<%= meta.assetStaticDir %>/*" ,
36
+ "!<%= meta.jsStaticDir %>/.**" ,
37
+ "!<%= meta.cssStaticDir %>/.**" ,
38
+ "!<%= meta.assetStaticDir %>/.**"
39
+ ]
40
+ } ,
24
41
target_js : [ "<%= meta.targetDir %>/js" ] ,
25
42
target_css : [ "<%= meta.targetDir %>/css" ] ,
26
43
target_pics : [ "<%= meta.targetDir %>/pics" ] ,
@@ -69,7 +86,7 @@ module.exports = function(grunt) {
69
86
} ,
70
87
"moui" : {
71
88
use : [ {
72
- cwd : "css /moui" ,
89
+ cwd : "scss /moui" ,
73
90
src : [ "**" ] ,
74
91
dest : "css/moui/"
75
92
} , {
@@ -127,8 +144,8 @@ module.exports = function(grunt) {
127
144
noLineComments : false ,
128
145
require : [
129
146
'compass-normalize' ,
130
- 'animate-sass' ,
131
147
'ceaser-easing' ,
148
+ 'animate' ,
132
149
'compass-recipes'
133
150
] ,
134
151
environment : 'production'
@@ -198,69 +215,103 @@ module.exports = function(grunt) {
198
215
} ,
199
216
200
217
copy : {
201
- target_to_examples : {
218
+ asset_to_target : {
202
219
files : [ {
203
220
expand : true ,
204
- cwd : '<%= meta.targetDir %>/js/' ,
221
+ cwd : 'pics/' ,
222
+ src : [ '**' , '!**/*.{png,jpg}' ] ,
223
+ dest : '<%= meta.targetDir %>/pics/'
224
+ } ]
225
+ } ,
226
+ asset_to_dist : {
227
+ files : [ {
228
+ expand : true ,
229
+ cwd : '<%= meta.targetDir %>/pics/' ,
205
230
src : [ '**' ] ,
206
- dest : '<%= meta.examplesDir %>/dist/js/'
207
- } , {
231
+ dest : '<%= meta.distDir %>/pics/'
232
+ } ]
233
+ } ,
234
+ target_to_examples : {
235
+ files : [ {
208
236
expand : true ,
209
- cwd : '<%= meta.targetDir %>/css/ ' ,
237
+ cwd : '<%= meta.targetDir %>/' ,
210
238
src : [ '**' ] ,
211
- dest : '<%= meta.examplesDir %>/dist/css /'
239
+ dest : '<%= meta.examplesStaticDir %>/'
212
240
} ]
213
241
} ,
214
242
target_to_pub : {
215
243
files : [ {
216
244
expand : true ,
217
245
cwd : '<%= meta.targetDir %>/js/' ,
218
246
src : [ '**' ] ,
219
- dest : '<%= meta.jsPublicDir %>/'
247
+ dest : '<%= meta.jsStaticDir %>/'
220
248
} , {
221
249
expand : true ,
222
250
cwd : '<%= meta.targetDir %>/css/' ,
223
251
src : [ '**' ] ,
224
- dest : '<%= meta.cssPublicDir %>/'
252
+ dest : '<%= meta.cssStaticDir %>/'
253
+ } , {
254
+ expand : true ,
255
+ cwd : '<%= meta.targetDir %>/pics/' ,
256
+ src : [ '**' ] ,
257
+ dest : '<%= meta.assetStaticDir %>/'
225
258
} ]
226
259
} ,
227
260
dist_to_pub : {
228
261
files : [ {
229
262
expand : true ,
230
263
cwd : '<%= meta.distDir %>/js/' ,
231
264
src : [ '**' , '!**/*.min.*' ] ,
232
- dest : '<%= meta.jsPublicDir %>/'
265
+ dest : '<%= meta.jsStaticDir %>/'
233
266
} , {
234
267
expand : true ,
235
268
cwd : '<%= meta.distDir %>/css/' ,
236
269
src : [ '**' , '!**/*.min.*' ] ,
237
- dest : '<%= meta.cssPublicDir %>/'
270
+ dest : '<%= meta.cssStaticDir %>/'
271
+ } , {
272
+ expand : true ,
273
+ cwd : '<%= meta.distDir %>/pics/' ,
274
+ src : [ '**' ] ,
275
+ dest : '<%= meta.assetStaticDir %>/'
238
276
} ]
239
277
} ,
240
- release_to_examples : {
278
+ release_to_pub : {
241
279
files : [ {
242
280
expand : true ,
243
281
cwd : '<%= meta.releaseDir %>/js/' ,
244
- src : [ '**' ] ,
245
- dest : '<%= meta.examplesDir %>/dist/js /'
282
+ src : [ '**' , '!**/*.min.*' ] ,
283
+ dest : '<%= meta.jsStaticDir %>/'
246
284
} , {
247
285
expand : true ,
248
286
cwd : '<%= meta.releaseDir %>/css/' ,
287
+ src : [ '**' , '!**/*.min.*' ] ,
288
+ dest : '<%= meta.cssStaticDir %>/'
289
+ } , {
290
+ expand : true ,
291
+ cwd : '<%= meta.releaseDir %>/pics/' ,
249
292
src : [ '**' ] ,
250
- dest : '<%= meta.examplesDir %>/dist/css/'
293
+ dest : '<%= meta.assetStaticDir %>/'
294
+ } ]
295
+ } ,
296
+ release_to_examples : {
297
+ files : [ {
298
+ expand : true ,
299
+ cwd : '<%= meta.releaseDir %>/' ,
300
+ src : [ '**' ] ,
301
+ dest : '<%= meta.examplesStaticDir %>/'
251
302
} ]
252
303
} ,
253
304
min_to_pub : {
254
305
files : [ {
255
306
expand : true ,
256
307
cwd : '<%= meta.distDir %>/js/' ,
257
308
src : [ '**/*.min.*' ] ,
258
- dest : '<%= meta.jsPublicDir %>/'
309
+ dest : '<%= meta.jsStaticDir %>/'
259
310
} , {
260
311
expand : true ,
261
312
cwd : '<%= meta.distDir %>/css/' ,
262
313
src : [ '**/*.min.*' ] ,
263
- dest : '<%= meta.cssPublicDir %>/'
314
+ dest : '<%= meta.cssStaticDir %>/'
264
315
} ]
265
316
} ,
266
317
restore : {
@@ -349,10 +400,10 @@ module.exports = function(grunt) {
349
400
'test'
350
401
]
351
402
} ,
352
- img : {
353
- files : [ 'pics/**/*.{png,jpg} ' ] ,
403
+ asset : {
404
+ files : [ 'pics/**' ] ,
354
405
tasks : [
355
- 'dev:img ' ,
406
+ 'dev:asset ' ,
356
407
'test'
357
408
]
358
409
}
@@ -385,9 +436,10 @@ module.exports = function(grunt) {
385
436
'compass' ,
386
437
] ) ;
387
438
388
- grunt . registerTask ( 'dev:img ' , [
439
+ grunt . registerTask ( 'dev:asset ' , [
389
440
'clean:target_pics' ,
390
441
'imagemin' ,
442
+ 'copy:asset_to_target' ,
391
443
'dev:css'
392
444
] ) ;
393
445
@@ -397,49 +449,58 @@ module.exports = function(grunt) {
397
449
'dev:js'
398
450
] ) ;
399
451
452
+ grunt . registerTask ( 'build_components' , [
453
+ ] ) ;
454
+
400
455
grunt . registerTask ( 'dev' , [
401
456
'dev:tpl' ,
402
- 'dev:img '
457
+ 'dev:asset '
403
458
] ) ;
404
459
405
460
grunt . registerTask ( 'build' , [
406
461
'clean:dist' ,
407
462
'concat' ,
463
+ 'copy:asset_to_dist' ,
408
464
'uglify' ,
409
465
'cssmin'
410
466
] ) ;
411
467
412
468
grunt . registerTask ( 'test' , [
413
- 'clean:examples_dist' ,
414
469
'copy:target_to_examples' ,
415
470
'copy:target_to_pub'
416
471
] ) ;
417
472
418
473
grunt . registerTask ( 'restore' , [
419
- 'clean:examples_dist' ,
474
+ 'clean:pub_static' ,
475
+ 'copy:release_to_pub' ,
476
+ 'clean:examples_static' ,
420
477
'copy:release_to_examples' ,
421
478
'clean:dist' ,
422
479
'copy:restore'
423
480
] ) ;
424
481
425
482
grunt . registerTask ( 'default' , [
483
+ 'build_components' ,
426
484
'jshint:dist' ,
427
485
'dev' ,
428
486
'restore'
429
487
] ) ;
430
488
431
489
grunt . registerTask ( 'deploy' , [
432
- 'build ' ,
490
+ 'clean:pub_static ' ,
433
491
'copy:dist_to_pub'
434
492
] ) ;
435
493
436
- grunt . registerTask ( 'upstream ' , [
494
+ grunt . registerTask ( 'update ' , [
437
495
'clean:jsComponent' ,
438
- 'clean:cssMoui' ,
439
- 'dispatch'
496
+ 'clean:cssComponent' ,
497
+ 'clean:origin' ,
498
+ 'dispatch' ,
499
+ 'build_components'
440
500
] ) ;
441
501
442
502
grunt . registerTask ( 'publish' , [
503
+ 'build_components' ,
443
504
'jshint:dist' ,
444
505
'dev' ,
445
506
'build' ,
0 commit comments