Object.keys(app.modules).forEach(function (name) { var module = app.modules[name]; if (module.extensions.build) { var extension = require(module.extensions.build); if (extension && extension.getResourceDirectories) { extension.getResourceDirectories(api, app, config) .map(function (directory) { var target = path.join('modules', module.name, directory.target); builder.add(directory.src, target, directory.files); }); } } });
Object.keys(addons).forEach(function (addonName) { var addon = addons[addonName]; if (addon.hasBuildPlugin()) { try { var buildAddon = require(addon.getPath('build')); buildAddons[addonName] = buildAddon; var addonConfig = project.getAddonConfig(); var directories = buildAddon.getResourceDirectories && buildAddon.getResourceDirectories(addonConfig[addonName]); if (isArray(directories)) { directories.forEach(function (directory) { resourceDirectories.push({ src: directory.src, target: path.join('addons', addonName, directory.target) }); }); } } catch (e) { logger.error("Error initializing build addon", addonName, e); } } }, this);