Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 299 lines (262 sloc) 8.683 kb
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
1 var files = require('./angularFiles').files;
2 var util = require('./lib/grunt/utils.js');
265f0b5 Pete Bacon Darwin fix(build): get promise A+ tests to run on windows
petebacondarwin authored
3 var path = require('path');
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
4
5 module.exports = function(grunt) {
6 //grunt plugins
e7ac7aa PatrickJS chore(Gruntfile.js, package.json): use load-grunt-tasks and move grunt-c...
gdi2290 authored
7 require('load-grunt-tasks')(grunt);
8
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
9 grunt.loadTasks('lib/grunt');
10
11 var NG_VERSION = util.getVersion();
8a96393 Dave Geddes chore(Grunt): don't remove root dir from zip
geddski authored
12 var dist = 'angular-'+ NG_VERSION.full;
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
13
14
15 //global beforeEach
16 util.init();
17
18
19 //config
20 grunt.initConfig({
21 NG_VERSION: NG_VERSION,
22
2c2adbc Vojta Jina chore(travis): speed up the build
vojtajina authored
23 parallel: {
24 travis: {
25 tasks: [
b72ea59 Pete Bacon Darwin chore(docs-app): re-activate docs-app test tasks
petebacondarwin authored
26 util.parallelTask(['test:unit', 'test:promises-aplus', 'tests:docs'], {stream: true}),
7909ebe Vojta Jina chore: run more browsers on Travis (IE8,IE9,IE10,Safari,FF)
vojtajina authored
27 util.parallelTask(['test:e2e'])
2c2adbc Vojta Jina chore(travis): speed up the build
vojtajina authored
28 ]
29 }
30 },
31
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
32 connect: {
33 devserver: {
34 options: {
35 port: 8000,
5fd39e0 Igor Minar chore(Gruntfile): run webserver on 0.0.0.0
IgorMinar authored
36 hostname: '0.0.0.0',
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
37 base: '.',
38 keepalive: true,
39 middleware: function(connect, options){
40 return [
41 //uncomment to enable CSP
42 // util.csp(),
43 util.rewrite(),
44 connect.favicon('images/favicon.ico'),
45 connect.static(options.base),
46 connect.directory(options.base)
47 ];
48 }
49 }
50 },
2c2adbc Vojta Jina chore(travis): speed up the build
vojtajina authored
51 testserver: {
52 options: {
b73c46c Vojta Jina chore: fix Travis build
vojtajina authored
53 // We use end2end task (which does not start the webserver)
54 // and start the webserver as a separate process (in travis_build.sh)
55 // to avoid https://github.com/joyent/libuv/issues/826
56 port: 8000,
57 hostname: '0.0.0.0',
2c2adbc Vojta Jina chore(travis): speed up the build
vojtajina authored
58 middleware: function(connect, options){
59 return [
60 function(req, resp, next) {
61 // cache get requests to speed up tests on travis
62 if (req.method === 'GET') {
63 resp.setHeader('Cache-control', 'public, max-age=3600');
64 }
65
66 next();
67 },
68 connect.favicon('images/favicon.ico'),
69 connect.static(options.base)
70 ];
71 }
72 }
73 }
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
74 },
75
76
05b41ee Matias Niemelä fix(grunt): ensure all dependent tasks are called for all test task
matsko authored
77 tests: {
c2e215f Vojta Jina chore: use Karma
vojtajina authored
78 jqlite: 'karma-jqlite.conf.js',
79 jquery: 'karma-jquery.conf.js',
b72ea59 Pete Bacon Darwin chore(docs-app): re-activate docs-app test tasks
petebacondarwin authored
80 docs: 'karma-docs.conf.js',
7aef2d5 Julie Ralph test(docs): convert example end to end doc tests from scenario runner to...
juliemr authored
81 modules: 'karma-modules.conf.js'
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
82 },
83
84
85 autotest: {
c2e215f Vojta Jina chore: use Karma
vojtajina authored
86 jqlite: 'karma-jqlite.conf.js',
63c1e5b Igor Minar chore(grunt): add autotest:modules target
IgorMinar authored
87 jquery: 'karma-jquery.conf.js',
77c4fc6 Matias Niemelä chore(ngdocs): setup karma-docs testing suite to test docs components
matsko authored
88 modules: 'karma-modules.conf.js',
b72ea59 Pete Bacon Darwin chore(docs-app): re-activate docs-app test tasks
petebacondarwin authored
89 docs: 'karma-docs.conf.js'
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
90 },
91
92
84467d8 Julie Ralph refactor(testing): run end to end tests on separate browsers in parallel
juliemr authored
93 protractor: {
0e85ca9 Julie Ralph chore(testing): run end to end tests on firefox and safari as well as ch...
juliemr authored
94 normal: 'protractor-conf.js',
39c82f3 Julie Ralph chore(travis): reorganize protractor configs to group by spec instead of...
juliemr authored
95 travis: 'protractor-travis-conf.js',
0e85ca9 Julie Ralph chore(testing): run end to end tests on firefox and safari as well as ch...
juliemr authored
96 jenkins: 'protractor-jenkins-conf.js'
2ed4ad5 Julie Ralph feat(build): add a grunt test for running protractor tests extracted fro...
juliemr authored
97 },
98
99
e848099 James Talmage chore(tests): add Promises/A+ Test Suite to the build
jamestalmage authored
100 clean: {
101 build: ['build'],
102 tmp: ['tmp']
103 },
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
104
934a95d Pete Bacon Darwin chore(grunt): add jshint tasks
petebacondarwin authored
105 jshint: {
05ef1bd chore(grunt): update to latest jshint task
James Brewer authored
106 options: {
107 jshintrc: true,
108 },
934a95d Pete Bacon Darwin chore(grunt): add jshint tasks
petebacondarwin authored
109 ng: {
110 files: { src: files['angularSrc'] },
111 },
112 ngAnimate: {
113 files: { src: 'src/ngAnimate/**/*.js' },
114 },
115 ngCookies: {
116 files: { src: 'src/ngCookies/**/*.js' },
117 },
118 ngLocale: {
119 files: { src: 'src/ngLocale/**/*.js' },
120 },
121 ngMock: {
122 files: { src: 'src/ngMock/**/*.js' },
123 },
124 ngResource: {
125 files: { src: 'src/ngResource/**/*.js' },
126 },
127 ngRoute: {
128 files: { src: 'src/ngRoute/**/*.js' },
129 },
130 ngSanitize: {
131 files: { src: 'src/ngSanitize/**/*.js' },
132 },
133 ngScenario: {
134 files: { src: 'src/ngScenario/**/*.js' },
135 },
136 ngTouch: {
137 files: { src: 'src/ngTouch/**/*.js' },
138 }
139 },
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
140
7f4edaf Igor Minar chore(build): add jscs code style check to our build
IgorMinar authored
141 jscs: {
142 src: ['src/**/*.js', 'test/**/*.js'],
143 options: {
144 config: ".jscs.json"
145 }
146 },
147
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
148 build: {
149 scenario: {
150 dest: 'build/angular-scenario.js',
151 src: [
576269b Ken Sheedlo fix(bower): update bower usage and resources
ksheedlo authored
152 'bower_components/jquery/jquery.js',
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
153 util.wrap([files['angularSrc'], files['angularScenario']], 'ngScenario/angular')
154 ],
155 styles: {
156 css: ['css/angular.css', 'css/angular-scenario.css']
157 }
158 },
159 angular: {
160 dest: 'build/angular.js',
161 src: util.wrap([files['angularSrc']], 'angular'),
162 styles: {
163 css: ['css/angular.css'],
a86cf20 Tobias Bosch fix: don't inline css in csp mode.
tbosch authored
164 generateCspCssFile: true,
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
165 minify: true
166 }
167 },
168 loader: {
169 dest: 'build/angular-loader.js',
934a95d Pete Bacon Darwin chore(grunt): add jshint tasks
petebacondarwin authored
170 src: util.wrap(files['angularLoader'], 'loader')
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
171 },
94ec84e Brian Ford chore(ngMobile): rename module ngTouch and file to angular-touch.js
btford authored
172 touch: {
173 dest: 'build/angular-touch.js',
934a95d Pete Bacon Darwin chore(grunt): add jshint tasks
petebacondarwin authored
174 src: util.wrap(files['angularModules']['ngTouch'], 'module')
707c65d feat(ngMobile): add ngMobile module with mobile-specific ngClick
Braden Shepherdson authored
175 },
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
176 mocks: {
177 dest: 'build/angular-mocks.js',
5bd6596 David Mosher chore(mocks): wrap angular-mocks.js in closure
davemo authored
178 src: util.wrap(files['angularModules']['ngMock'], 'module'),
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
179 strict: false
180 },
181 sanitize: {
182 dest: 'build/angular-sanitize.js',
934a95d Pete Bacon Darwin chore(grunt): add jshint tasks
petebacondarwin authored
183 src: util.wrap(files['angularModules']['ngSanitize'], 'module')
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
184 },
185 resource: {
186 dest: 'build/angular-resource.js',
934a95d Pete Bacon Darwin chore(grunt): add jshint tasks
petebacondarwin authored
187 src: util.wrap(files['angularModules']['ngResource'], 'module')
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
188 },
81923f1 Matias Niemelä feat(ngAnimate): complete rewrite of animations
matsko authored
189 animate: {
190 dest: 'build/angular-animate.js',
934a95d Pete Bacon Darwin chore(grunt): add jshint tasks
petebacondarwin authored
191 src: util.wrap(files['angularModules']['ngAnimate'], 'module')
81923f1 Matias Niemelä feat(ngAnimate): complete rewrite of animations
matsko authored
192 },
5599b55 Igor Minar refactor($route): pull $route and friends into angular-route.js
IgorMinar authored
193 route: {
194 dest: 'build/angular-route.js',
934a95d Pete Bacon Darwin chore(grunt): add jshint tasks
petebacondarwin authored
195 src: util.wrap(files['angularModules']['ngRoute'], 'module')
5599b55 Igor Minar refactor($route): pull $route and friends into angular-route.js
IgorMinar authored
196 },
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
197 cookies: {
198 dest: 'build/angular-cookies.js',
934a95d Pete Bacon Darwin chore(grunt): add jshint tasks
petebacondarwin authored
199 src: util.wrap(files['angularModules']['ngCookies'], 'module')
e848099 James Talmage chore(tests): add Promises/A+ Test Suite to the build
jamestalmage authored
200 },
201 "promises-aplus-adapter": {
202 dest:'tmp/promises-aplus-adapter++.js',
203 src:['src/ng/q.js','lib/promises-aplus/promises-aplus-test-adapter.js']
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
204 }
205 },
206
207
208 min: {
209 angular: 'build/angular.js',
81923f1 Matias Niemelä feat(ngAnimate): complete rewrite of animations
matsko authored
210 animate: 'build/angular-animate.js',
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
211 cookies: 'build/angular-cookies.js',
212 loader: 'build/angular-loader.js',
94ec84e Brian Ford chore(ngMobile): rename module ngTouch and file to angular-touch.js
btford authored
213 touch: 'build/angular-touch.js',
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
214 resource: 'build/angular-resource.js',
5599b55 Igor Minar refactor($route): pull $route and friends into angular-route.js
IgorMinar authored
215 route: 'build/angular-route.js',
f56125d Matias Niemelä chore(ngdocs): setup bower as the package manager for the docs pages
matsko authored
216 sanitize: 'build/angular-sanitize.js'
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
217 },
218
219
31631b2 Brian Ford chore(build): add check for merge conflicts, ddescribe, and iit
btford authored
220 "ddescribe-iit": {
221 files: [
222 'test/**/*.js',
223 '!test/ngScenario/DescribeSpec.js'
224 ]
225 },
226
227 "merge-conflict": {
228 files: [
229 'src/**/*',
230 'test/**/*',
231 'docs/**/*',
232 'css/**/*'
233 ]
234 },
235
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
236 copy: {
237 i18n: {
238 files: [
239 { src: 'src/ngLocale/**', dest: 'build/i18n/', expand: true, flatten: true }
240 ]
241 }
242 },
243
244
245 compress: {
246 build: {
79a88ec Igor Minar chore(grunt): ensure that grunt uses zip for compression
IgorMinar authored
247 options: {archive: 'build/' + dist +'.zip', mode: 'zip'},
d38d844 Igor Minar chore(Grunt): include dot files in the final zip
IgorMinar authored
248 src: ['**'], cwd: 'build', expand: true, dot: true, dest: dist + '/'
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
249 }
250 },
251
e848099 James Talmage chore(tests): add Promises/A+ Test Suite to the build
jamestalmage authored
252 shell:{
253 "promises-aplus-tests":{
254 options:{
255 //stdout:true,
256 stderr:true,
257 failOnError:true
258 },
265f0b5 Pete Bacon Darwin fix(build): get promise A+ tests to run on windows
petebacondarwin authored
259 command:path.normalize('./node_modules/.bin/promises-aplus-tests tmp/promises-aplus-adapter++.js')
e848099 James Talmage chore(tests): add Promises/A+ Test Suite to the build
jamestalmage authored
260 }
261 },
262
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
263
264 write: {
265 versionTXT: {file: 'build/version.txt', val: NG_VERSION.full},
266 versionJSON: {file: 'build/version.json', val: JSON.stringify(NG_VERSION)}
8c10db3 Tobias Bosch chore(build): automate cutting a release, publishing to bower and to cod...
tbosch authored
267 },
268
269 bump: {
270 options: {
271 files: ['package.json'],
272 commit: false,
273 createTag: false,
274 push: false
275 }
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
276 }
277 });
278
279
280 //alias tasks
b72ea59 Pete Bacon Darwin chore(docs-app): re-activate docs-app test tasks
petebacondarwin authored
281 grunt.registerTask('test', 'Run unit, docs and e2e tests with Karma', ['jshint', 'package','test:unit','test:promises-aplus', 'tests:docs', 'test:protractor']);
953fa4c Matias Niemelä chore(grunt): fix up the help text for the new test commands
matsko authored
282 grunt.registerTask('test:jqlite', 'Run the unit tests with Karma' , ['tests:jqlite']);
283 grunt.registerTask('test:jquery', 'Run the jQuery unit tests with Karma', ['tests:jquery']);
284 grunt.registerTask('test:modules', 'Run the Karma module tests with Karma', ['tests:modules']);
b72ea59 Pete Bacon Darwin chore(docs-app): re-activate docs-app test tasks
petebacondarwin authored
285 grunt.registerTask('test:docs', 'Run the doc-page tests with Karma', ['package', 'tests:docs']);
953fa4c Matias Niemelä chore(grunt): fix up the help text for the new test commands
matsko authored
286 grunt.registerTask('test:unit', 'Run unit, jQuery and Karma module tests with Karma', ['tests:jqlite', 'tests:jquery', 'tests:modules']);
84467d8 Julie Ralph refactor(testing): run end to end tests on separate browsers in parallel
juliemr authored
287 grunt.registerTask('test:protractor', 'Run the end to end tests with Protractor and keep a test server running in the background', ['webdriver', 'connect:testserver', 'protractor:normal']);
39c82f3 Julie Ralph chore(travis): reorganize protractor configs to group by spec instead of...
juliemr authored
288 grunt.registerTask('test:travis-protractor', 'Run the end to end tests with Protractor for Travis CI builds', ['connect:testserver', 'protractor:travis']);
289 grunt.registerTask('test:ci-protractor', 'Run the end to end tests with Protractor for Jenkins CI builds', ['webdriver', 'connect:testserver', 'protractor:jenkins']);
7aef2d5 Julie Ralph test(docs): convert example end to end doc tests from scenario runner to...
juliemr authored
290 grunt.registerTask('test:e2e', 'Alias for test:protractor', ['test:protractor']);
e848099 James Talmage chore(tests): add Promises/A+ Test Suite to the build
jamestalmage authored
291 grunt.registerTask('test:promises-aplus',['build:promises-aplus-adapter','shell:promises-aplus-tests']);
05b41ee Matias Niemelä fix(grunt): ensure all dependent tasks are called for all test task
matsko authored
292
aa5a162 Ken Sheedlo chore(bower): write grunt task for running bower
ksheedlo authored
293 grunt.registerTask('minify', ['bower','clean', 'build', 'minall']);
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
294 grunt.registerTask('webserver', ['connect:devserver']);
aa5a162 Ken Sheedlo chore(bower): write grunt task for running bower
ksheedlo authored
295 grunt.registerTask('package', ['bower','clean', 'buildall', 'minall', 'collect-errors', 'docs', 'copy', 'write', 'compress']);
7f4edaf Igor Minar chore(build): add jscs code style check to our build
IgorMinar authored
296 grunt.registerTask('ci-checks', ['ddescribe-iit', 'merge-conflict', 'jshint', 'jscs']);
79b51d5 Dave Geddes chore(Grunt): switch from Rake to Grunt
geddski authored
297 grunt.registerTask('default', ['package']);
298 };
Something went wrong with that request. Please try again.