1+ var serveStatic = require ( "serve-static" ) ;
2+
13module . exports = function ( grunt ) {
4+ grunt . loadNpmTasks ( "dgeni-alive" ) ;
25 grunt . loadNpmTasks ( "grunt-bump" ) ;
36 grunt . loadNpmTasks ( "grunt-contrib-clean" ) ;
47 grunt . loadNpmTasks ( "grunt-contrib-concat" ) ;
@@ -9,8 +12,12 @@ module.exports = function (grunt) {
912 grunt . loadNpmTasks ( "grunt-jscs" ) ;
1013 grunt . loadNpmTasks ( "grunt-karma" ) ;
1114 grunt . loadNpmTasks ( "grunt-ng-annotate" ) ;
15+ grunt . loadNpmTasks ( "grunt-protractor-runner" ) ;
16+ grunt . loadNpmTasks ( "grunt-shell" ) ;
1217
1318 grunt . initConfig ( {
19+ pkg : grunt . file . readJSON ( "package.json" ) ,
20+
1421 jshint : {
1522 all : [ "Gruntfile.js" , "{src,test}/**/*.js" , "!src/plural.js" ] ,
1623 options : {
@@ -55,15 +62,15 @@ module.exports = function (grunt) {
5562 } ,
5663 all : {
5764 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 " ]
5966 } ,
6067 unit : {
6168 files : [ "src/**.js" , "test/unit/*" ] ,
6269 tasks : [ "build" , "karma:unit:run" , "karma:unit_nojquery:run" ]
6370 } ,
6471 e2e : {
6572 files : [ "src/**.js" , "test/{e2e,fixtures}/*" ] ,
66- tasks : [ "build" , "karma:e2e:run " ]
73+ tasks : [ "build" , "protractor:dev " ]
6774 }
6875 } ,
6976
@@ -80,10 +87,8 @@ module.exports = function (grunt) {
8087 options : {
8188 port : 9000 ,
8289 hostname : "0.0.0.0" ,
83- middleware : function ( connect ) {
84- return [
85- connect [ "static" ] ( __dirname )
86- ] ;
90+ middleware : function ( ) {
91+ return [ serveStatic ( __dirname ) ] ;
8792 }
8893 }
8994 }
@@ -104,32 +109,34 @@ module.exports = function (grunt) {
104109 configFile : "test/configs/unit.conf.js" ,
105110 browsers : [ "Firefox" , "PhantomJS" ] ,
106111 singleRun : true ,
107- reporters : [ "dots" , "junit" ] ,
108- junitReporter : {
109- outputFile : "unit-results.xml"
110- }
112+ reporters : [ "dots" ]
111113 } ,
112114 unitci_nojquery : {
113115 configFile : "test/configs/unit-nojquery.conf.js" ,
114116 browsers : [ "Firefox" , "PhantomJS" ] ,
115117 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"
120126 } ,
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+ }
125134 } ,
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+ }
133140 }
134141 }
135142 } ,
@@ -140,13 +147,41 @@ module.exports = function (grunt) {
140147 commitFiles : [ "-a" ] ,
141148 pushTo : "origin"
142149 }
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+ }
143178 }
144179 } ) ;
145180
146181 grunt . registerTask ( "default" , [ "test" ] ) ;
147182 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 " ] ) ;
152187} ;
0 commit comments