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