Fix phalcon3 on windows

This commit is contained in:
Shivam Mathur 2021-04-21 07:38:39 +05:30
parent 45082e25a9
commit 698464efea
No known key found for this signature in database
GPG Key ID: 3E13E4C8591ACC2A
2 changed files with 59 additions and 92 deletions

87
dist/index.js vendored
View File

@ -1,3 +1,4 @@
module.exports =
/******/ (() => { // webpackBootstrap /******/ (() => { // webpackBootstrap
/******/ "use strict"; /******/ "use strict";
/******/ var __webpack_modules__ = ({ /******/ var __webpack_modules__ = ({
@ -1192,7 +1193,6 @@ exports.getInput = getInput;
*/ */
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
function setOutput(name, value) { function setOutput(name, value) {
process.stdout.write(os.EOL);
command_1.issueCommand('set-output', { name }, value); command_1.issueCommand('set-output', { name }, value);
} }
exports.setOutput = setOutput; exports.setOutput = setOutput;
@ -2057,18 +2057,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next()); step((generator = generator.apply(thisArg, _arguments || [])).next());
}); });
}; };
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
var _a; var _a;
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
const assert_1 = __nccwpck_require__(357); const assert_1 = __nccwpck_require__(357);
const fs = __importStar(__nccwpck_require__(747)); const fs = __nccwpck_require__(747);
const path = __importStar(__nccwpck_require__(622)); const path = __nccwpck_require__(622);
_a = fs.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink; _a = fs.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink;
exports.IS_WINDOWS = process.platform === 'win32'; exports.IS_WINDOWS = process.platform === 'win32';
function exists(fsPath) { function exists(fsPath) {
@ -2265,18 +2258,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next()); step((generator = generator.apply(thisArg, _arguments || [])).next());
}); });
}; };
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
const childProcess = __importStar(__nccwpck_require__(129)); const childProcess = __nccwpck_require__(129);
const path = __importStar(__nccwpck_require__(622)); const path = __nccwpck_require__(622);
const util_1 = __nccwpck_require__(669); const util_1 = __nccwpck_require__(669);
const ioUtil = __importStar(__nccwpck_require__(962)); const ioUtil = __nccwpck_require__(962);
const exec = util_1.promisify(childProcess.exec); const exec = util_1.promisify(childProcess.exec);
/** /**
* Copies a file or folder. * Copies a file or folder.
@ -2444,30 +2430,12 @@ function which(tool, check) {
throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`); throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`);
} }
} }
return result;
}
const matches = yield findInPath(tool);
if (matches && matches.length > 0) {
return matches[0];
}
return '';
});
}
exports.which = which;
/**
* Returns a list of all occurrences of the given tool on the system path.
*
* @returns Promise<string[]> the paths of the tool
*/
function findInPath(tool) {
return __awaiter(this, void 0, void 0, function* () {
if (!tool) {
throw new Error("parameter 'tool' is required");
} }
try {
// build the list of extensions to try // build the list of extensions to try
const extensions = []; const extensions = [];
if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) { if (ioUtil.IS_WINDOWS && process.env.PATHEXT) {
for (const extension of process.env['PATHEXT'].split(path.delimiter)) { for (const extension of process.env.PATHEXT.split(path.delimiter)) {
if (extension) { if (extension) {
extensions.push(extension); extensions.push(extension);
} }
@ -2477,13 +2445,13 @@ function findInPath(tool) {
if (ioUtil.isRooted(tool)) { if (ioUtil.isRooted(tool)) {
const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions); const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions);
if (filePath) { if (filePath) {
return [filePath]; return filePath;
} }
return []; return '';
} }
// if any path separators, return empty // if any path separators, return empty
if (tool.includes(path.sep)) { if (tool.includes('/') || (ioUtil.IS_WINDOWS && tool.includes('\\'))) {
return []; return '';
} }
// build the list of directories // build the list of directories
// //
@ -2499,18 +2467,21 @@ function findInPath(tool) {
} }
} }
} }
// find all matches // return the first match
const matches = [];
for (const directory of directories) { for (const directory of directories) {
const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions); const filePath = yield ioUtil.tryGetExecutablePath(directory + path.sep + tool, extensions);
if (filePath) { if (filePath) {
matches.push(filePath); return filePath;
} }
} }
return matches; return '';
}
catch (err) {
throw new Error(`which failed with message ${err.message}`);
}
}); });
} }
exports.findInPath = findInPath; exports.which = which;
function readCopyOptions(options) { function readCopyOptions(options) {
const force = options.force == null ? true : options.force; const force = options.force == null ? true : options.force;
const recursive = Boolean(options.recursive); const recursive = Boolean(options.recursive);
@ -2634,9 +2605,8 @@ module.exports = require("util");;
/******/ // The require function /******/ // The require function
/******/ function __nccwpck_require__(moduleId) { /******/ function __nccwpck_require__(moduleId) {
/******/ // Check if module is in cache /******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if(__webpack_module_cache__[moduleId]) {
/******/ if (cachedModule !== undefined) { /******/ return __webpack_module_cache__[moduleId].exports;
/******/ return cachedModule.exports;
/******/ } /******/ }
/******/ // Create a new module (and put it into the cache) /******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = { /******/ var module = __webpack_module_cache__[moduleId] = {
@ -2661,13 +2631,10 @@ module.exports = require("util");;
/************************************************************************/ /************************************************************************/
/******/ /* webpack/runtime/compat */ /******/ /* webpack/runtime/compat */
/******/ /******/
/******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";/************************************************************************/ /******/ __nccwpck_require__.ab = __dirname + "/";/************************************************************************/
/******/ /******/ // module exports must be returned from runtime so entry inlining is disabled
/******/ // startup /******/ // startup
/******/ // Load entry module and return exports /******/ // Load entry module and return exports
/******/ // This entry module is referenced by other modules so it can't be inlined /******/ return __nccwpck_require__(39);
/******/ var __webpack_exports__ = __nccwpck_require__(39);
/******/ module.exports = __webpack_exports__;
/******/
/******/ })() /******/ })()
; ;

View File

@ -18,7 +18,7 @@ Function Install-Phalcon() {
} else { } else {
$installed = Get-Php -Path $php_dir $installed = Get-Php -Path $php_dir
$nts = if (!$installed.ThreadSafe) { "_nts" } else { "" } $nts = if (!$installed.ThreadSafe) { "_nts" } else { "" }
$match = Invoke-WebRequest -UseBasicParsing -Uri $domain/phalcon/cphalcon/releases | Select-String -Pattern "href=`"(.*phalcon_x64_.*_php${version}_${extension_version}.*[0-9]${nts}.zip)`"" $match = Invoke-WebRequest -UseBasicParsing -Uri "$domain/phalcon/cphalcon/releases/v3.4.5" | Select-String -Pattern "href=`"(.*phalcon_x64_.*_php${version}_${extension_version}.*[0-9]${nts}.zip)`""
$zip_file = $match.Matches[0].Groups[1].Value $zip_file = $match.Matches[0].Groups[1].Value
Invoke-WebRequest -UseBasicParsing -Uri $domain/$zip_file -OutFile $ENV:RUNNER_TOOL_CACHE\phalcon.zip > $null 2>&1 Invoke-WebRequest -UseBasicParsing -Uri $domain/$zip_file -OutFile $ENV:RUNNER_TOOL_CACHE\phalcon.zip > $null 2>&1
Expand-Archive -Path $ENV:RUNNER_TOOL_CACHE\phalcon.zip -DestinationPath $ENV:RUNNER_TOOL_CACHE\phalcon -Force > $null 2>&1 Expand-Archive -Path $ENV:RUNNER_TOOL_CACHE\phalcon.zip -DestinationPath $ENV:RUNNER_TOOL_CACHE\phalcon -Force > $null 2>&1