Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 28 additions & 28 deletions generate/index.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
var generateJson = require("./scripts/generateJson");
var generateNativeCode = require("./scripts/generateNativeCode");
var generateMissingTests = require("./scripts/generateMissingTests");
var submoduleStatus = require("../lifecycleScripts/submodules/getStatus");
const generateJson = require("./scripts/generateJson");
const generateNativeCode = require("./scripts/generateNativeCode");
const generateMissingTests = require("./scripts/generateMissingTests");
const submoduleStatus = require("../lifecycleScripts/submodules/getStatus");

module.exports = function generate() {
module.exports = async function generate() {
console.log("[nodegit] Generating native code");

function tryGenerate(numRetries = 3) {
Expand All @@ -15,37 +15,37 @@ module.exports = function generate() {
generateMissingTests();
} catch (error) {
if (numRetries > 0) {
console.log("[nodegit] WARNING - Failed to generate native code, trying again");
console.log(
"[nodegit] WARNING - Failed to generate native code, trying again"
);
tryGenerate(numRetries - 1);
} else {
throw error;
}
}
}

return submoduleStatus()
.then(function(statuses) {
var dirtySubmodules = statuses
.filter(function(status) {
return status.onNewCommit
|| status.needsInitialization
|| status.workDirDirty;
});
try {
const statuses = await submoduleStatus();
const dirtySubmodules = statuses.filter(
(status) =>
status.onNewCommit || status.needsInitialization || status.workDirDirty
);

if (dirtySubmodules.length) {
console.warn("[nodegit] WARNING - Some submodules are out-of-sync");
dirtySubmodules.forEach(function(submodule) {
console.warn("[nodegit]\t" + submodule.name);
});
}
})
.then(tryGenerate)
.catch(function(e) {
console.error("[nodegit] ERROR - Could not generate native code");
console.error(e);
throw e;
});
}
if (dirtySubmodules.length) {
console.warn("[nodegit] WARNING - Some submodules are out-of-sync");
dirtySubmodules.forEach(function (submodule) {
console.warn("[nodegit]\t" + submodule.name);
});
}

await tryGenerate();
} catch (e) {
console.error("[nodegit] ERROR - Could not generate native code");
console.error(e);
throw e;
}
};

if (require.main === module) {
module.exports();
Expand Down