-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
91 lines (84 loc) · 1.72 KB
/
Gruntfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
'use strict';
module.exports = function (grunt) {
require('time-grunt')(grunt);
require('load-grunt-tasks')(grunt, {
scope: 'devDependencies',
config: 'package.json',
pattern: ['grunt-*']
});
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
shell: {
installComposer: {
command: 'curl -sS https://getcomposer.org/installer | php',
options: {
stdout: true
}
},
phpdoc: {
command: 'vendor/bin/phpdoc -d src/ -t doc',
options: {
stdout: true
}
},
phpcpd: {
command: 'vendor/bin/phpcpd src/',
options: {
stdout: true
}
}
},
phpunit: {
classes: {
dir: 'tests/'
},
options: {
bin: 'vendor/bin/phpunit',
//bootstrap: 'tests/php/phpunit.php',
colors: true,
configuration: 'phpunit.xml'
}
},
phplint: {
options: {
phpCmd: '/usr/bin/php', // Or 'c:\EasyPHP-5.3.8.1\PHP.exe'
phpArgs: {
'-l': null
},
spawnLimit: 10,
swapPath: '_lint/tmp'
},
good: ['src/*.php'],
bad: ['src/*.php']
},
version: {
php: {
options: {
prefix: '@version\\s*'
},
src: ['src/**/*.php']
},
json: {
options: {
prefix: '"version":\\s"*'
},
src: ['composer.json']
}
}
});
// Register tasks
grunt.registerTask('init', [
'shell:installComposer'
]);
grunt.registerTask('build', [
'version:php',
'version:json',
'phplint:good',
'phpunit',
'shell:phpdoc',
'shell:phpcpd'
]);
grunt.registerTask('serve', [
'build'
]);
};