Implement workshop upload in gulp

This commit is contained in:
Filip Maciejewski 2020-01-28 13:08:25 +01:00
parent 0da8f21107
commit a2e6731b9f
2 changed files with 21 additions and 2 deletions

View File

@ -10,6 +10,9 @@ nodejs version >=7.
# Install dependencies
npm install
# Install gulp globally to prevent reinstallation every time
npm install -g gulp
# Run mission build
npm run build
@ -27,6 +30,7 @@ gulp <task_name>
| build | assembles missionfolder and sets config values |
| pbo | packs missionfolders into PBOs |
| zip | creates release ZIPs |
| workshop | uploads built PBOs to Steam workshop |
| __default__ | runs _build_, _pbo_ and _zip_ |
Build files will be outputted to `build/` dir.
@ -81,4 +85,4 @@ const paths: FolderStructureInfo = {
// Output directory
workDir: resolve("./build")
};
```
```

View File

@ -8,7 +8,7 @@ import * as del from "del";
import { resolve } from "path";
import { MissionPaths } from "./src";
import { MissionPaths, uploadLegacy } from "./src";
import { Preset, FolderStructureInfo } from "./src";
@ -30,6 +30,7 @@ const paths: FolderStructureInfo = {
let taskNames: string[] = [];
let taskNamesPbo: string[] = [];
let taskNamesZip: string[] = [];
let taskNamesWorkshop: string[] = [];
for (let preset of presets) {
const mission = new MissionPaths(preset, paths);
@ -139,6 +140,18 @@ for (let preset of presets) {
.pipe(gulp.dest(mission.getWorkDir()))
});
if (!!preset.workshopId) {
taskNamesWorkshop.push('workshop_' + taskName);
gulp.task('workshop_' + taskName, async () => {
const pboPath = resolve(mission.getWorkDir(), 'pbo', mission.getFullName() + '.pbo');
console.log(pboPath);
await uploadLegacy(preset.workshopId, pboPath);
});
}
}
@ -154,6 +167,8 @@ gulp.task('pbo', gulp.series(taskNamesPbo));
gulp.task('zip', gulp.series(taskNamesZip));
gulp.task('workshop', gulp.series(taskNamesWorkshop));
gulp.task('default',
gulp.series(
gulp.task('build'),