Skip to content

Commit

Permalink
Improve gulpfile for ctan.
Browse files Browse the repository at this point in the history
  • Loading branch information
xueruini committed Dec 25, 2015
1 parent f92109d commit 599859c
Showing 1 changed file with 32 additions and 12 deletions.
44 changes: 32 additions & 12 deletions gulpfile.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
'use strict';

const path = require('path');
const gulp = require('gulp');
const lazypipe = require('lazypipe');
Expand Down Expand Up @@ -32,12 +30,13 @@ const config = {
'main.pdf',
'shuji.pdf',
'data/*.tex',
'figures/*.*', // TODO: better pattern
'figures/*.*',
'ref/*.bib']
},

dist: {
root: './dist',
build: '',
zip: ''
},

Expand All @@ -51,7 +50,7 @@ function usage() {
}

gulp.task('default', function(callback) {
usage()
usage();

callback();
});
Expand All @@ -66,17 +65,19 @@ gulp.task('bootstrap', function(callback) {
const version = util.env.version.toString().toLowerCase();
config.isCTAN = version === 'ctan';

util.log(util.colors.bgRed.white.bold('Ensure all files are generated.'));
util.log(util.colors.yellow('⚠️ Ensure all files are generated.'));

if (config.isCTAN) {
config.dist.zip = `${packageName}.zip`;
config.dist.build = `${packageName}`;
} else {
config.template.files.push(...config.template.generated);
config.dist.zip = `${packageName}-${version}.zip`;
config.dist.build = `${packageName}-${version}`;
}
config.dist.zip = `${config.dist.build}.zip`;

util.log(`Removing ${config.dist.zip}...`);
del.sync([path.join(config.dist.root, config.dist.zip)]);
util.log(`Removing ${config.dist.build}...`);
del.sync([path.join(config.dist.root, config.dist.build),
path.join(config.dist.root, config.dist.zip)]);

callback();
});
Expand All @@ -87,17 +88,36 @@ function readmeFilter() {
return lazypipe().pipe(function() {
return gulpif(pattern, rename({
extname: ''
}))
}));
})();
}

gulp.task('build', ['bootstrap'], function(callback) {
gulp.task('copy', ['bootstrap'], function() {
const src = [...config.template.files, ...config.example.files];
const dest = path.join(config.dist.root, config.dist.build);

return gulp.src(src, {
cwdbase: true
})
.pipe(readmeFilter())
.pipe(gulp.dest(dest));
});

gulp.task('zip', ['copy'], function() {
const src = path.join(config.dist.build, '**/*');

return gulp.src(src, {
cwd: config.dist.root,
cwdbase: true
})
.pipe(zip(config.dist.zip))
.pipe(gulp.dest(config.dist.root));
})
});

gulp.task('build', ['zip'], function(callback) {
del.sync([path.join(config.dist.root, config.dist.build)]);

util.log(util.colors.green.bold('🍺 Build Succeeded.'));

callback();
});

0 comments on commit 599859c

Please sign in to comment.