UNPKG

@plexus-interop/cli

Version:

Plexus Interop CLI tools

117 lines 8.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); /** * Copyright 2017-2020 Plexus Interop Deutsche Bank AG * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var path = require("path"); var os = require("os"); var files_1 = require("./files"); var download_1 = require("./download"); var getDownloadDir = function () { return path.join(files_1.getDistDir(), 'protoc'); }; function downloadProtoc() { return tslib_1.__awaiter(this, void 0, void 0, function () { var url, downloadDir, title, downloadedExe, targetFile; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: url = getProtocDownloadUrl(); downloadDir = getDownloadDir(); title = 'Protoc'; return [4 /*yield*/, download_1.downloadPackage(url, downloadDir, title)]; case 1: _a.sent(); if (!url.endsWith('.exe')) return [3 /*break*/, 4]; return [4 /*yield*/, new Promise(function (resolve, reject) { var temp = null; files_1.iterateFiles(downloadDir, /protoc.*\.exe/g, function (f) { return temp = f; }, false); if (temp) { resolve(temp); } else { reject(new Error('Protoc EXE not found')); } })]; case 2: downloadedExe = _a.sent(); console.log('Downloaded exe file', downloadedExe); files_1.mkdirsSync(path.join(downloadDir, 'bin')); targetFile = path.join(downloadDir, 'bin', 'protoc.exe'); console.log('Copying to', targetFile); return [4 /*yield*/, files_1.copyFile(downloadedExe, targetFile)]; case 3: _a.sent(); console.log("Clearing " + downloadedExe); files_1.removeSync(downloadedExe); _a.label = 4; case 4: return [2 /*return*/, downloadDir]; } }); }); } exports.downloadProtoc = downloadProtoc; function protocExecProvided() { return tslib_1.__awaiter(this, void 0, void 0, function () { var execPath, execExists; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: execPath = getProtocExecPath(); return [4 /*yield*/, files_1.exists(execPath)]; case 1: execExists = _a.sent(); if (execExists) { return [2 /*return*/, execPath]; } else { throw new Error("Do not exist " + execPath); } return [2 /*return*/]; } }); }); } exports.protocExecProvided = protocExecProvided; function getProtocExecPath() { if (process.env.PLEXUS_CLI_PROTOC_EXE_PATH) { console.log("Using protoc from env variable " + process.env.PLEXUS_CLI_PROTOC_EXE_PATH); return process.env.PLEXUS_CLI_PROTOC_EXE_PATH; } var baseDir = getDownloadDir(); return path.join.apply(path, tslib_1.__spreadArrays([baseDir], getExePath())); } exports.getProtocExecPath = getProtocExecPath; function getProtocDownloadUrl() { var platform = os.platform() + "-" + os.arch(); return process.env["PLEXUS_PROTOC_DOWNLOAD_URL_" + platform.toUpperCase()] || process.env.PLEXUS_PROTOC_DOWNLOAD_URL || getDefaultDownloadUrl(platform); } exports.getProtocDownloadUrl = getProtocDownloadUrl; function getExePath() { return os.platform() === 'win32' ? ['bin', 'protoc.exe'] : ['bin', 'protoc']; } function getDefaultDownloadUrl(platform) { switch (platform) { case 'win32-ia32': case 'win32-x32': case 'win32-x64': return 'https://github.com/google/protobuf/releases/download/v3.5.1/protoc-3.5.1-win32.zip'; default: throw new Error(platform + " is not supported"); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9wcm90b2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsMkJBQTZCO0FBQzdCLHVCQUF5QjtBQUN6QixpQ0FBNkY7QUFDN0YsdUNBQTZDO0FBRTdDLElBQU0sY0FBYyxHQUFHLGNBQU0sT0FBQSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFVLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBakMsQ0FBaUMsQ0FBQztBQUUvRCxTQUFzQixjQUFjOzs7Ozs7b0JBQzFCLEdBQUcsR0FBRyxvQkFBb0IsRUFBRSxDQUFDO29CQUM3QixXQUFXLEdBQUcsY0FBYyxFQUFFLENBQUM7b0JBQy9CLEtBQUssR0FBRyxRQUFRLENBQUM7b0JBQ3ZCLHFCQUFNLDBCQUFlLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBQTs7b0JBQTlDLFNBQThDLENBQUM7eUJBQzNDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQXBCLHdCQUFvQjtvQkFFRSxxQkFBTSxJQUFJLE9BQU8sQ0FBUyxVQUFDLE9BQU8sRUFBRSxNQUFNOzRCQUM1RCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7NEJBQ2hCLG9CQUFZLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFVBQUEsQ0FBQyxJQUFJLE9BQUEsSUFBSSxHQUFHLENBQUMsRUFBUixDQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7NEJBQ2xFLElBQUksSUFBSSxFQUFFO2dDQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzs2QkFDakI7aUNBQU07Z0NBQ0gsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQzs2QkFDN0M7d0JBQ0wsQ0FBQyxDQUFDLEVBQUE7O29CQVJJLGFBQWEsR0FBRyxTQVFwQjtvQkFDRixPQUFPLENB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