48 lines
1.5 KiB
JavaScript
Executable File
48 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:0.4.6',
|
|
'haxework:git',
|
|
'haxe-crypto:0.0.7',
|
|
'yield:1.1.2',
|
|
],
|
|
cp: [
|
|
'src/common/haxe',
|
|
'src/server/haxe',
|
|
'src-gen/haxe',
|
|
],
|
|
main: 'ru.m.tankz.server.Server',
|
|
outputFile: 'server.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()));
|