12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- 'use strict';
- var gulp = require('gulp');
- var runSequence = require('run-sequence');
- var spawn = require('child_process').spawn;
- const format = require('gulp-clang-format');
- const clangFormat = require('clang-format');
- var runSpawn = function(done, task, opt_arg) {
- opt_arg = typeof opt_arg !== 'undefined' ? opt_arg : [];
- var child = spawn(task, opt_arg, {stdio: 'inherit'});
- var running = false;
- child.on('close', function() {
- if (!running) {
- running = true;
- done();
- }
- });
- child.on('error', function() {
- if (!running) {
- console.error('gulp encountered a child error');
- running = true;
- done();
- }
- });
- };
- gulp.task('copy', function() {
- return gulp.src(['**/*.apk', 'package.json'])
- .pipe(gulp.dest('built/'));
- });
- gulp.task('format:enforce', () => {
- return gulp.src(['lib/**/*.ts']).pipe(
- format.checkFormat('file', clangFormat, {verbose: true, fail: true}));
- });
- gulp.task('format', () => {
- return gulp.src(['lib/**/*.ts'], { base: '.' }).pipe(
- format.format('file', clangFormat)).pipe(gulp.dest('.'));
- });
- gulp.task('tsc', function(done) {
- runSpawn(done, process.execPath, ['node_modules/typescript/bin/tsc']);
- });
- gulp.task('prepublish', function(done) {
- runSequence('format', 'tsc', 'copy', done);
- });
- gulp.task('default',['prepublish']);
- gulp.task('build',['prepublish']);
- gulp.task('test', ['build'], function(done) {
- var opt_arg = [];
- opt_arg.push('node_modules/jasmine/bin/jasmine.js');
- runSpawn(done, process.execPath, opt_arg);
- });
|