git.init({cwd: './' + distDir}, function (err) { if (!err) { var serverRemotes = fs.readJSONSync('./config/' + module + '-remote.json'); addRemote('integration', serverRemotes, distDir).then(function () { addRemote('test', serverRemotes, distDir).then(function () { if (serverRemotes.ci) { addRemote('ci', serverRemotes, distDir); } }); }); } });
}).map(function(pkgPath) { return fs.readJSONSync(path.join(modulePath, pkgPath)); });
dist.download(dst.dist, function(err, tmpPath) { if (err) { logger.error(err); return; } logger.info(prefix + ' installing...'); // copy from tmpPath fs.copyDirSync(path.join(tmpPath, dst.srcPath), dst.trgPath); if (err) { logger.error(err); return; } // add dependency _addDependency(cmp, dst, o); // search for module/widget dependencies var dependencies = {}; if (cmp.type === 'widget') { // recursive widget dependencies var widget = fs.readJSONSync(path.join(dst.trgPath, 'widget.json')); // include our self-declared 'modules' dependencies dependencies = _.extend({}, widget.dependencies || {}, widget.modules || {}); } else if (cmp.type === 'module') { // Fixes #105 var modulePath = path.join(dst.trgPath, dst.platforms[0], cmp.id, dst.version); // recursive module dependencies (reading from the temp) var pkgs = glob.sync('package.json', { cwd: modulePath }).map(function(pkgPath) { return fs.readJSONSync(path.join(modulePath, pkgPath)); }); // merge all package.json#_nativeDependencies pkgs.forEach(function(pkg) { _.defaults(dependencies, pkg._nativeDependencies || pkg.nativeDependencies || {}); }); } var tasks; if (dependencies && (_.size(dependencies) > 0)) { tasks = _.pairs(dependencies).map(function(kv) { var id = kv[0], version = kv[1]; return function() { install(_.defaults({ id: id, version: version }, o)); }; }); } // install dependencies if (tasks && (tasks.length > 0)) { async.parallel(tasks); } // remove tmpPath rimraf.sync(tmpPath); logger.info(prefix + ' installed'); });
function postDeploy(cb) { replaceAndCopy('../server/web-app/app.js', 'dist/server/web-app', 'development', argv.env); replaceAndCopy('../server/crm-app/app.js', 'dist/server/crm-app', 'development', argv.env); replaceAndCopy('../server/api-server/app.js', 'dist/server/api-server', 'development', argv.env); replaceAndCopy('../server/common/database/fixtures.js', 'dist/server/common/database', 'development', argv.env); replaceAndCopy('../tools/deployment-scripts/notify-build.js', 'dist/tools/deployment-scripts', 'development', argv.env); replaceAndCopy('../tools/deployment-scripts/update-database.js', 'dist/tools/deployment-scripts', 'development', argv.env); replaceAndCopy('../tools/deployment-scripts/cleanup.js', 'dist/tools/deployment-scripts', 'development', argv.env); replaceAndCopy('../tools/admin-cli/cancel-subscription.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/change-email.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/compare-complimentary-fs-db-packages-1.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/compare-complimentary-fs-db-packages-2.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/compare-free-fs-db-packages-1.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/compare-premium-fs-db-packages-1.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/compare-premium-fs-db-packages-2.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/compare-premium-fs-db-packages-3.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/complimentary-code.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/complimentary-users-report.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/convert-to-complimentary-subscription.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/convert-to-free-db-only.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/create-api-client.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/create-crm-user.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/create-merchant.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/crm-user-reset-password.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/crm-user-set-status.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/db-fs-sync.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/delete-user.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/end-complimentary-subscription.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/end-premium-subscription.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/export-cj-batch-file.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/export-cj-users.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/export-comp-users-with-expiry-date.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/export-email-sms-opt-in-users.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/export-freeside-users.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/export-idt-payments.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/export-partner-accounts.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/export-users.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/freeside-login-report.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/raf-report.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/remove-7-day-package.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/remove-7-day-package-fs-only.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/reset-password.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/suspend-user.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/unsuspend-user.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/upgrade-subscription.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/admin-cli/verify-account.js', 'dist/tools/admin-cli', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set1/remove-unused-collections.js', 'dist/tools/migration-scripts/set1', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set1/remove-payment-pending-field.js', 'dist/tools/migration-scripts/set1', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set1/update-user-fields.js', 'dist/tools/migration-scripts/set1', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set1/update-account-fields.js', 'dist/tools/migration-scripts/set1', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set1/migrate-trial-ended-users.js', 'dist/tools/migration-scripts/set1', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set1/migrate-comp-ended-users.js', 'dist/tools/migration-scripts/set1', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set1/migrate-canceled-users.js', 'dist/tools/migration-scripts/set1', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set1/migrate-payment-pending-users.js', 'dist/tools/migration-scripts/set1', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set1/migrate-free-active-users.js', 'dist/tools/migration-scripts/set1', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set1/migrate-comp-active-users.js', 'dist/tools/migration-scripts/set1', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set1/migrate-paid-active-users.js', 'dist/tools/migration-scripts/set1', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set2/update-free-user-packages.js', 'dist/tools/migration-scripts/set2', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set2/update-comp-user-packages.js', 'dist/tools/migration-scripts/set2', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set2/update-paid-user-packages.js', 'dist/tools/migration-scripts/set2', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set3/add-email-sms-subscription-fields.js', 'dist/tools/migration-scripts/set3', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set4/create-email-sms-subscription-field.js', 'dist/tools/migration-scripts/set4', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set4/remove-unused-fields.js', 'dist/tools/migration-scripts/set4', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set4/remove-visitor-collection.js', 'dist/tools/migration-scripts/set4', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set4/delete-failed-users.js', 'dist/tools/migration-scripts/set4', 'development', argv.env); replaceAndCopy('../tools/migration-scripts/set5/remove-unused-collections.js', 'dist/tools/migration-scripts/set5', 'development', argv.env); var version = fs.readJSONSync('./version.json').version; if (argv.tag && argv.tag === 'true') { commitAndTag(version).then(function () { git.push('origin', 'v' + version, function (err) { if (err) { console.log('Could not push the release to github. Please run git push origin v' + version + ' to make the release'); } else { git.push('origin', 'master', function (err) { if (err) { console.log('Could not push the updated version file to master'); } }); } }); }); } else if (argv.deployType) { gulp.src('./version.json') .pipe(git.add()) .pipe(git.commit('committing version ' + version)); git.push('origin', 'master', function (err) { if (err) { console.log('Could not push the updated version file to master'); } }); } else { cb(); } }