Skip to content

Commit a284860

Browse files
committed
fix build
1 parent 5853d3b commit a284860

File tree

8 files changed

+64
-228
lines changed

8 files changed

+64
-228
lines changed

generate/index.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
1+
var Promise = require('nodegit-promise');
12
var generateJson = require("./scripts/generateJson");
23
var generateNativeCode = require("./scripts/generateNativeCode");
34
var generateMissingTests = require("./scripts/generateMissingTests");
45

56
module.exports = function generate() {
6-
generateJson();
7-
generateNativeCode();
8-
generateMissingTests();
7+
return new Promise(function(resolve, reject) {
8+
try {
9+
generateJson();
10+
generateNativeCode();
11+
generateMissingTests();
12+
resolve();
13+
}
14+
catch(e) {
15+
reject(e);
16+
}
17+
});
918
}
1019

1120
if (require.main === module) {

generate/scripts/generateJson.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const path = require("path");
33
const utils = require("./utils");
44
var _;
55

6-
var version = require("../../package.json").libgit2.version;
6+
var version = require("../../package.json").vendorDependencies.libgit2.version;
77
var libgit2 = require("../input/v" + version + ".json");
88
var descriptor = require("../input/descriptor.json");
99
var supplement = require("../input/libgit2-supplement.json");

generate/scripts/helpers.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ var utils = require("./utils");
55
var _ = require("lodash");
66

77
// TODO: When libgit2's docs include callbacks we should be able to remove this
8-
var version = require("../../package.json").libgit2.version;
8+
var version = require("../../package.json").vendorDependencies.libgit2.version;
99
var callbackDefs = require("../input/callbacks.json");
1010
var descriptor = require("../input/descriptor.json");
1111
var libgit2 = require("../input/v" + version + ".json");

lifecycleScripts/checkPrepared.js

Lines changed: 0 additions & 62 deletions
This file was deleted.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
var Promise = require("nodegit-promise");
2+
var cp = require("child_process");
3+
var path = require("path");
4+
var rooted = path.join.bind(path, __dirname, "..");
5+
6+
module.exports = function retrieveExternalDependencies() {
7+
if (process.platform === "win32") {
8+
return Promise.resolve("");
9+
}
10+
11+
return new Promise(function(resolve, reject) {
12+
console.info("[nodegit] Configuring libssh2.");
13+
cp.execFile(
14+
rooted("vendor/libssh2/") + "configure",
15+
{cwd: rooted("vendor/libssh2/")},
16+
function(err, stdout, stderr) {
17+
if (err) {
18+
console.error(err);
19+
console.error(stderr);
20+
reject(err, stderr);
21+
}
22+
else {
23+
resolve(stdout);
24+
}
25+
}
26+
);
27+
});
28+
};
29+
30+
// Called on the command line
31+
if (require.main === module) {
32+
if (process.platform === "win32") {
33+
console.log("nothing to do");
34+
}
35+
else {
36+
module.exports();
37+
}
38+
}

lifecycleScripts/install.js

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
var Promise = require("nodegit-promise");
21
var promisify = require("promisify-node");
32
var path = require("path");
43
var fs = require("fs");
54

6-
var checkPrepared = require("./checkPrepared");
75
var whichNativeNodish = require("which-native-nodish");
86
var prepareForBuild = require("./prepareForBuild");
97

@@ -23,22 +21,22 @@ return whichNativeNodish("..")
2321
.then(function() {
2422
if (nwVersion) {
2523
console.info("[nodegit] Must build for node-webkit/nw.js");
26-
return checkAndBuild();
24+
return prepareAndBuild();
2725
}
2826
else if (asVersion) {
2927
console.info("[nodegit] Must build for atom-shell");
30-
return checkAndBuild();
28+
return prepareAndBuild();
3129
}
3230
if (fs.existsSync(local("../.didntcomefromthenpmregistry"))) {
33-
return checkAndBuild();
31+
return prepareAndBuild();
3432
}
3533
if (process.env.BUILD_DEBUG) {
3634
console.info("[nodegit] Doing a debug build, no fetching allowed.");
37-
return checkAndBuild();
35+
return prepareAndBuild();
3836
}
3937
if (process.env.BUILD_ONLY) {
4038
console.info("[nodegit] BUILD_ONLY is set to true, no fetching allowed.");
41-
return checkAndBuild();
39+
return prepareAndBuild();
4240
}
4341
console.info("[nodegit] Fetching binary from S3.");
4442
return exec("node-pre-gyp install")
@@ -49,27 +47,15 @@ return whichNativeNodish("..")
4947
function() {
5048
console.info("[nodegit] Failed to install prebuilt binary, " +
5149
"building manually.");
52-
return checkAndBuild();
50+
return prepareAndBuild();
5351
}
5452
);
5553
});
5654

5755

58-
function checkAndBuild() {
59-
console.info("[nodegit] Making sure dependencies are available and native " +
60-
"code is generated");
61-
62-
return checkPrepared.checkAll()
63-
.then(function(allGood) {
64-
if (allGood) {
65-
return Promise.resolve();
66-
}
67-
else {
68-
console.info("[nodegit] Something is missing, retrieving " +
69-
"dependencies and regenerating code");
70-
return prepareForBuild();
71-
}
72-
})
56+
function prepareAndBuild() {
57+
console.info("[nodegit] Regenerating and configuring code");
58+
return prepareForBuild()
7359
.then(function() {
7460
return build();
7561
});

lifecycleScripts/prepareForBuild.js

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ var path = require("path");
44

55
var local = path.join.bind(path, __dirname);
66

7-
var check = require(local("checkPrepared")).checkGenerated;
8-
var retrieve = require(local("retrieveExternalDependencies"));
7+
var configure = require(local("configureLibssh2"));
98
var generate = require(local("../generate"));
109

1110
module.exports = function prepareForBuild() {
@@ -23,39 +22,12 @@ module.exports = function prepareForBuild() {
2322
});
2423
}).then(function() {
2524
return Promise.all([
26-
retrieve(),
27-
doGenerate()
25+
configure(),
26+
generate()
2827
]);
2928
});
3029
};
3130

32-
function doGenerate() {
33-
console.info("[nodegit] Detecting generated code.");
34-
return check().then(function(allThere) {
35-
if (allThere) {
36-
console.info("[nodegit] Generated code is intact.");
37-
return Promise.resolve();
38-
}
39-
else {
40-
console.info("[nodegit] Generated code is missing or incomplete, " +
41-
"regenerating now.");
42-
43-
return new Promise(function(resolve, reject) {
44-
try {
45-
generate();
46-
console.info("[nodegit] Code regenerated.");
47-
resolve();
48-
}
49-
catch (e) {
50-
console.info("[nodegit] Error generating code.");
51-
console.info(e);
52-
//console.info(stderr);
53-
reject(e);
54-
}
55-
});
56-
}
57-
});
58-
}
5931
// Called on the command line
6032
if (require.main === module) {
6133
module.exports();

lifecycleScripts/retrieveExternalDependencies.js

Lines changed: 0 additions & 107 deletions
This file was deleted.

0 commit comments

Comments
 (0)