const gulp = require('gulp'); const {Haxe, FlashPlayer} = require('gulp-haxetool'); const version = require('./version'); const prepare = require('./prepare'); const Debug = require('./debug'); const dateformat = require('dateformat'); const build = (platform, values, debug) => function build() { const build = dateformat(new Date(), 'yyyy-mm-dd HH:MM:ss'); let macro = [`CompilationOption.set('build','${build}')`]; if (debug) macro = macro.concat(debug.macro()); return gulp.src('.') .pipe(new Haxe().openfl({ command: 'build', platform: platform, version: version, values: {...values, build_editor:true}, debug: debug, macro: macro, })) .pipe(gulp.dest(`target/${platform}`)); }; const testFlash = function() { const debug = new Debug(); return build('flash', {}, debug)() .pipe(new FlashPlayer().run(true)) .pipe(debug.run()); }; exports['editor:flash'] = gulp.series(prepare(Haxe.ID), build('flash')); exports['editor:flash:test'] = gulp.series(prepare(Haxe.ID, FlashPlayer.ID), testFlash);