Gulp Arma Pbo plugin
The plugin's goal is to create Arma2/Arma3 pbo files from sources using Gulp.
Installation
npm install gulp-armapbo
Usage
const gulp = require('gulp');
const pbo = require('gulp-armapbo');
gulp.task('pack', () => {
return gulp.src('pbo-contents/**/*')
.pipe(pbo.pack({
fileName: 'my-file.pbo',
extensions: [{
name: 'author',
value: 'Author Name'
}, {
name: 'mission',
value: 'Mission Name'
}],
compress: [
'**/*.sqf',
'mission.sqm',
'description.ext'
]
}))
.pipe(gulp.dest('pbo-packed/'));
});
Usage with TypeScript
import * as gulp from 'gulp';
import {pack, StreamOptions} from 'gulp-armapbo';
gulp.task('pack', () => {
return gulp.src('pbo-contents/**/*')
.pipe(pack({
fileName: 'my-file.pbo',
extensions: [{
name: 'author',
value: 'Author Name'
}, {
name: 'mission',
value: 'Mission Name'
}],
compress: [
'**/*.sqf',
'mission.sqm',
'description.ext'
]
} as StreamOptions))
.pipe(gulp.dest('pbo-packed/'));
});
Plugin API
pbo.pack([options])
Options
Required: no
options.fileName
Name of the pbo file to create, e.g. someFileName.pbo
; if no value specified, the name of the $cwd
is used
Type: string
Default: process.cwd()
Required: no
options.extensions
Adds pbo file header extension fields. You are free to place any arbitrary information here.
Type: array of {name:<string>, value:<string>}
objects, e.g. {name: 'author', value: 'Author Name' }
Default: undefined
Required: no
options.compress
Files to apply data compression to
Type: string
(glob pattern) or array of strings
(glob patterns), e.g. compress: 'mission.sqm'
or compress: '**/*.sqf'
or compress: ['**/*.sqf', '**/*.hpp', 'mission.sqm']
Default: undefined
Required: no
options.verbose
Print compression information to console
Type: bool
Default: true
Required: no
options.progress
Print the current file compression progress to console
Type: bool
Default: true
Required: no