[project] add LinuxArchivePacker

This commit is contained in:
2019-08-26 14:43:58 +03:00
parent 06af034955
commit 2b703fb66a
3 changed files with 37 additions and 5 deletions

View File

@@ -8,7 +8,7 @@ const Env = require('./env');
const Neko = require('./neko');
const vfs = require('vinyl-fs');
const template = require('lodash.template');
const rename = require('gulp-rename');
class Haxe extends Sdk {
@@ -98,10 +98,16 @@ class Haxe extends Sdk {
const target = path.resolve(buildDir, platform, 'bin');
fse.emptyDirSync(target);
const result = {
'android': 'app/build/outputs/apk/*.apk',
'android': 'app/build/outputs/apk/*-debug.apk',
'flash': '*.swf',
}[platform] || '**/*';
return this.haxelib(args).then(() => vfs.src(`${target}/${result}`));
return this.haxelib(args).then(() => {
let r = vfs.src(`${target}/${result}`);
if (platform === 'android') {
r = r.pipe(rename(`${config.meta.filename}_${config.meta.version}.apk`));
}
return r;
});
}
build(platform, config, debug=false) {

View File

@@ -18,7 +18,8 @@ const {BuildSystem, Platform, Config} = require('./core');
const vfs = require('vinyl-fs');
const rename = require('gulp-rename');
const template = require('lodash.template');
const tar = require('gulp-tar');
const gzip = require('gulp-gzip');
const streamToPromise = (stream) => {
return new Promise((resolve, reject) => {
@@ -219,6 +220,29 @@ LinuxDEBPacker.NAME = 'deb';
Packer.register(Platform.LINUX, LinuxDEBPacker.NAME, LinuxDEBPacker);
/**
*
*/
class LinuxArchivePacker extends Packer {
constructor(config) {
super(config, Platform.LINUX);
}
call() {
const target = this.targetPath;
const archiveName = `${this.config.meta.filename}_${this.config.meta.version}.tar`;
return gulp.src(`${target}/**/*`)
.pipe(tar(archiveName))
.pipe(gzip())
.pipe(gulp.dest(path.join(target, '..', 'archive')))
}
}
LinuxArchivePacker.NAME = 'archive';
Packer.register(Platform.LINUX, LinuxArchivePacker.NAME, LinuxArchivePacker);
/**
*
*/