[build] added gulp builder
This commit is contained in:
48
build/client.js
Executable file
48
build/client.js
Executable file
@@ -0,0 +1,48 @@
|
||||
"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()));
|
||||
39
build/prepare.js
Executable file
39
build/prepare.js
Executable file
@@ -0,0 +1,39 @@
|
||||
const AdobeAir = require('../tasks/adobeAir');
|
||||
const Haxe = require('../tasks/haxe');
|
||||
const FlashPlayer = require('../tasks/flashplayer');
|
||||
|
||||
const packages = [
|
||||
{name:'openfl', version:'6.0.1'},
|
||||
{name:'lime', version:'5.3.0'},
|
||||
'promhx',
|
||||
'protohx',
|
||||
'haxework',
|
||||
];
|
||||
|
||||
|
||||
const prepareOne = (value) => {
|
||||
switch (value) {
|
||||
case Haxe.ID:
|
||||
const haxe = new Haxe();
|
||||
return haxe.prepare().then(() => haxe.install(packages));
|
||||
case AdobeAir.ID:
|
||||
return new AdobeAir().prepare();
|
||||
case FlashPlayer.ID:
|
||||
return new FlashPlayer().prepare();
|
||||
default:
|
||||
throw Error(`Unknown target: ${value}`)
|
||||
}
|
||||
};
|
||||
|
||||
const prepare = (...targets) => function prepare() {
|
||||
const tasks = targets.map((target) => prepareOne(target));
|
||||
return Promise.all(tasks);
|
||||
};
|
||||
|
||||
|
||||
const update = () => {
|
||||
return new Haxe().upgrade();
|
||||
};
|
||||
|
||||
module.exports = prepare;
|
||||
module.exports.update = update;
|
||||
63
build/server.js
Executable file
63
build/server.js
Executable file
@@ -0,0 +1,63 @@
|
||||
"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 Neko = require('../tasks/neko');
|
||||
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 h:MM:ss'),
|
||||
};
|
||||
let outputFile = 'tankz.n';
|
||||
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().build({
|
||||
platform: 'neko',
|
||||
version: version,
|
||||
values: values,
|
||||
lib: [
|
||||
'protohx',
|
||||
'orm',
|
||||
'haxework',
|
||||
],
|
||||
cp: [
|
||||
'src/common/haxe',
|
||||
'src/server/haxe',
|
||||
'src-gen/haxe',
|
||||
],
|
||||
macro: [
|
||||
`CompilationOption.set('debug.address','${values['dev.address']}')`,
|
||||
`CompilationOption.set('debug.port','${values['dev.port']}')`,
|
||||
],
|
||||
main: 'ru.m.tankz.server.Server',
|
||||
outputFile: outputFile,
|
||||
}))
|
||||
.pipe(gulp.dest('target'));
|
||||
};
|
||||
|
||||
const test = (build) => function test() {
|
||||
const argv = yargs.argv;
|
||||
return build()
|
||||
.pipe(new Neko().run(argv.dev))
|
||||
.pipe(debug());
|
||||
};
|
||||
|
||||
|
||||
exports['server'] = gulp.series(prepare(Haxe.ID), build());
|
||||
exports['server:test'] = gulp.series(prepare(Haxe.ID, FlashPlayer.ID), test(build()));
|
||||
2
build/version.js
Normal file
2
build/version.js
Normal file
@@ -0,0 +1,2 @@
|
||||
const packageInfo = require('../package.json');
|
||||
module.exports = packageInfo.version;
|
||||
Reference in New Issue
Block a user