-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
executable file
·79 lines (72 loc) · 1.58 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
/* jshint node:true */
module.exports = function( grunt ) {
'use strict';
grunt.initConfig({
// gets the package vars
pkg: grunt.file.readJSON( 'package.json' ),
svn_settings: {
path: '../../../../wp_plugins/<%= pkg.name %>',
tag: '<%= svn_settings.path %>/tags/<%= pkg.version %>',
trunk: '<%= svn_settings.path %>/trunk',
exclude: [
'.editorconfig',
'.git/',
'.gitignore',
'.jshintrc',
'node_modules/',
'Gruntfile.js',
'README.md',
'package.json',
'*.zip'
]
},
// rsync commands used to take the files to svn repository
rsync: {
tag: {
src: './',
dest: '<%= svn_settings.tag %>',
recursive: true,
exclude: '<%= svn_settings.exclude %>'
},
trunk: {
src: './',
dest: '<%= svn_settings.trunk %>',
recursive: true,
exclude: '<%= svn_settings.exclude %>'
}
},
// shell command to commit the new version of the plugin
shell: {
svn_add: {
command: 'svn add --force * --auto-props --parents --depth infinity -q',
options: {
stdout: true,
stderr: true,
execOptions: {
cwd: '<%= svn_settings.path %>'
}
}
},
svn_commit: {
command: 'svn commit -m "updated the plugin version to <%= pkg.version %>"',
options: {
stdout: true,
stderr: true,
execOptions: {
cwd: '<%= svn_settings.path %>'
}
}
}
}
});
// load tasks
grunt.loadNpmTasks( 'grunt-rsync' );
grunt.loadNpmTasks( 'grunt-shell' );
// deploy task
grunt.registerTask( 'default', [
'rsync:tag',
'rsync:trunk',
'shell:svn_add',
'shell:svn_commit'
] );
};