diff --git a/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix b/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix index 4653457b99bb..c92f38180f5f 100644 --- a/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix +++ b/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix @@ -3,7 +3,7 @@ lib, vscode-utils, ruff, - vscode-extensions-update-script, + vscode-extension-update-script, }: vscode-utils.buildVscodeMarketplaceExtension { @@ -45,7 +45,7 @@ vscode-utils.buildVscodeMarketplaceExtension { ln -sf ${lib.getExe ruff} "$out/$installPrefix/bundled/libs/bin/ruff" ''; - passthru.updateScript = vscode-extensions-update-script { extraArgs = [ "--platforms" ]; }; + passthru.updateScript = vscode-extension-update-script { }; meta = { license = lib.licenses.mit; diff --git a/pkgs/applications/editors/vscode/extensions/language-packs.nix b/pkgs/applications/editors/vscode/extensions/language-packs.nix index 627e009c9a54..ccfc61b9e17f 100644 --- a/pkgs/applications/editors/vscode/extensions/language-packs.nix +++ b/pkgs/applications/editors/vscode/extensions/language-packs.nix @@ -3,7 +3,7 @@ vscode-utils, writeShellScript, nix-update, - vscode-extensions-update, + vscode-extension-update, }: with vscode-utils; @@ -24,7 +24,7 @@ let }; passthru.updateScript = lib.optionalAttrs (language == "fr") ( writeShellScript "vscode-language-packs-update-script" '' - ${lib.getExe vscode-extensions-update} vscode-extensions.ms-ceintl.vscode-language-pack-fr --override-filename "pkgs/applications/editors/vscode/extensions/language-packs.nix" + ${lib.getExe vscode-extension-update} vscode-extensions.ms-ceintl.vscode-language-pack-fr --override-filename "pkgs/applications/editors/vscode/extensions/language-packs.nix" for lang in cs de es it ja ko pl pt-br qps-ploc ru tr zh-hans zh-hant; do ${lib.getExe nix-update} --version "skip" "vscode-extensions.ms-ceintl.vscode-language-pack-$lang" --override-filename "pkgs/applications/editors/vscode/extensions/language-packs.nix" done diff --git a/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix b/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix index 329a96835187..feb136b5acad 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix @@ -8,7 +8,7 @@ # Defaults to `false` as we expect it to be project specific most of the time. pythonUseFixed ? false, # For updateScript - vscode-extensions-update-script, + vscode-extension-update-script, }: vscode-utils.buildVscodeMarketplaceExtension rec { @@ -45,7 +45,7 @@ vscode-utils.buildVscodeMarketplaceExtension rec { --replace-fail "\"default\":\"python\"" "\"default\":\"${python3.interpreter}\"" ''; - passthru.updateScript = vscode-extensions-update-script { }; + passthru.updateScript = vscode-extension-update-script { }; meta = { description = "Visual Studio Code extension with rich support for the Python language"; diff --git a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix index df71d0b3ce53..5dde4c8392ed 100644 --- a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix +++ b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix @@ -1,7 +1,7 @@ { lib, vscode-utils, - vscode-extensions-update-script, + vscode-extension-update-script, }: vscode-utils.buildVscodeMarketplaceExtension { @@ -12,7 +12,7 @@ vscode-utils.buildVscodeMarketplaceExtension { hash = "sha256-ezmBS84RonkqlguLcgGZa4663GpY6yReKKb+r6YzQms="; }; - passthru.updateScript = vscode-extensions-update-script { }; + passthru.updateScript = vscode-extension-update-script { }; meta = { description = "AI-powered autonomous coding agent that lives in your editor"; diff --git a/pkgs/applications/editors/vscode/extensions/visualjj.visualjj/default.nix b/pkgs/applications/editors/vscode/extensions/visualjj.visualjj/default.nix index 5bbccd2b23e3..a66e90adf7dd 100644 --- a/pkgs/applications/editors/vscode/extensions/visualjj.visualjj/default.nix +++ b/pkgs/applications/editors/vscode/extensions/visualjj.visualjj/default.nix @@ -2,7 +2,7 @@ stdenvNoCC, lib, vscode-utils, - vscode-extensions-update-script, + vscode-extension-update-script, }: vscode-utils.buildVscodeMarketplaceExtension { @@ -35,7 +35,7 @@ vscode-utils.buildVscodeMarketplaceExtension { // sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}"); - passthru.updateScript = vscode-extensions-update-script { extraArgs = [ "--platforms" ]; }; + passthru.updateScript = vscode-extension-update-script { }; meta = { description = "Jujutsu version control integration, for simpler Git workflow"; diff --git a/pkgs/by-name/vs/vscode-extension-update/package.nix b/pkgs/by-name/vs/vscode-extension-update/package.nix new file mode 100644 index 000000000000..b0d73e775bc1 --- /dev/null +++ b/pkgs/by-name/vs/vscode-extension-update/package.nix @@ -0,0 +1,5 @@ +{ + writeScriptBin, +}: + +writeScriptBin "vscode-extension-update" (builtins.readFile ./vscode_extension_update.py) diff --git a/pkgs/by-name/vs/vscode-extensions-update/vscode-extensions-update-script.nix b/pkgs/by-name/vs/vscode-extension-update/vscode-extension-update-script.nix similarity index 61% rename from pkgs/by-name/vs/vscode-extensions-update/vscode-extensions-update-script.nix rename to pkgs/by-name/vs/vscode-extension-update/vscode-extension-update-script.nix index af432feb58e4..5fcf904653c9 100644 --- a/pkgs/by-name/vs/vscode-extensions-update/vscode-extensions-update-script.nix +++ b/pkgs/by-name/vs/vscode-extension-update/vscode-extension-update-script.nix @@ -1,6 +1,6 @@ { lib, - vscode-extensions-update, + vscode-extension-update, }: { @@ -8,6 +8,6 @@ extraArgs ? [ ], }: -[ "${lib.getExe vscode-extensions-update}" ] +[ "${lib.getExe vscode-extension-update}" ] ++ lib.optionals (attrPath != null) [ attrPath ] ++ extraArgs diff --git a/pkgs/by-name/vs/vscode-extensions-update/vscode_extensions_batch_update.py b/pkgs/by-name/vs/vscode-extension-update/vscode_extension_batch_update.py similarity index 82% rename from pkgs/by-name/vs/vscode-extensions-update/vscode_extensions_batch_update.py rename to pkgs/by-name/vs/vscode-extension-update/vscode_extension_batch_update.py index 057065ace59f..7d85cde5a9c2 100755 --- a/pkgs/by-name/vs/vscode-extensions-update/vscode_extensions_batch_update.py +++ b/pkgs/by-name/vs/vscode-extension-update/vscode_extension_batch_update.py @@ -1,5 +1,5 @@ #! /usr/bin/env nix-shell -#! nix-shell -i python3 -p nix python3 python3Packages.loguru nix-search-tv vscode-extensions-update gitMinimal +#! nix-shell -i python3 -p nix python3 python3Packages.loguru nix-search-tv vscode-extension-update gitMinimal import argparse import subprocess @@ -21,6 +21,7 @@ class VSCodeExtensionBatchUpdater: "vscode-extensions.ms-ceintl.vscode-language-pack-it", "vscode-extensions.ms-ceintl.vscode-language-pack-ja", "vscode-extensions.ms-ceintl.vscode-language-pack-ko", + "vscode-extensions.ms-ceintl.vscode-language-pack-pl", "vscode-extensions.ms-ceintl.vscode-language-pack-pt-br", "vscode-extensions.ms-ceintl.vscode-language-pack-qps-ploc", "vscode-extensions.ms-ceintl.vscode-language-pack-ru", @@ -39,13 +40,6 @@ class VSCodeExtensionBatchUpdater: self.parser = argparse.ArgumentParser( description="Batch update VSCode extensions" ) - # By default, update command skips extensions with updateScript or need '--platforms' - self.parser.add_argument( - "--platforms", - action="store_true", - help="add '--platforms' to update command from some extensions", - ) - self.platforms = self.parser.parse_args().platforms def execute_command( self, command, env: dict[str, str] = None, shell: bool = False @@ -75,10 +69,6 @@ class VSCodeExtensionBatchUpdater: except subprocess.CalledProcessError: return False - def _has_platform_source(self, extension: str) -> bool: - source_url = self._get_nix_attribute(f"{extension}.src.url") - return "targetPlatform=" in source_url - def _get_nix_attribute(self, attribute: str) -> str: return self.execute_command(["nix", "eval", "--raw", "-f", ".", attribute]) @@ -92,12 +82,7 @@ class VSCodeExtensionBatchUpdater: try: if self._has_update_script(extension): return - update_command = ["vscode-extensions-update", extension, "--commit"] - if self._has_platform_source(extension): - if self.platforms: - update_command.append("--platforms") - else: - return + update_command = ["vscode-extension-update", extension, "--commit"] filename = self._get_extension_filename(extension) if filename: update_command.extend(["--override-filename", filename]) diff --git a/pkgs/by-name/vs/vscode-extensions-update/vscode_extensions_update.py b/pkgs/by-name/vs/vscode-extension-update/vscode_extension_update.py similarity index 94% rename from pkgs/by-name/vs/vscode-extensions-update/vscode_extensions_update.py rename to pkgs/by-name/vs/vscode-extension-update/vscode_extension_update.py index a8d8cbf17e2c..979e44a3bcee 100755 --- a/pkgs/by-name/vs/vscode-extensions-update/vscode_extensions_update.py +++ b/pkgs/by-name/vs/vscode-extension-update/vscode_extension_update.py @@ -34,11 +34,6 @@ class VSCodeExtensionUpdater: action="store_true", help="allow check pre-release versions", ) - self.parser.add_argument( - "--platforms", - action="store_true", - help="set system according to meta.platforms for nix-update", - ) self.parser.add_argument( "--commit", action="store_true", help="commit the updated package" ) @@ -58,18 +53,16 @@ class VSCodeExtensionUpdater: f"{self.extension_publisher}.{self.extension_name}" ) self.nix_system = self.get_nix_system() - self.nix_systems = self._get_nix_vscode_extension_platforms() or [ + nix_vscode_extension_platforms = self._get_nix_vscode_extension_platforms() + if not nix_vscode_extension_platforms and self._has_platform_source(): + logger.error("Error: not found meta.platforms.") + sys.exit(1) + self.nix_vscode_extension_platforms = nix_vscode_extension_platforms or [ self.nix_system ] - if not self.args.platforms: - self.nix_systems = ( - [self.nix_system] - if self.nix_system in self.nix_systems - else self.nix_systems[:1] - ) - if self.nix_system in self.nix_systems: - self.nix_systems.remove(self.nix_system) - self.nix_systems.insert(0, self.nix_system) + if self.nix_system in self.nix_vscode_extension_platforms: + self.nix_vscode_extension_platforms.remove(self.nix_system) + self.nix_vscode_extension_platforms.insert(0, self.nix_system) self.supported_nix_systems = self.get_supported_nix_systems() logger.info(f"VSCode version: {self.target_vscode_version}") logger.info(f"Extension Marketplace ID: {self.extension_marketplace_id}") @@ -118,6 +111,10 @@ class VSCodeExtensionUpdater: extra_platforms = value.strip("[]").replace('"', "").split() return ([system] if system is not None else []) + extra_platforms + def _has_platform_source(self) -> bool: + source_url = self._get_nix_attribute(f"{self.attribute_path}.src.url") + return "targetPlatform=" in source_url + def _get_nix_vscode_extension_src_hash(self, system: str) -> str: url = self.execute_command( [ @@ -411,7 +408,8 @@ class VSCodeExtensionUpdater: f"Total versions found for {self.extension_marketplace_id}: {len(available_versions)}" ) self.new_version = self.find_compatible_extension_version( - available_versions, self.get_target_platform(self.nix_systems[0]) + available_versions, + self.get_target_platform(self.nix_vscode_extension_platforms[0]), ) try: self.execute_command( @@ -420,7 +418,7 @@ class VSCodeExtensionUpdater: except subprocess.CalledProcessError: logger.info("Already up to date or new version is older!") sys.exit(0) - for i, system in enumerate(self.nix_systems): + for i, system in enumerate(self.nix_vscode_extension_platforms): version = self.new_version if i == 0 else "skip" self.run_nix_update(version, system) if self.commit: diff --git a/pkgs/by-name/vs/vscode-extensions-update/package.nix b/pkgs/by-name/vs/vscode-extensions-update/package.nix deleted file mode 100644 index 80c333ddf23d..000000000000 --- a/pkgs/by-name/vs/vscode-extensions-update/package.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - writeScriptBin, -}: - -writeScriptBin "vscode-extensions-update" (builtins.readFile ./vscode_extensions_update.py) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3abca68fc7a5..40dae7f1d62a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16412,8 +16412,8 @@ with pkgs; vscode-extensions = recurseIntoAttrs (callPackage ../applications/editors/vscode/extensions { }); - vscode-extensions-update-script = - callPackage ../by-name/vs/vscode-extensions-update/vscode-extensions-update-script.nix + vscode-extension-update-script = + callPackage ../by-name/vs/vscode-extension-update/vscode-extension-update-script.nix { }; vscode-js-debug = callPackage ../by-name/vs/vscode-js-debug/package.nix {