-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathGruntfile.js
125 lines (106 loc) · 2.17 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/* eslint-env node */
/* jshint node:true */
module.exports = function( grunt ) {
grunt.initConfig( {
pkg: grunt.file.readJSON( 'package.json' ),
// JavaScript linting with JSHint.
jshint: {
options: {
jshintrc: '.jshintrc'
},
all: [
'Gruntfile.js',
'js/*.js',
'!js/*.min.js'
]
},
// Build a deploy-able plugin
copy: {
build: {
src: [
'*.php',
'css/*',
'js/*',
'php/*',
'core-adapter-widgets/**',
'post-collection-widget/**',
'readme.txt'
],
dest: 'build',
expand: true,
dot: true
}
},
// Clean up the build
clean: {
build: {
src: [ 'build' ]
}
},
// VVV (Varying Vagrant Vagrants) Paths
vvv: {
'plugin': '/srv/www/wordpress-develop/src/wp-content/plugins/<%= pkg.name %>',
'coverage': '/srv/www/default/coverage/<%= pkg.name %>'
},
// Shell actions
shell: {
options: {
stdout: true,
stderr: true
},
readme: {
command: 'cd ./dev-lib && ./generate-markdown-readme' // Generate the readme.md
},
phpunit: {
command: 'vagrant ssh -c "cd <%= vvv.plugin %> && phpunit"'
},
phpunit_c: {
command: 'vagrant ssh -c "cd <%= vvv.plugin %> && phpunit --coverage-html <%= vvv.coverage %>"'
}
},
// Deploys a git Repo to the WordPress SVN repo
wp_deploy: {
deploy: {
options: {
plugin_slug: '<%= pkg.name %>',
build_dir: 'build',
assets_dir: 'wp-assets'
}
}
}
} );
// Load tasks
grunt.loadNpmTasks( 'grunt-contrib-clean' );
grunt.loadNpmTasks( 'grunt-contrib-copy' );
grunt.loadNpmTasks( 'grunt-contrib-jshint' );
grunt.loadNpmTasks( 'grunt-shell' );
grunt.loadNpmTasks( 'grunt-wp-deploy' );
grunt.loadNpmTasks( 'grunt-contrib-watch' );
// Register tasks
grunt.registerTask( 'default', [
'build'
] );
grunt.registerTask( 'readme', [
'shell:readme'
] );
grunt.registerTask( 'phpunit', [
'shell:phpunit'
] );
grunt.registerTask( 'phpunit_c', [
'shell:phpunit_c'
] );
grunt.registerTask( 'dev', [
'default',
'readme'
] );
grunt.registerTask( 'build', [
'jshint',
'readme',
'copy'
] );
grunt.registerTask( 'deploy', [
'build',
'wp_deploy',
'clean'
] );
};