UNPKG

tarifa

Version:

Your friendly toolchain for mobile app development on top of Apache Cordova

37 lines (32 loc) 978 B
var Q = require('q'), path = require('path'); function execSequence (tasks) { return function (obj) { if(!tasks.length) return Q.resolve(obj); return tasks.reduce(Q.when, obj); }; } function execTaskSequence(tasks, attr, type) { return function (obj) { var p = obj.platform, list = type ? tasks[p][attr][type] : tasks[p][attr]; return execSequence(list.map(function (task) { return require(path.join(__dirname, '..', '..', task)); }))(obj); }; } function load(platforms, action, attr) { var tasks = {}; platforms.forEach(function (pl) { var mod = path.resolve(__dirname, '../platforms', pl, 'actions', action); tasks[pl] = require(mod)[attr].map(function (p) { return path.resolve(__dirname, '../..', p); }); }); return tasks; } module.exports = { execSequence: execSequence, execTaskSequence: execTaskSequence, load: load };