1
+ module . exports = function ( grunt ) {
2
+ //Initializing the configuration object
3
+ grunt . initConfig ( {
4
+ //Style
5
+ less : {
6
+ devDark : {
7
+ options : {
8
+ paths : [ "assets/css" ] ,
9
+ modifyVars : {
10
+ offset : "#000000"
11
+ }
12
+ } ,
13
+ files : {
14
+ "OpenNote/openNote/style/invert/dark/style.css" : "OpenNote/openNote/style/invert/style.less" ,
15
+ "OpenNote/openNote/style/invert/dark/note.css" : "OpenNote/openNote/style/invert/note.less" ,
16
+ "OpenNote/openNote/style/invert/dark/alertify.css" : "OpenNote/openNote/style/invert/alertify.less" ,
17
+ "OpenNote/openNote/style/invert/dark/intojs.css" : "OpenNote/openNote/style/invert/introjs.less"
18
+
19
+ }
20
+ } ,
21
+ devLight : {
22
+ options : {
23
+ paths : [ "assets/css" ] ,
24
+ modifyVars : {
25
+ offset : "#FFFFFF"
26
+ }
27
+ } ,
28
+ files : {
29
+ "OpenNote/openNote/style/invert/light/style.css" : "OpenNote/openNote/style/invert/style.less" ,
30
+ "OpenNote/openNote/style/invert/light/note.css" : "OpenNote/openNote/style/invert/note.less" ,
31
+ "OpenNote/openNote/style/invert/light/alertify.css" : "OpenNote/openNote/style/invert/alertify.less" ,
32
+ "OpenNote/openNote/style/invert/light/intojs.css" : "OpenNote/openNote/style/invert/introjs.less"
33
+ }
34
+ } ,
35
+ prodDark : {
36
+ options : {
37
+ paths : [ "assets/css" ] ,
38
+ cleancss : true ,
39
+ modifyVars : {
40
+ offset : "#000000"
41
+ }
42
+ } ,
43
+ files : {
44
+ "OpenNote/openNote/style/invert/dark/style.css" : "OpenNote/openNote/style/invert/style.less" ,
45
+ "OpenNote/openNote/style/invert/dark/note.css" : "OpenNote/openNote/style/invert/note.less" ,
46
+ "OpenNote/openNote/style/invert/dark/alertify.css" : "OpenNote/openNote/style/invert/alertify.less" ,
47
+ "OpenNote/openNote/style/invert/dark/intojs.css" : "OpenNote/openNote/style/invert/introjs.less"
48
+ }
49
+ } ,
50
+ prodLight : {
51
+ options : {
52
+ paths : [ "assets/css" ] ,
53
+ cleancss : true ,
54
+ modifyVars : {
55
+ offset : "#FFFFFF"
56
+ }
57
+ } ,
58
+ files : {
59
+ "OpenNote/openNote/style/invert/light/style.css" : "OpenNote/openNote/style/invert/style.less" ,
60
+ "OpenNote/openNote/style/invert/light/note.css" : "OpenNote/openNote/style/invert/note.less" ,
61
+ "OpenNote/openNote/style/invert/light/alertify.css" : "OpenNote/openNote/style/invert/alertify.less" ,
62
+ "OpenNote/openNote/style/invert/light/intojs.css" : "OpenNote/openNote/style/invert/introjs.less"
63
+ }
64
+ }
65
+ } ,
66
+ //Testing setup
67
+ karma : {
68
+ unit : {
69
+ configFile : "OpenNote.Test/karma.conf.js" ,
70
+ background : true
71
+ } ,
72
+ travis : {
73
+ configFile : "OpenNote.Test/karma.conf.js" ,
74
+ singleRun : true ,
75
+ browsers : [ "PhantomJS" ] //Override config browsers
76
+ }
77
+ } ,
78
+ watch : {
79
+ karma : {
80
+ files : [ "src/**/*.js" , "test/unit/**/*.js" ] ,
81
+ tasks : [ "karma:unit:run" ]
82
+ }
83
+ } ,
84
+ shell : {
85
+ bowerInstall : {
86
+ command : [ "cd OpenNote" ,
87
+ "bower install" ] . join ( "&&" )
88
+ } ,
89
+ clean :{
90
+ command : [ "rm -rf build" ,
91
+ "cd OpenNote" ,
92
+ "rm -rf bower_components" ,
93
+ "cd openNote/style/invert/" ,
94
+ "rm -rf dark" ,
95
+ "rm -rf light" ] . join ( "&&" )
96
+ } ,
97
+ phpPackage :{
98
+ command : [ "mkdir build" ,
99
+ "cd build" ,
100
+ "cp -r ../OpenNote/* ./" ,
101
+ "cp -r ../../OpenNoteService-PHP/Service ./" ,
102
+ "cp -r ../../OpenNoteService-PHP/vendor ./" ] . join ( "&&" )
103
+ }
104
+ }
105
+ } ) ;
106
+
107
+ //Plugin loading
108
+ grunt . loadNpmTasks ( "grunt-contrib-less" ) ;
109
+ grunt . loadNpmTasks ( "grunt-contrib-watch" ) ;
110
+ grunt . loadNpmTasks ( "grunt-karma" ) ;
111
+ grunt . loadNpmTasks ( "grunt-shell" ) ;
112
+
113
+ //Task definition
114
+ //css
115
+ grunt . registerTask ( "buildDevCSS" , [ "less:devDark" , "less:devLight" ] ) ;
116
+ grunt . registerTask ( "buildProdCSS" , [ "less:prodDark" , "less:prodLight" ] ) ;
117
+
118
+ //deployment
119
+ grunt . registerTask ( "clean" , [ "shell:clean" ] ) ;
120
+ grunt . registerTask ( "build" , [ "shell:bowerInstall" , "buildDevCSS" ] ) ;
121
+ grunt . registerTask ( "default" , [ "build" ] ) ;
122
+ grunt . registerTask ( "deploy" , [ "clean" , "shell:bowerInstall" , "buildProdCSS" , "shell:phpPackage" ] ) ;
123
+
124
+ //testing
125
+ grunt . registerTask ( "devmode" , [ "karma:unit" , "watch" ] ) ;
126
+ grunt . registerTask ( "test" , [ "karma:travis" ] )
127
+ grunt . registerTask ( "ci" , [ "build" , "karma:travis" ] )
128
+ } ;
0 commit comments