const gulp = require('gulp'); const yargs = require('yargs'); const hx = require('gulp-haxetool'); const version = require('./version'); const prepare = require('./prepare'); const generate = prepare.generate; const debug = require('./debug'); const build = () => function build() { const argv = yargs.argv; return gulp.src('.') .pipe(new hx.Haxe().build({ platform: 'neko', version: version, lib: [ 'protohx', 'orm', 'haxework:git', 'haxe-crypto', 'yield', ], cp: [ 'src/common/haxe', 'src/server/haxe', 'src-gen/haxe', ], main: 'ru.m.tankz.server.Server', outputFile: 'tankz.n', debug: argv.dev, values: { proto_debug: true } })) .pipe(gulp.dest('target')); }; const test = (build) => function test() { const argv = yargs.argv; return build() .pipe(new hx.Neko().run('localhost')) .pipe(debug()); }; exports['server'] = gulp.series(prepare(hx.Haxe.ID), generate(), build()); exports['server:test'] = gulp.series(prepare(hx.Haxe.ID), generate(), test(build()));