"use strict"; const gulp = require('gulp'); const yargs = require('yargs'); const tail = require('../tasks/tail'); const Haxe = require('../tasks/haxe'); const FlashPlayer = require('../tasks/flashplayer'); const version = require('./version'); const dateformat = require('dateformat'); const prepare = require('./prepare'); const debug = require('../tasks/debug'); const build = (params) => function build() { params = params || {}; const argv = yargs.argv; const values = { build: dateformat(new Date(), 'yyyy-mm-dd HH:MM:ss'), }; let outputFile = 'tankz.swf'; if (params.outputFile) { outputFile = params.outputFile; } if (argv.dev) { values.dev = true; if (!values['dev.address']) values['dev.address'] = argv['dev-address'] || 'localhost'; if (!values['dev.port']) values['dev.port'] = argv['dev-port'] || 5000; } return gulp.src('.') .pipe(new Haxe().openfl({ command: 'build', platform: 'flash', version: version, values: values, outputFile: outputFile, })) .pipe(gulp.dest('target')); }; const test = (build) => function test() { const argv = yargs.argv; return build() .pipe(new FlashPlayer().run(argv.dev)) .pipe(tail(debug.log)); }; exports['client'] = gulp.series(prepare(Haxe.ID), build()); exports['client:test'] = gulp.series(prepare(Haxe.ID, FlashPlayer.ID), test(build()));