/* RainLoop Webmail (c) RainLoop Team | Licensed under AGPL 3 */ /* eslint-disable consistent-return */ const gulp = require('gulp'); const fs = require('node-fs'); const pkg = require('../package.json'); const { config } = require('./config'); const { copy, zip, del } = require('./common'); const { rainloopBuild } = require('./rainloop'); const owncloudCopy = () => { const versionFull = pkg.ownCloudVersion, dist = config.releasesPath + '/owncloud/' + versionFull + '/src/'; fs.mkdirSync(dist, '0777', true); fs.mkdirSync(dist + 'rainloop', '0777', true); return gulp .src('build/owncloud/rainloop-app/**/*', { base: 'build/owncloud/rainloop-app/' }) .pipe(gulp.dest(dist + 'rainloop')); }; const owncloudCopyRainLoop = () => { const versionFull = pkg.ownCloudVersion, dist = config.releasesPath + '/owncloud/' + versionFull + '/src/rainloop/'; if (config.rainloopBuilded && config.destPath) { return gulp.src(config.destPath + '/src/**/*', { base: config.destPath + '/src/' }).pipe(gulp.dest(dist + 'app/')); } return true; }; const owncloudCopyRainLoopClean = (done) => { if (config.cleanPath) { return del(config.cleanPath); } done(); }; const owncloudSetup = (done) => { const versionFull = pkg.ownCloudVersion, dist = config.releasesPath + '/owncloud/' + versionFull + '/src/'; fs.writeFileSync( dist + 'rainloop/appinfo/info.xml', fs .readFileSync(dist + 'rainloop/appinfo/info.xml', 'utf8') .replace('0.0', '' + versionFull + '') .replace( '', '' + (config.community ? 'AGPLv3' : 'RainLoop Software License') + '' ) ); fs.writeFileSync(dist + 'rainloop/appinfo/version', versionFull); fs.writeFileSync(dist + 'rainloop/VERSION', versionFull); config.destPath = config.releasesPath + '/owncloud/' + versionFull + '/'; config.cleanPath = dist; config.zipSrcPath = dist; config.zipFile = 'rainloop-owncloud-app-' + (config.community ? '' : 'standard-') + versionFull + '.zip'; // config.zipFileShort = 'rainloop' + (config.community ? '' : '-standard') + '.zip'; done(); }; const owncloudZip = (done) => { if (config.destPath && config.zipSrcPath && config.zipFile) { return zip(config.zipSrcPath, config.destPath, config.zipFile); } done(); }; const owncloudClean = (done) => { if (config.cleanPath) { return del(config.cleanPath); } done(); }; // const owncloudShortname = (done) => { // copy(config.destPath + config.zipFile, config.destPath + config.zipFileShort, done); // }; exports.owncloud = gulp.series( owncloudCopy, rainloopBuild, owncloudCopyRainLoop, owncloudCopyRainLoopClean, owncloudSetup, owncloudZip, owncloudClean // owncloudShortname );