@@ -99514,7 +99514,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
99514
99514
});
99515
99515
};
99516
99516
Object.defineProperty(exports, "__esModule", ({ value: true }));
99517
- exports.pythonVersionToSemantic = exports.useCpythonVersion = void 0;
99517
+ exports.pythonVersionToSemantic = exports.desugarVersion = exports. useCpythonVersion = void 0;
99518
99518
const os = __importStar(__nccwpck_require__(2037));
99519
99519
const path = __importStar(__nccwpck_require__(1017));
99520
99520
const utils_1 = __nccwpck_require__(1314);
@@ -99546,9 +99546,8 @@ function useCpythonVersion(version, architecture, updateEnvironment, checkLatest
99546
99546
return __awaiter(this, void 0, void 0, function* () {
99547
99547
var _a;
99548
99548
let manifest = null;
99549
- const [desugaredVersionSpec, freethreaded] = desugarFreeThreadedVersion(version);
99550
- const desugaredVersionSpec2 = desugarDevVersion(desugaredVersionSpec);
99551
- let semanticVersionSpec = pythonVersionToSemantic(desugaredVersionSpec2, allowPreReleases);
99549
+ const [desugaredVersionSpec, freethreaded] = desugarVersion(version);
99550
+ let semanticVersionSpec = pythonVersionToSemantic(desugaredVersionSpec, allowPreReleases);
99552
99551
core.debug(`Semantic version spec of ${version} is ${semanticVersionSpec}`);
99553
99552
if (freethreaded) {
99554
99553
// Free threaded versions use an architecture suffix like `x64-freethreaded`
@@ -99629,14 +99628,21 @@ function useCpythonVersion(version, architecture, updateEnvironment, checkLatest
99629
99628
});
99630
99629
}
99631
99630
exports.useCpythonVersion = useCpythonVersion;
99632
- /* Identify freethreaded versions like, 3.13t, 3.13t-dev, 3.14.0a1t. Returns
99633
- * the version without the `t` and the architectures suffix, if freethreaded */
99631
+ /* Desugar free threaded and dev versions */
99632
+ function desugarVersion(versionSpec) {
99633
+ const [desugaredVersionSpec, freethreaded] = desugarFreeThreadedVersion(versionSpec);
99634
+ const desugaredVersionSpec2 = desugarDevVersion(desugaredVersionSpec);
99635
+ return [desugaredVersionSpec2, freethreaded];
99636
+ }
99637
+ exports.desugarVersion = desugarVersion;
99638
+ /* Identify freethreaded versions like, 3.13t, 3.13.1t, 3.13t-dev, 3.14.0a1t.
99639
+ * Returns the version without the `t` and the architectures suffix, if freethreaded */
99634
99640
function desugarFreeThreadedVersion(versionSpec) {
99635
99641
const prereleaseVersion = /(\d+\.\d+\.\d+)(t)((?:a|b|rc)\d*)/g;
99636
99642
if (prereleaseVersion.test(versionSpec)) {
99637
99643
return [versionSpec.replace(prereleaseVersion, '$1$3'), '-freethreaded'];
99638
99644
}
99639
- const majorMinor = /^(\d+\.\d+)(t)$/;
99645
+ const majorMinor = /^(\d+\.\d+(\.\d+)? )(t)$/;
99640
99646
if (majorMinor.test(versionSpec)) {
99641
99647
return [versionSpec.replace(majorMinor, '$1'), '-freethreaded'];
99642
99648
}
0 commit comments