Skip to content
Closed
Show file tree
Hide file tree
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
Empty file added .didntcomefromthenpmregistry
Empty file.
4 changes: 1 addition & 3 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
/examples/
/generate/
/test/
/vendor/libgit2/
/vendor/libssh2/
/vendor/http_parser/
/vendor/Release/

.astylerc
Expand All @@ -15,6 +12,7 @@
.jshintrc
.travis.yml
.appveyor.yml
.didntcomefromthenpmregistry

*.vcxproj
*.filters
Expand Down
16 changes: 13 additions & 3 deletions generate/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
require("./scripts/generateJson");
require("./scripts/generateNativeCode");
require("./scripts/generateMissingTests");
var generateJson = require("./scripts/generateJson");
var generateNativeCode = require("./scripts/generateNativeCode");
var generateMissingTests = require("./scripts/generateMissingTests");

module.exports = function generate() {
generateJson();
generateNativeCode();
generateMissingTests();
}

if (require.main === module) {
module.exports();
}
16 changes: 11 additions & 5 deletions generate/scripts/generateJson.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
const fs = require("fs");
const path = require("path");
const helpers = require("./helpers");
const utils = require("./utils");
const _ = require("lodash");
var _;

var version = require("../../package.json").libgit2.version;
var libgit2 = require("../input/v" + version + ".json");
var descriptor = require("../input/descriptor.json");
var supplement = require("../input/libgit2-supplement.json");
var supplement = require("../input/libgit2-supplement.json");

module.exports = function generateJson() {
var helpers = require("./helpers");
_ = require("lodash");

module.exports = (function generateJson() {
libgit2.types.forEach(function(type) {
if (supplement.types[type[0]]){
_.merge(type[1], supplement.types[type[0]]);
Expand Down Expand Up @@ -219,4 +221,8 @@ module.exports = (function generateJson() {

utils.writeFile("output/idefs.json", output);

}());
};

if (require.main === module) {
module.exports();
}
17 changes: 9 additions & 8 deletions generate/scripts/generateMissingTests.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@ const fse = promisify(require("fs-extra"));
const utils = require("./utils");

const testFilesPath = "../test/tests";
const idefs = require("../output/idefs");
const missingFileIgnores = require("../input/ignored-missing-tests");

module.exports = (function generateMissingTests() {
module.exports = function generateMissingTests() {
var output = {};

function findMissingTest(idef) {
Expand Down Expand Up @@ -55,20 +54,22 @@ module.exports = (function generateMissingTests() {
});
};

var promises = [];

idefs.forEach(function(idef) {
promises.push(findMissingTest(idef));
const idefs = require("../output/idefs");
var promises = idefs.map(function(idef) {
return findMissingTest(idef);
});

Promise.all(promises).then(
function() {
utils.writeFile("output/missing-tests.json", output);
},
function(fail) {
console.log(fail);
console.error(fail);
}
);

}());
};

if (require.main === module) {
module.exports();
}
36 changes: 20 additions & 16 deletions generate/scripts/generateNativeCode.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
const path = require("path");
const combyne = require("combyne");
const promisify = require("promisify-node");
const fse = promisify(require("fs-extra"));
const js_beautify = require("js-beautify").js_beautify;
const beautify = function (input) {
return js_beautify(input, {
"brace_style": "end-expand",
"max_preserve_newlines": 2,
"preserve_newlines": true,
"indent_size": 2,
"indent_char": " "
});
}
const exec = promisify(function(command, opts, callback) {
return require("child_process").exec(command, opts, callback);
});


const utils = require("./utils");
const idefs = require("../output/idefs");

module.exports = (function generateNativeCode() {
module.exports = function generateNativeCode() {
const combyne = require("combyne");
const js_beautify = require("js-beautify").js_beautify;
const beautify = function (input) {
return js_beautify(input, {
"brace_style": "end-expand",
"max_preserve_newlines": 2,
"preserve_newlines": true,
"indent_size": 2,
"indent_char": " "
});
};

// Customize the delimiters so as to not process `{{{` or `}}}`.
combyne.settings.delimiters = {
START_RAW: "{{=",
Expand Down Expand Up @@ -91,6 +90,7 @@ module.exports = (function generateNativeCode() {

// Determine which definitions to actually include in the source code.
// This might not be needed anymore but to be frank I'm not totally positive
const idefs = require("../output/idefs");
var enabled = idefs.filter(function(idef) {
return !idef.ignore;
});
Expand Down Expand Up @@ -119,7 +119,7 @@ module.exports = (function generateNativeCode() {
}
catch (e) {
if (process.env.BUILD_ONLY) {
console.log(e);
console.error(e);
}
}
});
Expand All @@ -143,4 +143,8 @@ module.exports = (function generateNativeCode() {
})
});

}());
};

if (require.main === module) {
module.exports();
}
Loading