Skip to content
This repository was archived by the owner on Feb 14, 2022. It is now read-only.

Commit 74a55f2

Browse files
author
Simon Hofmann
committed
Fixed bug of not copying files after detected version missmatch
1 parent 05ffc61 commit 74a55f2

File tree

3 files changed

+41
-22
lines changed

3 files changed

+41
-22
lines changed

Diff for: build/setupOpencv.js

+29-15
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
3434
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
3535
}
3636
};
37+
var _this = this;
3738
Object.defineProperty(exports, "__esModule", { value: true });
3839
var constants_1 = require("./constants");
3940
var dirs_1 = require("./dirs");
@@ -212,36 +213,49 @@ function installOpenCV() {
212213
return __generator(this, function (_a) {
213214
switch (_a.label) {
214215
case 0:
215-
if (!fs_extra_1.existsSync(dirs_1.dirs.opencvInstallRoot)) return [3 /*break*/, 4];
216+
if (!fs_extra_1.existsSync(dirs_1.dirs.opencvInstallRoot)) return [3 /*break*/, 5];
216217
log.info("Directory " + dirs_1.dirs.opencvInstallRoot + " already exists, assuming existing installation.");
217-
if (!(readVersionInfo() === null || readVersionInfo() !== getPackageVersion())) return [3 /*break*/, 2];
218+
if (!(readVersionInfo() === null || readVersionInfo() !== getPackageVersion())) return [3 /*break*/, 3];
218219
log.info("Discovered version missmatch. Have: " + readVersionInfo() + " Want: " + getPackageVersion());
219220
log.info("Removing previous installation.");
220221
return [4 /*yield*/, utils_1.exec(getRmDirCmd(dirs_1.dirs.opencvInstallRoot))];
221222
case 1:
222223
_a.sent();
223-
return [3 /*break*/, 3];
224+
return [4 /*yield*/, copyOpenCV()];
224225
case 2:
226+
_a.sent();
227+
return [3 /*break*/, 4];
228+
case 3:
225229
log.info("Remove the existing directory to force a clean install.");
226-
_a.label = 3;
227-
case 3: return [3 /*break*/, 6];
228-
case 4:
229-
log.info("Installing to " + dirs_1.dirs.opencvInstallRoot, "");
230-
return [4 /*yield*/, fs_extra_1.copy(dirs_1.dirs.opencvRoot, dirs_1.dirs.opencvInstallRoot, {
231-
recursive: true,
232-
errorOnExist: true,
233-
overwrite: false
234-
})];
230+
_a.label = 4;
231+
case 4: return [3 /*break*/, 7];
235232
case 5:
233+
log.info("Installing to " + dirs_1.dirs.opencvInstallRoot, "");
234+
return [4 /*yield*/, copyOpenCV()];
235+
case 6:
236236
_a.sent();
237-
writeVersionInfo(getPackageVersion());
238-
_a.label = 6;
239-
case 6: return [2 /*return*/];
237+
_a.label = 7;
238+
case 7: return [2 /*return*/];
240239
}
241240
});
242241
});
243242
}
244243
exports.installOpenCV = installOpenCV;
244+
var copyOpenCV = function () { return __awaiter(_this, void 0, void 0, function () {
245+
return __generator(this, function (_a) {
246+
switch (_a.label) {
247+
case 0: return [4 /*yield*/, fs_extra_1.copy(dirs_1.dirs.opencvRoot, dirs_1.dirs.opencvInstallRoot, {
248+
recursive: true,
249+
errorOnExist: true,
250+
overwrite: false
251+
})];
252+
case 1:
253+
_a.sent();
254+
writeVersionInfo(getPackageVersion());
255+
return [2 /*return*/];
256+
}
257+
});
258+
}); };
245259
var getVersionInfoPath = function () { return path_1.join(dirs_1.dirs.opencvInstallRoot, "versioninfo.json"); };
246260
function writeVersionInfo(version) {
247261
fs_1.writeFileSync(getVersionInfoPath(), JSON.stringify({ version: version }));

Diff for: package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@nut-tree/opencv-build",
3-
"version": "3.4.6-beta31",
3+
"version": "3.4.6",
44
"description": "A simple script to auto build recent OpenCV + contrib version via npm. Base on [justadudewhohacks/npm-opencv-build](https://github.com/justadudewhohacks/npm-opencv-build)",
55
"main": "./build/index.js",
66
"scripts": {

Diff for: src/setupOpencv.ts

+11-6
Original file line numberDiff line numberDiff line change
@@ -135,20 +135,25 @@ export async function installOpenCV() {
135135
log.info(`Discovered version missmatch. Have: ${readVersionInfo()} Want: ${getPackageVersion()}`);
136136
log.info(`Removing previous installation.`);
137137
await exec(getRmDirCmd(dirs.opencvInstallRoot));
138+
await copyOpenCV();
138139
} else {
139140
log.info(`Remove the existing directory to force a clean install.`);
140141
}
141142
} else {
142143
log.info(`Installing to ${dirs.opencvInstallRoot}`, "");
143-
await copy(dirs.opencvRoot, dirs.opencvInstallRoot, {
144-
recursive: true,
145-
errorOnExist: true,
146-
overwrite: false
147-
});
148-
writeVersionInfo(getPackageVersion());
144+
await copyOpenCV();
149145
}
150146
}
151147

148+
const copyOpenCV = async () => {
149+
await copy(dirs.opencvRoot, dirs.opencvInstallRoot, {
150+
recursive: true,
151+
errorOnExist: true,
152+
overwrite: false
153+
});
154+
writeVersionInfo(getPackageVersion());
155+
};
156+
152157
const getVersionInfoPath = () => join(dirs.opencvInstallRoot, "versioninfo.json");
153158

154159
export function writeVersionInfo(version: string) {

0 commit comments

Comments
 (0)