First commit
This commit is contained in:
86
framework/node_modules/node-gpp/gpp.js
generated
vendored
Normal file
86
framework/node_modules/node-gpp/gpp.js
generated
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
|
||||
Copyright (c) 2020, 2023, The Unified Company.
|
||||
|
||||
This code is part of Unify.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the ESA Software Community License - Strong Copyleft,
|
||||
|
||||
https://unifyjs.org
|
||||
|
||||
*/
|
||||
|
||||
|
||||
const fs = require('fs');
|
||||
|
||||
const util = require('util');
|
||||
|
||||
const exec = util.promisify( require('child_process').exec );
|
||||
|
||||
|
||||
exports.gpp = class gpp{
|
||||
|
||||
batchSize = 70;
|
||||
|
||||
execPromises = new Array();
|
||||
|
||||
|
||||
|
||||
constructor() {
|
||||
|
||||
}
|
||||
|
||||
async initialise() {
|
||||
|
||||
this.instance = await new factory();
|
||||
|
||||
}
|
||||
|
||||
createBatchesDirectory() {
|
||||
|
||||
if( !fs.existsSync( "./framework/cache/platforms/batches/" ) ) {
|
||||
|
||||
fs.mkdirSync("./framework/cache/platforms/batches/");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async convert( inputFiles, i ) {
|
||||
|
||||
this.createBatchesDirectory();
|
||||
|
||||
|
||||
var file = path.resolve( "./framework/cache/platforms/batches/" + i + ".json");
|
||||
|
||||
var n = i * this.batchSize;
|
||||
|
||||
var inputFilesSliced = inputFiles.slice( n, this.batchSize + n );
|
||||
|
||||
var inputFilesJoined = inputFilesSliced.join("\n");
|
||||
|
||||
|
||||
fs.writeFileSync( file, JSON.stringify( inputFilesJoined ) );
|
||||
|
||||
await this.spawnBatch( file, i );
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
async spawnBatch( file, i ) {
|
||||
|
||||
var cWrapper = path.resolve("./framework/node_modules/node-gpp/instanceChild.js");
|
||||
|
||||
var args = new Array( cWrapper, "file=" + file, "index=" + i );
|
||||
|
||||
var defaults = { file:file, env: process.env };
|
||||
|
||||
var execPromise = exec("node " + cWrapper + " file=" + file + " index=" + i );
|
||||
|
||||
this.execPromises.push(execPromise);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user