From 05f0cadc3a2eb33a8af7336f73b0c1389cadc5d2 Mon Sep 17 00:00:00 2001 From: carlosperate Date: Mon, 6 Sep 2021 16:53:33 +0100 Subject: [PATCH] Add new toolchain release 10.3-2021.07 --- .github/workflows/test.yml | 1 + dist/index.js | 12 ++++++++---- src/gcc.ts | 9 +++++++-- src/setup.ts | 4 ++-- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 45f4853..2e03a94 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,6 +19,7 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] release: + - '10.3-2021.07' - '10-2020-q4' - '9-2020-q2' - '9-2019-q4' diff --git a/dist/index.js b/dist/index.js index 09bfeff..1e3b287 100644 --- a/dist/index.js +++ b/dist/index.js @@ -17676,7 +17676,7 @@ function urlExt(s) { const components = (_a = u.path) === null || _a === void 0 ? void 0 : _a.split('/'); if (components && (components === null || components === void 0 ? void 0 : components.length) > 0) { const last = components[(components === null || components === void 0 ? void 0 : components.length) - 1]; - const dot = last.indexOf('.'); + const dot = last.lastIndexOf('.'); if (dot >= 0) { return last.substr(dot).toLowerCase(); } @@ -17707,7 +17707,7 @@ function retryInstall(maxRetries, release, directory, platform) { extractor = unzipper.Extract({ path: directory }); resp.body.pipe(extractor); break; - case '.tar.bz2': + case '.bz2': extractor = tar_1.default.x({ strip: 1, C: directory }); resp.body.pipe(unbzip2_stream_1.default()).pipe(extractor); break; @@ -25026,6 +25026,7 @@ function Extract (opts) { Object.defineProperty(exports, "__esModule", { value: true }); exports.distributionUrl = exports.availableVersions = void 0; const versions = { + '10.3-2021.07': 'https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.07/gcc-arm-none-eabi-10.3-2021.07-${ARCH_OS}${MAC_EXTRA_OS}.${EXT}', '10-2020-q4': 'https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-${ARCH_OS}.${EXT}', '9-2020-q2': 'https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-${ARCH_OS}.${EXT}', '9-2019-q4': 'https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/gcc-arm-none-eabi-9-2019-q4-major-${ARCH_OS}.${EXT}', @@ -25065,11 +25066,13 @@ function distributionUrl(version, platform) { let archOs; let ext; let winExtraExt = ''; + let macExtraOS = ''; switch (platform) { case 'darwin': osName = 'mac'; archOs = 'mac'; ext = 'tar.bz2'; + macExtraOS = '-10.14.6'; break; case 'linux': osName = 'linux'; @@ -25085,8 +25088,7 @@ function distributionUrl(version, platform) { default: throw new Error(`platform ${platform} is not supported`); } - const parts = version.split('-'); - if (parts.length !== 3) { + if (!versions.hasOwnProperty(version)) { throw new Error(`invalid version ${version}. Available: ${availableVersions()}`); } // Try platform specific URL first @@ -25107,6 +25109,8 @@ function distributionUrl(version, platform) { return ext; case 'WIN_EXTRA_EXT': return winExtraExt; + case 'MAC_EXTRA_OS': + return macExtraOS; } throw new Error(`unknown replacement ${p1}`); }); diff --git a/src/gcc.ts b/src/gcc.ts index ee4ee07..444beae 100644 --- a/src/gcc.ts +++ b/src/gcc.ts @@ -1,4 +1,6 @@ const versions: {[key: string]: string} = { + '10.3-2021.07': + 'https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.07/gcc-arm-none-eabi-10.3-2021.07-${ARCH_OS}${MAC_EXTRA_OS}.${EXT}', '10-2020-q4': 'https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-${ARCH_OS}.${EXT}', '9-2020-q2': @@ -67,11 +69,13 @@ export function distributionUrl(version: string, platform: string): string { let archOs: string let ext: string let winExtraExt = '' + let macExtraOS = '' switch (platform) { case 'darwin': osName = 'mac' archOs = 'mac' ext = 'tar.bz2' + macExtraOS = '-10.14.6' break case 'linux': osName = 'linux' @@ -87,8 +91,7 @@ export function distributionUrl(version: string, platform: string): string { default: throw new Error(`platform ${platform} is not supported`) } - const parts = version.split('-') - if (parts.length !== 3) { + if (!versions.hasOwnProperty(version)) { throw new Error(`invalid version ${version}. Available: ${availableVersions()}`) } // Try platform specific URL first @@ -109,6 +112,8 @@ export function distributionUrl(version: string, platform: string): string { return ext case 'WIN_EXTRA_EXT': return winExtraExt + case 'MAC_EXTRA_OS': + return macExtraOS } throw new Error(`unknown replacement ${p1}`) }) diff --git a/src/setup.ts b/src/setup.ts index 6898beb..6a52e46 100644 --- a/src/setup.ts +++ b/src/setup.ts @@ -14,7 +14,7 @@ function urlExt(s: string): string { const components = u.path?.split('/') if (components && components?.length > 0) { const last = components[components?.length - 1] - const dot = last.indexOf('.') + const dot = last.lastIndexOf('.') if (dot >= 0) { return last.substr(dot).toLowerCase() } @@ -43,7 +43,7 @@ async function retryInstall(maxRetries: number, release: string, directory: stri extractor = unzipper.Extract({path: directory}) resp.body.pipe(extractor) break - case '.tar.bz2': + case '.bz2': extractor = tar.x({strip: 1, C: directory}) resp.body.pipe(bz2()).pipe(extractor) break