1
+ var serveStatic = require ( "serve-static" ) ;
2
+
1
3
module . exports = function ( grunt ) {
4
+ grunt . loadNpmTasks ( "dgeni-alive" ) ;
2
5
grunt . loadNpmTasks ( "grunt-bump" ) ;
3
6
grunt . loadNpmTasks ( "grunt-contrib-clean" ) ;
4
7
grunt . loadNpmTasks ( "grunt-contrib-concat" ) ;
@@ -9,8 +12,12 @@ module.exports = function (grunt) {
9
12
grunt . loadNpmTasks ( "grunt-jscs" ) ;
10
13
grunt . loadNpmTasks ( "grunt-karma" ) ;
11
14
grunt . loadNpmTasks ( "grunt-ng-annotate" ) ;
15
+ grunt . loadNpmTasks ( "grunt-protractor-runner" ) ;
16
+ grunt . loadNpmTasks ( "grunt-shell" ) ;
12
17
13
18
grunt . initConfig ( {
19
+ pkg : grunt . file . readJSON ( "package.json" ) ,
20
+
14
21
jshint : {
15
22
all : [ "Gruntfile.js" , "{src,test}/**/*.js" , "!src/plural.js" ] ,
16
23
options : {
@@ -55,15 +62,15 @@ module.exports = function (grunt) {
55
62
} ,
56
63
all : {
57
64
files : [ "src/**.js" , "test/*/*" ] ,
58
- tasks : [ "build" , "karma:unit:run" , "karma:unit_nojquery:run" , "karma:e2e:run " ]
65
+ tasks : [ "build" , "karma:unit:run" , "karma:unit_nojquery:run" , "protractor:dev " ]
59
66
} ,
60
67
unit : {
61
68
files : [ "src/**.js" , "test/unit/*" ] ,
62
69
tasks : [ "build" , "karma:unit:run" , "karma:unit_nojquery:run" ]
63
70
} ,
64
71
e2e : {
65
72
files : [ "src/**.js" , "test/{e2e,fixtures}/*" ] ,
66
- tasks : [ "build" , "karma:e2e:run " ]
73
+ tasks : [ "build" , "protractor:dev " ]
67
74
}
68
75
} ,
69
76
@@ -80,10 +87,8 @@ module.exports = function (grunt) {
80
87
options : {
81
88
port : 9000 ,
82
89
hostname : "0.0.0.0" ,
83
- middleware : function ( connect ) {
84
- return [
85
- connect [ "static" ] ( __dirname )
86
- ] ;
90
+ middleware : function ( ) {
91
+ return [ serveStatic ( __dirname ) ] ;
87
92
}
88
93
}
89
94
}
@@ -104,32 +109,34 @@ module.exports = function (grunt) {
104
109
configFile : "test/configs/unit.conf.js" ,
105
110
browsers : [ "Firefox" , "PhantomJS" ] ,
106
111
singleRun : true ,
107
- reporters : [ "dots" , "junit" ] ,
108
- junitReporter : {
109
- outputFile : "unit-results.xml"
110
- }
112
+ reporters : [ "dots" ]
111
113
} ,
112
114
unitci_nojquery : {
113
115
configFile : "test/configs/unit-nojquery.conf.js" ,
114
116
browsers : [ "Firefox" , "PhantomJS" ] ,
115
117
singleRun : true ,
116
- reporters : [ "dots" , "junit" ] ,
117
- junitReporter : {
118
- outputFile : "unit-results.xml"
119
- }
118
+ reporters : [ "dots" ]
119
+ }
120
+ } ,
121
+
122
+ protractor : {
123
+ options : {
124
+ noColor : false ,
125
+ configFile : "test/configs/e2e.conf.js"
120
126
} ,
121
- e2e : {
122
- configFile : "test/configs/e2e.conf.js" ,
123
- browsers : [ "PhantomJS" ] ,
124
- background : true
127
+ dev : {
128
+ options : {
129
+ keepAlive : true ,
130
+ args : {
131
+ directConnect : true
132
+ }
133
+ }
125
134
} ,
126
- e2eci : {
127
- configFile : "test/configs/e2e.conf.js" ,
128
- browsers : [ "Firefox" , "PhantomJS" ] ,
129
- singleRun : true ,
130
- reporters : [ "dots" , "junit" ] ,
131
- junitReporter : {
132
- outputFile : "e2e-results.xml"
135
+ ci : {
136
+ options : {
137
+ args : {
138
+ browser : "firefox"
139
+ }
133
140
}
134
141
}
135
142
} ,
@@ -140,13 +147,41 @@ module.exports = function (grunt) {
140
147
commitFiles : [ "-a" ] ,
141
148
pushTo : "origin"
142
149
}
150
+ } ,
151
+
152
+ shell : {
153
+ protractor_update : {
154
+ command : "./node_modules/.bin/webdriver-manager update" ,
155
+ options : {
156
+ stdout : true
157
+ }
158
+ }
159
+ } ,
160
+
161
+ "dgeni-alive" : {
162
+ options : {
163
+ serve : {
164
+ port : "10000" ,
165
+ openBrowser : true
166
+ }
167
+ } ,
168
+ api : {
169
+ title : "<%= pkg.title %>" ,
170
+ version : "<%= pkg.version %>" ,
171
+ expand : false ,
172
+ src : [
173
+ "src/**/*.js" ,
174
+ "docs/**/*.ngdoc"
175
+ ] ,
176
+ dest : "dist/docs"
177
+ }
143
178
}
144
179
} ) ;
145
180
146
181
grunt . registerTask ( "default" , [ "test" ] ) ;
147
182
grunt . registerTask ( "build" , [ "clean" , "jshint" , "jscs" , "concat" , "ngAnnotate" , "uglify" ] ) ;
148
- grunt . registerTask ( "test" , [ "build" , "connect:e2e" , "karma:unit" , "karma:unit_nojquery" , "karma:e2e " , "watch:all" ] ) ;
149
- grunt . registerTask ( "test_unit" , [ "build" , "karma:unit" , "karma:unit_nojquery" , "watch:unit" ] ) ;
150
- grunt . registerTask ( "test_e2e" , [ "build" , "connect:e2e" , "karma:e2e " , "watch:e2e" ] ) ;
151
- grunt . registerTask ( "ci" , [ "build" , "karma:unitci" , "karma:unitci_nojquery" , "connect:e2e" , "karma:e2eci " ] ) ;
183
+ grunt . registerTask ( "test" , [ "build" , "shell:protractor_update" , " connect:e2e", "karma:unit" , "karma:unit_nojquery" , "protractor:dev " , "watch:all" ] ) ;
184
+ grunt . registerTask ( "test_unit" , [ "build" , "shell:protractor_update" , " karma:unit", "karma:unit_nojquery" , "watch:unit" ] ) ;
185
+ grunt . registerTask ( "test_e2e" , [ "build" , "shell:protractor_update" , " connect:e2e", "protractor:dev " , "watch:e2e" ] ) ;
186
+ grunt . registerTask ( "ci" , [ "build" , "shell:protractor_update" , " karma:unitci", "karma:unitci_nojquery" , "connect:e2e" , "protractor:ci " ] ) ;
152
187
} ;
0 commit comments