|
1 |
| -module.exports = function(grunt) { |
2 |
| - |
3 |
| - require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); |
4 |
| - var fs = require('fs'), |
5 |
| - saucelabsConfig = fs.existsSync('saucelabs.json') && grunt.file.readJSON('saucelabs.json'); |
6 |
| - |
7 |
| - grunt.initConfig({ |
8 |
| - pkg: grunt.file.readJSON('package.json'), |
9 |
| - shell: { |
10 |
| - options: { |
11 |
| - stdout: true |
12 |
| - }, |
13 |
| - selenium: { |
14 |
| - command: 'node_modules/protractor/bin/webdriver-manager start', |
15 |
| - options: { |
16 |
| - stdout: false, |
17 |
| - async: true |
18 |
| - } |
19 |
| - }, |
20 |
| - protractor_update: { |
21 |
| - command: 'node_modules/protractor/bin/webdriver-manager update' |
22 |
| - }, |
23 |
| - npm_install: { |
24 |
| - command: 'npm install' |
25 |
| - } |
26 |
| - }, |
27 |
| - |
28 |
| - changelog: {}, |
29 |
| - |
30 |
| - bump: { |
31 |
| - options: { |
32 |
| - files: ['package.json'], |
33 |
| - updateConfigs: [], |
34 |
| - commit: true, |
35 |
| - commitMessage: 'Release v%VERSION%', |
36 |
| - commitFiles: ['package.json'], |
37 |
| - createTag: true, |
38 |
| - tagName: 'v%VERSION%', |
39 |
| - tagMessage: 'Version %VERSION%', |
40 |
| - push: true, |
41 |
| - pushTo: 'origin', |
42 |
| - gitDescribeOptions: '--tags --always --abbrev=1 --dirty=-d' |
43 |
| - } |
44 |
| - }, |
45 |
| - |
46 |
| - connect: { |
47 |
| - options: { |
48 |
| - base: '' |
49 |
| - }, |
50 |
| - webserver: { |
51 |
| - options: { |
52 |
| - port: 8888, |
53 |
| - keepalive: true |
54 |
| - } |
55 |
| - }, |
56 |
| - devserver: { |
57 |
| - options: { |
58 |
| - port: 8888 |
59 |
| - } |
60 |
| - }, |
61 |
| - testserver: { |
62 |
| - options: { |
63 |
| - port: 9999 |
64 |
| - } |
65 |
| - }, |
66 |
| - coverage: { |
67 |
| - options: { |
68 |
| - base: 'coverage/', |
69 |
| - directory: 'coverage/', |
70 |
| - port: 5555, |
71 |
| - keepalive: true |
72 |
| - } |
73 |
| - } |
74 |
| - }, |
75 |
| - |
76 |
| - protractor: { |
77 |
| - options: { |
78 |
| - keepAlive: true, |
79 |
| - configFile: "test/protractor.conf.js" |
80 |
| - }, |
81 |
| - singlerun: {}, |
82 |
| - saucelabs: { |
83 |
| - options: { |
84 |
| - args: saucelabsConfig |
85 |
| - } |
86 |
| - }, |
87 |
| - auto: { |
88 |
| - keepAlive: true, |
89 |
| - options: { |
90 |
| - args: { |
91 |
| - seleniumPort: 4444 |
92 |
| - } |
93 |
| - } |
94 |
| - } |
95 |
| - }, |
96 |
| - |
97 |
| - uglify: { |
98 |
| - options: { |
99 |
| - banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n' |
100 |
| - }, |
101 |
| - dist: { |
102 |
| - files: { |
103 |
| - 'dist/<%= pkg.name %>.min.no-header.js': ['dist/angular-openlayers-directive.ngmin.js'] |
104 |
| - } |
105 |
| - } |
106 |
| - }, |
107 |
| - |
108 |
| - ngmin: { |
109 |
| - directives: { |
110 |
| - expand: true, |
111 |
| - cwd: 'dist', |
112 |
| - src: ['angular-openlayers-directive.js'], |
113 |
| - dest: 'dist', |
114 |
| - ext: '.ngmin.js', |
115 |
| - flatten: 'src/' |
116 |
| - } |
117 |
| - }, |
118 |
| - |
119 |
| - jshint: { |
120 |
| - options: { |
121 |
| - node: true, |
122 |
| - browser: true, |
123 |
| - esnext: true, |
124 |
| - bitwise: true, |
125 |
| - curly: true, |
126 |
| - eqeqeq: true, |
127 |
| - immed: true, |
128 |
| - indent: 4, |
129 |
| - latedef: true, |
130 |
| - newcap: true, |
131 |
| - noarg: true, |
132 |
| - regexp: true, |
133 |
| - undef: true, |
134 |
| - unused: true, |
135 |
| - trailing: true, |
136 |
| - smarttabs: true, |
137 |
| - globals: { |
138 |
| - angular: false, |
139 |
| - OpenLayers: false, |
140 |
| - // Jasmine |
141 |
| - jasmine : false, |
142 |
| - isCommonJS : false, |
143 |
| - exports : false, |
144 |
| - spyOn : false, |
145 |
| - it : false, |
146 |
| - xit : false, |
147 |
| - expect : false, |
148 |
| - runs : false, |
149 |
| - waits : false, |
150 |
| - waitsFor : false, |
151 |
| - beforeEach : false, |
152 |
| - afterEach : false, |
153 |
| - describe : false, |
154 |
| - xdescribe : false, |
155 |
| - |
156 |
| - // Protractor |
157 |
| - protractor: false, |
158 |
| - browser: false, |
159 |
| - by: false, |
160 |
| - element: false |
161 |
| - |
162 |
| - } |
163 |
| - }, |
164 |
| - source: { |
165 |
| - src: ['src/directives/*.js', 'src/services/*.js'] |
166 |
| - }, |
167 |
| - tests: { |
168 |
| - src: ['test/unit/*.js', 'test/e2e/*.js'], |
169 |
| - }, |
170 |
| - grunt: { |
171 |
| - src: ['Gruntfile.js'] |
172 |
| - } |
173 |
| - }, |
174 |
| - |
175 |
| - karma: { |
176 |
| - unit: { |
177 |
| - configFile: 'test/karma-unit.conf.js', |
178 |
| - autoWatch: false, |
179 |
| - singleRun: true |
180 |
| - }, |
181 |
| - unit_auto: { |
182 |
| - configFile: 'test/karma-unit.conf.js', |
183 |
| - autoWatch: true, |
184 |
| - singleRun: false |
185 |
| - }, |
186 |
| - unit_coverage: { |
187 |
| - configFile: 'test/karma-unit.conf.js', |
188 |
| - autoWatch: false, |
189 |
| - singleRun: true, |
190 |
| - //logLevel: 'DEBUG', |
191 |
| - reporters: ['progress', 'coverage'], |
192 |
| - preprocessors: { |
193 |
| - 'dist/angular-openlayers-directive.js': ['coverage'] |
194 |
| - }, |
195 |
| - coverageReporter: { |
196 |
| - type : 'html', |
197 |
| - dir : 'coverage/' |
198 |
| - } |
199 |
| - } |
200 |
| - }, |
201 |
| - |
202 |
| - watch: { |
203 |
| - options : { |
204 |
| - livereload: 7777 |
205 |
| - }, |
206 |
| - source: { |
207 |
| - files: ['src/**/*.js', 'test/unit/**'], |
208 |
| - tasks: [ |
209 |
| - 'jshint', |
210 |
| - 'concat:dist', |
211 |
| - 'ngmin', |
212 |
| - 'uglify', |
213 |
| - 'test:unit', |
214 |
| - 'concat:license' |
215 |
| - ] |
216 |
| - }, |
217 |
| - protractor: { |
218 |
| - files: ['src/**/*.js','test/e2e/**/*.js'], |
219 |
| - tasks: ['protractor:auto'] |
220 |
| - } |
221 |
| - }, |
222 |
| - |
223 |
| - open: { |
224 |
| - devserver: { |
225 |
| - path: 'http://localhost:8888' |
226 |
| - }, |
227 |
| - coverage: { |
228 |
| - path: 'http://localhost:5555' |
229 |
| - } |
230 |
| - }, |
231 |
| - |
232 |
| - bower: { |
233 |
| - install: { |
234 |
| - // options: { |
235 |
| - // targetDir: './bower_components', |
236 |
| - // cleanup: true |
237 |
| - // } |
238 |
| - } |
239 |
| - }, |
240 |
| - |
241 |
| - concat: { |
242 |
| - dist: { |
243 |
| - options: { |
244 |
| - banner: '(function() {\n\n"use strict";\n\n', |
245 |
| - footer: '\n}());' |
246 |
| - }, |
247 |
| - src: [ |
248 |
| - 'src/directives/openlayers.js', |
249 |
| - 'src/directives/center.js', |
250 |
| - //'src/directives/tiles.js', |
251 |
| - //'src/directives/legend.js', |
252 |
| - //'src/directives/geojson.js', |
253 |
| - //'src/directives/layers.js', |
254 |
| - //'src/directives/bounds.js', |
255 |
| - //'src/directives/markers.js', |
256 |
| - //'src/directives/paths.js', |
257 |
| - //'src/directives/controls.js', |
258 |
| - //'src/directives/eventBroadcast.js', |
259 |
| - //'src/directives/maxBounds.js', |
260 |
| - 'src/services/*.js' |
261 |
| - ], |
262 |
| - dest: 'dist/angular-openlayers-directive.js', |
263 |
| - }, |
264 |
| - license: { |
265 |
| - src: [ |
266 |
| - 'src/header-MIT-license.txt', |
267 |
| - 'dist/angular-openlayers-directive.min.no-header.js' |
268 |
| - ], |
269 |
| - dest: 'dist/angular-openlayers-directive.min.js', |
270 |
| - }, |
271 |
| - } |
272 |
| - }); |
273 |
| - |
274 |
| - //single run tests |
275 |
| - grunt.registerTask('test', ['jshint','test:unit', 'test:e2e']); |
276 |
| - grunt.registerTask('test:unit', ['karma:unit']); |
277 |
| - grunt.registerTask('test:e2e', ['shell:protractor_update', 'connect:testserver', 'protractor:singlerun']); |
278 |
| - |
279 |
| - //autotest and watch tests |
280 |
| - grunt.registerTask('autotest', ['karma:unit_auto']); |
281 |
| - grunt.registerTask('autotest:unit', ['karma:unit_auto']); |
282 |
| - grunt.registerTask('autotest:e2e', ['connect:testserver', 'shell:selenium', 'watch:protractor']); |
283 |
| - |
284 |
| - //coverage testing |
285 |
| - grunt.registerTask('test:coverage', ['karma:unit_coverage']); |
286 |
| - grunt.registerTask('coverage', ['karma:unit_coverage', 'open:coverage', 'connect:coverage']); |
287 |
| - |
288 |
| - //installation-related |
289 |
| - grunt.registerTask('install', ['shell:npm_install', 'bower:install', 'shell:protractor_update']); |
290 |
| - |
291 |
| - //defaults |
292 |
| - grunt.registerTask('default', ['watch:source']); |
293 |
| - |
294 |
| - //development |
295 |
| - grunt.registerTask('dev', ['connect:devserver', 'open:devserver', 'watch:source']); |
296 |
| - |
297 |
| - //server daemon |
298 |
| - grunt.registerTask('serve', ['connect:webserver']); |
299 |
| - |
300 |
| - //travis |
301 |
| - grunt.registerTask('travis', 'bower:install', 'test:unit'); |
| 1 | +module.exports = function (grunt) { |
| 2 | + require('load-grunt-config')(grunt); |
302 | 3 | };
|
0 commit comments