| 1 |
module.exports = function (grunt) { |
| 2 |
'use strict'; |
| 3 |
|
| 4 |
var has_task = function (task) { |
| 5 |
grunt.verbose.write("Checking " + task + " task existence... "); |
| 6 |
if (grunt.task.exists(task)) { |
| 7 |
grunt.verbose.writeln("OK".green); |
| 8 |
return true; |
| 9 |
} |
| 10 |
grunt.verbose.writeln("MISSING".red); |
| 11 |
return false; |
| 12 |
}; |
| 13 |
|
| 14 |
var get_wdp_id = function () { |
| 15 |
var pkg = grunt.file.readJSON('package.json'), |
| 16 |
wdp_id = (pkg || {}).wdp_id || false |
| 17 |
; |
| 18 |
if (wdp_id) return true; |
| 19 |
|
| 20 |
var plugin = grunt.file.read(pkg.name + '.php'), |
| 21 |
result = plugin.match(/(\*\s+)?WDP ID:\s*(\d+)/); |
| 22 |
; |
| 23 |
if (result && result[2]) { |
| 24 |
wdp_id = parseInt(result[2], 10); |
| 25 |
} |
| 26 |
|
| 27 |
return wdp_id; |
| 28 |
} |
| 29 |
|
| 30 |
var sanity_check = function () { |
| 31 |
grunt.verbose.subhead("Checking WPMU DEV task environment"); |
| 32 |
|
| 33 |
['release'].forEach(function (task) { |
| 34 |
if (has_task(task)) return true; |
| 35 |
var error = "WPMU DEV interface required task [" + task + "] is missing"; |
| 36 |
grunt.log.writeln(error.red.bold); |
| 37 |
}); |
| 38 |
}; |
| 39 |
|
| 40 |
grunt.registerTask('wpmudev_preflight_check', sanity_check); |
| 41 |
|
| 42 |
grunt.cli.tasks = grunt.cli.tasks.unshift('wpmudev_preflight_check'); |
| 43 |
|
| 44 |
return { |
| 45 |
has_task: has_task, |
| 46 |
sanity_check: sanity_check, |
| 47 |
get_wdp_id: get_wdp_id |
| 48 |
}; |
| 49 |
|
| 50 |
}; |
| 51 |
|