Files
tankz/build/server.js

49 lines
1.5 KiB
JavaScript
Executable File

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()));