[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 Neko = require('./neko');
const vfs = require('vinyl-fs'); const vfs = require('vinyl-fs');
const template = require('lodash.template'); const template = require('lodash.template');
const rename = require('gulp-rename');
class Haxe extends Sdk { class Haxe extends Sdk {
@@ -98,10 +98,16 @@ class Haxe extends Sdk {
const target = path.resolve(buildDir, platform, 'bin'); const target = path.resolve(buildDir, platform, 'bin');
fse.emptyDirSync(target); fse.emptyDirSync(target);
const result = { const result = {
'android': 'app/build/outputs/apk/*.apk', 'android': 'app/build/outputs/apk/*-debug.apk',
'flash': '*.swf', 'flash': '*.swf',
}[platform] || '**/*'; }[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) { build(platform, config, debug=false) {

View File

@@ -18,7 +18,8 @@ const {BuildSystem, Platform, Config} = require('./core');
const vfs = require('vinyl-fs'); const vfs = require('vinyl-fs');
const rename = require('gulp-rename'); const rename = require('gulp-rename');
const template = require('lodash.template'); const template = require('lodash.template');
const tar = require('gulp-tar');
const gzip = require('gulp-gzip');
const streamToPromise = (stream) => { const streamToPromise = (stream) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -219,6 +220,29 @@ LinuxDEBPacker.NAME = 'deb';
Packer.register(Platform.LINUX, LinuxDEBPacker.NAME, LinuxDEBPacker); 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);
/** /**
* *
*/ */

View File

@@ -1,6 +1,6 @@
{ {
"name": "gulp-haxetool", "name": "gulp-haxetool",
"version": "0.0.21", "version": "0.0.22",
"description": "HaXe Tool for Gulp", "description": "HaXe Tool for Gulp",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
@@ -11,8 +11,10 @@
"got": "^8.3.0", "got": "^8.3.0",
"gulp": "^4.0.0", "gulp": "^4.0.0",
"gulp-debian": "^0.1.9", "gulp-debian": "^0.1.9",
"gulp-gzip": "^1.4.2",
"gulp-rename": "^1.2.2", "gulp-rename": "^1.2.2",
"gulp-spawn": "^0.4.0", "gulp-spawn": "^0.4.0",
"gulp-tar": "^3.0.0",
"gulp-webserver": "^0.9.1", "gulp-webserver": "^0.9.1",
"lodash.defaults": "^4.2.0", "lodash.defaults": "^4.2.0",
"lodash.template": "^4.4.0", "lodash.template": "^4.4.0",