const gulp = require('gulp'); const {Haxe, Neko} = require('gulp-haxetool'); const version = require('./version'); const prepare = require('./prepare'); const generate = prepare.generate; const Debug = require('./debug'); const dateformat = require('dateformat'); const build = () => function build(debug) { 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().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: debug, macro: macro, values: {proto_debug: debug} })) .pipe(gulp.dest('target')); }; const test = (build) => function test() { const debug = new Debug(); return build(debug) .pipe(new Neko().run('localhost')) .pipe(debug.run()); }; exports['server'] = gulp.series(prepare(Haxe.ID), generate(), build()); exports['server:test'] = gulp.series(prepare(Haxe.ID), generate(), test(build()));