From 4b75b7a46eecb697c2fe027e2a46a7ba9efa0ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20=22Capypara=22=20K=C3=B6pcke?= Date: Sat, 3 May 2025 21:51:27 +0200 Subject: [PATCH 1/6] jetbrains: add and improve tests --- nixos/tests/all-tests.nix | 1 + nixos/tests/jetbrains/default.nix | 8 ++ nixos/tests/jetbrains/plugins-available.nix | 41 ++++++++ .../editors/jetbrains/bin/darwin.nix | 3 +- .../editors/jetbrains/bin/linux.nix | 2 + .../editors/jetbrains/default.nix | 8 ++ .../editors/jetbrains/plugins/tests.nix | 98 +++++++++++++------ pkgs/applications/editors/jetbrains/readme.md | 11 ++- 8 files changed, 141 insertions(+), 31 deletions(-) create mode 100644 nixos/tests/jetbrains/default.nix create mode 100644 nixos/tests/jetbrains/plugins-available.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index a00ce39bdf4f..75f9a9b0b1e2 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -672,6 +672,7 @@ in jellyfin = handleTest ./jellyfin.nix { }; jenkins = handleTest ./jenkins.nix { }; jenkins-cli = handleTest ./jenkins-cli.nix { }; + jetbrains = import ./jetbrains/default.nix { inherit runTest; }; jibri = handleTest ./jibri.nix { }; jirafeau = handleTest ./jirafeau.nix { }; jitsi-meet = handleTest ./jitsi-meet.nix { }; diff --git a/nixos/tests/jetbrains/default.nix b/nixos/tests/jetbrains/default.nix new file mode 100644 index 000000000000..0a387f0a7abe --- /dev/null +++ b/nixos/tests/jetbrains/default.nix @@ -0,0 +1,8 @@ +{ + runTest, +}: +{ + plugins-available = runTest { + imports = [ ./plugins-available.nix ]; + }; +} diff --git a/nixos/tests/jetbrains/plugins-available.nix b/nixos/tests/jetbrains/plugins-available.nix new file mode 100644 index 000000000000..1dd8e3d5c36b --- /dev/null +++ b/nixos/tests/jetbrains/plugins-available.nix @@ -0,0 +1,41 @@ +{ pkgs, ... }: + +# This test builds IDEA Community with some plugins and checks that they can be discovered by the IDE. +let + idea = ( + pkgs.jetbrains.plugins.addPlugins pkgs.jetbrains.idea-community-src [ + # This is a "normal plugin", it's output must be linked into /idea-community/plugins. + "ideavim" + # This is a plugin where the output contains a single JAR file. This JAR file needs to be linked directly in /idea-community/plugins. + "wakatime" + ] + ); +in +{ + name = "jetbrains_build-ide-with-plugins"; + meta.maintainers = pkgs.lib.teams.jetbrains.members; + + nodes = { + server = + { config, pkgs, ... }: + { + environment.systemPackages = [ + idea + ]; + }; + }; + + testScript = + { ... }: + '' + with subtest("ensure normal plugin is available"): + machine.succeed("find -L ${idea.out}/idea-community/plugins -type f -iname 'IdeaVIM-*.jar' | grep .") + + with subtest("ensure single JAR file plugin is available"): + machine.succeed(""" + PATH_TO_LINK=$(find ${idea.out}/idea-community/plugins -maxdepth 1 -type l -iname '*wakatime.jar' | grep .) + test -f $(readlink $PATH_TO_LINK) + """) + ''; + +} diff --git a/pkgs/applications/editors/jetbrains/bin/darwin.nix b/pkgs/applications/editors/jetbrains/bin/darwin.nix index 14673f41debb..fa73088e7287 100644 --- a/pkgs/applications/editors/jetbrains/bin/darwin.nix +++ b/pkgs/applications/editors/jetbrains/bin/darwin.nix @@ -15,7 +15,7 @@ plugins ? [ ], buildNumber, ... -}: +}@args: let loname = lib.toLower productShort; @@ -29,6 +29,7 @@ stdenvNoCC.mkDerivation { ; passthru.buildNumber = buildNumber; passthru.product = product; + passthru.tests = args.passthru.tests; meta = meta // { mainProgram = loname; }; diff --git a/pkgs/applications/editors/jetbrains/bin/linux.nix b/pkgs/applications/editors/jetbrains/bin/linux.nix index 123bf81d2dde..6b0c1c313508 100644 --- a/pkgs/applications/editors/jetbrains/bin/linux.nix +++ b/pkgs/applications/editors/jetbrains/bin/linux.nix @@ -35,6 +35,7 @@ extraLdPath ? [ ], extraWrapperArgs ? [ ], extraBuildInputs ? [ ], + ... }@args: let @@ -48,6 +49,7 @@ lib.makeOverridable mkDerivation ( rec { inherit pname version src; passthru.buildNumber = buildNumber; + passthru.tests = args.passthru.tests; meta = args.meta // { mainProgram = pname; }; diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index efb86750d905..1d4ff876f3c9 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -10,6 +10,7 @@ in stdenv, callPackage, fetchurl, + nixosTests, jdk, zlib, @@ -77,6 +78,7 @@ let extraWrapperArgs ? [ ], extraLdPath ? [ ], extraBuildInputs ? [ ], + extraTests ? [ ], }: mkJetBrainsProductCore { inherit @@ -100,6 +102,9 @@ let inherit (ideInfo."${pname}") wmClass product; productShort = ideInfo."${pname}".productShort or ideInfo."${pname}".product; meta = mkMeta ideInfo."${pname}".meta fromSource; + passthru.tests = extraTests // { + plugins = callPackage ./plugins/tests.nix { ideName = pname; }; + }; libdbm = if ideInfo."${pname}".meta.isOpenSource then communitySources."${pname}".libdbm @@ -273,6 +278,9 @@ rec { pname = "idea-community"; extraBuildInputs = [ stdenv.cc.cc ]; fromSource = true; + extraTests = { + nixos-plugins-available = nixosTests.jetbrains.plugins-available; + }; }; idea-community = diff --git a/pkgs/applications/editors/jetbrains/plugins/tests.nix b/pkgs/applications/editors/jetbrains/plugins/tests.nix index b80e190fc6d5..4317e0a9f4b1 100644 --- a/pkgs/applications/editors/jetbrains/plugins/tests.nix +++ b/pkgs/applications/editors/jetbrains/plugins/tests.nix @@ -1,36 +1,78 @@ -{ jetbrains, writeText }: +{ + jetbrains, + symlinkJoin, + lib, + # If not set, all IDEs are tested. + ideName ? null, +}: +let + + # Known broken plugins, PLEASE remove entries here whenever possible. + brokenPlugins = [ + "github-copilot" # GitHub Copilot: https://github.com/NixOS/nixpkgs/issues/400317 + ]; + + ideNames = + if ideName == null then + with jetbrains; + [ + clion + datagrip + dataspell + goland + idea-community + idea-ultimate + mps + phpstorm + pycharm-community + pycharm-professional + rider + ruby-mine + rust-rover + webstorm + ] + else + [ (jetbrains.${ideName}) ]; +in { # Check to see if the process for adding plugins is breaking anything, instead of the plugins themselves - default = + empty = let modify-ide = ide: jetbrains.plugins.addPlugins ide [ ]; - ides = - with jetbrains; - map modify-ide [ - clion - datagrip - dataspell - goland - idea-community - idea-ultimate - mps - phpstorm - pycharm-community - pycharm-professional - rider - ruby-mine - rust-rover - webstorm - ]; - paths = builtins.concatStringsSep " " ides; in - writeText "jb-ides" paths; + symlinkJoin { + name = "jetbrains-test-plugins-empty"; + paths = (map modify-ide ideNames); + }; - idea-ce-with-plugins = jetbrains.plugins.addPlugins jetbrains.idea-community [ - "ideavim" - "nixidea" - # test JAR plugins - "wakatime" - ]; + # Test all plugins. This will only build plugins compatible with the IDE and version. It will fail if the plugin is marked + # as compatible, but the build version is somehow not in the "builds" map (as that would indicate that something with update_plugins.py went wrong). + all = + let + pluginsJson = builtins.fromJSON (builtins.readFile ./plugins.json); + pluginsFor = + with lib.asserts; + ide: + builtins.map (plugin: plugin.name) ( + builtins.filter ( + plugin: + ( + # Plugin has to not be broken + (!builtins.elem plugin.name brokenPlugins) + # IDE has to be compatible + && (builtins.elem ide.pname plugin.compatible) + # Assert: The build number needs to be included (if marked compatible) + && (assertMsg (builtins.elem ide.buildNumber (builtins.attrNames plugin.builds)) "For plugin ${plugin.name} no entry for IDE build ${ide.buildNumber} is defined, even though ${ide.pname} is on that build.") + # The plugin has to exist for the build + && (plugin.builds.${ide.buildNumber} != null) + ) + ) (builtins.attrValues pluginsJson.plugins) + ); + modify-ide = ide: jetbrains.plugins.addPlugins ide (pluginsFor ide); + in + symlinkJoin { + name = "jetbrains-test-plugins-all"; + paths = (map modify-ide ideNames); + }; } diff --git a/pkgs/applications/editors/jetbrains/readme.md b/pkgs/applications/editors/jetbrains/readme.md index a1c9788e64e3..55cd2b2bc47a 100644 --- a/pkgs/applications/editors/jetbrains/readme.md +++ b/pkgs/applications/editors/jetbrains/readme.md @@ -1,12 +1,19 @@ This directory contains the build expressions needed to build any of the jetbrains IDEs. The jdk is in `pkgs/development/compilers/jetbrains-jdk`. -To test the build process of every IDE (as well as the process for adding plugins), build `jetbrains.plugins.tests.default`. + +## Tests: +- To test the build process of every IDE (as well as the process for adding plugins), build `jetbrains.plugins.tests.empty`. +- To test the build process with all plugins* supported by all IDEs, build `jetbrains.plugins.tests.all`. +- To test only plugins for a specific IDE*, build `jetbrains.ide-name.tests.plugins.all`. +- To test that plugins are correctly stored in the plugins directory run the NixOS test `nixosTests.jetbrains.plugins-available`. + +*: Plugins marked as broken in nixpkgs are skipped: When updating/fixing plugins, please check the `brokenPlugins` in `plugins/tests.nix` and update it if needed. ## How to use plugins: - Get the ide you want and call `jetbrains.plugins.addPlugins` with a list of plugins you want to add. - The list of plugins can be a list of ids or names (as in `plugins/plugins.json`) - Example: `jetbrains.plugins.addPlugins jetbrains.pycharm-professional [ "nixidea" ]` - - The list can also contain a drv giving a `.jar` or `.zip` (this is how you use a plugin not added to nixpkgs) + - The list can also contain drvs giving the directory contents of the plugin (this is how you use a plugin not added to nixpkgs) or a single `.jar` (executable). For an example, look at the implementation of `fetchPluginSrc` in `plugins/default.nix`. ### How to add a new plugin to nixpkgs - Find the page for the plugin on https://plugins.jetbrains.com From 6b1e8c30c84288764ad81af959f30963733fe816 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20=22Capypara=22=20K=C3=B6pcke?= Date: Sat, 3 May 2025 22:06:52 +0200 Subject: [PATCH 2/6] jetbrains: fix format in README --- pkgs/applications/editors/jetbrains/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/readme.md b/pkgs/applications/editors/jetbrains/readme.md index 55cd2b2bc47a..1a0298aaadd0 100644 --- a/pkgs/applications/editors/jetbrains/readme.md +++ b/pkgs/applications/editors/jetbrains/readme.md @@ -3,11 +3,11 @@ The jdk is in `pkgs/development/compilers/jetbrains-jdk`. ## Tests: - To test the build process of every IDE (as well as the process for adding plugins), build `jetbrains.plugins.tests.empty`. -- To test the build process with all plugins* supported by all IDEs, build `jetbrains.plugins.tests.all`. -- To test only plugins for a specific IDE*, build `jetbrains.ide-name.tests.plugins.all`. +- To test the build process with all plugins\* supported by all IDEs, build `jetbrains.plugins.tests.all`. +- To test only plugins for a specific IDE\*, build `jetbrains.ide-name.tests.plugins.all`. - To test that plugins are correctly stored in the plugins directory run the NixOS test `nixosTests.jetbrains.plugins-available`. -*: Plugins marked as broken in nixpkgs are skipped: When updating/fixing plugins, please check the `brokenPlugins` in `plugins/tests.nix` and update it if needed. +\*: Plugins marked as broken in nixpkgs are skipped: When updating/fixing plugins, please check the `brokenPlugins` in `plugins/tests.nix` and update it if needed. ## How to use plugins: - Get the ide you want and call `jetbrains.plugins.addPlugins` with a list of plugins you want to add. From ac79160520d75ac21e84eff4ab77630632cd6fae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20=22Capypara=22=20K=C3=B6pcke?= Date: Sun, 4 May 2025 19:56:49 +0200 Subject: [PATCH 3/6] jetbrains: move test to package --- nixos/tests/all-tests.nix | 1 - nixos/tests/jetbrains/default.nix | 8 -- nixos/tests/jetbrains/plugins-available.nix | 2 +- .../editors/jetbrains/default.nix | 6 +- .../editors/jetbrains/plugins/tests.nix | 73 ++++++++++++++++--- pkgs/applications/editors/jetbrains/readme.md | 4 +- 6 files changed, 68 insertions(+), 26 deletions(-) delete mode 100644 nixos/tests/jetbrains/default.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 75f9a9b0b1e2..a00ce39bdf4f 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -672,7 +672,6 @@ in jellyfin = handleTest ./jellyfin.nix { }; jenkins = handleTest ./jenkins.nix { }; jenkins-cli = handleTest ./jenkins-cli.nix { }; - jetbrains = import ./jetbrains/default.nix { inherit runTest; }; jibri = handleTest ./jibri.nix { }; jirafeau = handleTest ./jirafeau.nix { }; jitsi-meet = handleTest ./jitsi-meet.nix { }; diff --git a/nixos/tests/jetbrains/default.nix b/nixos/tests/jetbrains/default.nix deleted file mode 100644 index 0a387f0a7abe..000000000000 --- a/nixos/tests/jetbrains/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - runTest, -}: -{ - plugins-available = runTest { - imports = [ ./plugins-available.nix ]; - }; -} diff --git a/nixos/tests/jetbrains/plugins-available.nix b/nixos/tests/jetbrains/plugins-available.nix index 1dd8e3d5c36b..3b74ebae361c 100644 --- a/nixos/tests/jetbrains/plugins-available.nix +++ b/nixos/tests/jetbrains/plugins-available.nix @@ -5,7 +5,7 @@ let idea = ( pkgs.jetbrains.plugins.addPlugins pkgs.jetbrains.idea-community-src [ # This is a "normal plugin", it's output must be linked into /idea-community/plugins. - "ideavim" + "nixidea" # This is a plugin where the output contains a single JAR file. This JAR file needs to be linked directly in /idea-community/plugins. "wakatime" ] diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 1d4ff876f3c9..71eaaa2e9ba2 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -10,7 +10,6 @@ in stdenv, callPackage, fetchurl, - nixosTests, jdk, zlib, @@ -78,7 +77,7 @@ let extraWrapperArgs ? [ ], extraLdPath ? [ ], extraBuildInputs ? [ ], - extraTests ? [ ], + extraTests ? { }, }: mkJetBrainsProductCore { inherit @@ -278,9 +277,6 @@ rec { pname = "idea-community"; extraBuildInputs = [ stdenv.cc.cc ]; fromSource = true; - extraTests = { - nixos-plugins-available = nixosTests.jetbrains.plugins-available; - }; }; idea-community = diff --git a/pkgs/applications/editors/jetbrains/plugins/tests.nix b/pkgs/applications/editors/jetbrains/plugins/tests.nix index 4317e0a9f4b1..28cd17f81ce3 100644 --- a/pkgs/applications/editors/jetbrains/plugins/tests.nix +++ b/pkgs/applications/editors/jetbrains/plugins/tests.nix @@ -2,6 +2,7 @@ jetbrains, symlinkJoin, lib, + runCommand, # If not set, all IDEs are tested. ideName ? null, }: @@ -9,17 +10,19 @@ let # Known broken plugins, PLEASE remove entries here whenever possible. - brokenPlugins = [ + broken-plugins = [ "github-copilot" # GitHub Copilot: https://github.com/NixOS/nixpkgs/issues/400317 ]; - ideNames = + ides = if ideName == null then with jetbrains; [ + aqua clion datagrip dataspell + gateway goland idea-community idea-ultimate @@ -31,6 +34,7 @@ let ruby-mine rust-rover webstorm + writerside ] else [ (jetbrains.${ideName}) ]; @@ -43,15 +47,15 @@ in in symlinkJoin { name = "jetbrains-test-plugins-empty"; - paths = (map modify-ide ideNames); + paths = (map modify-ide ides); }; # Test all plugins. This will only build plugins compatible with the IDE and version. It will fail if the plugin is marked # as compatible, but the build version is somehow not in the "builds" map (as that would indicate that something with update_plugins.py went wrong). all = let - pluginsJson = builtins.fromJSON (builtins.readFile ./plugins.json); - pluginsFor = + plugins-json = builtins.fromJSON (builtins.readFile ./plugins.json); + plugins-for = with lib.asserts; ide: builtins.map (plugin: plugin.name) ( @@ -59,7 +63,7 @@ in plugin: ( # Plugin has to not be broken - (!builtins.elem plugin.name brokenPlugins) + (!builtins.elem plugin.name broken-plugins) # IDE has to be compatible && (builtins.elem ide.pname plugin.compatible) # Assert: The build number needs to be included (if marked compatible) @@ -67,12 +71,63 @@ in # The plugin has to exist for the build && (plugin.builds.${ide.buildNumber} != null) ) - ) (builtins.attrValues pluginsJson.plugins) + ) (builtins.attrValues plugins-json.plugins) ); - modify-ide = ide: jetbrains.plugins.addPlugins ide (pluginsFor ide); + modify-ide = ide: jetbrains.plugins.addPlugins ide (plugins-for ide); in symlinkJoin { name = "jetbrains-test-plugins-all"; - paths = (map modify-ide ideNames); + paths = (map modify-ide ides); }; + + # This test builds the IDEs with some plugins and checks that they can be discovered by the IDE. + # Test always succeeds on IDEs that the tested plugins don't support. + stored-correctly = + let + plugins-json = builtins.fromJSON (builtins.readFile ./plugins.json); + plugin-ids = [ + # This is a "normal plugin", it's output must be linked into /${pname}/plugins. + "8607" # nixidea + # This is a plugin where the output contains a single JAR file. This JAR file needs to be linked directly in /${pname}/plugins. + "7425" # wakatime + ]; + check-if-supported = + ide: + builtins.all ( + plugin: + (builtins.elem ide.pname plugins-json.plugins.${plugin}.compatible) + && (plugins-json.plugins.${plugin}.builds.${ide.buildNumber} != null) + ) plugin-ids; + modify-ide = ide: jetbrains.plugins.addPlugins ide plugin-ids; + in + runCommand "test-jetbrains-plugins-stored-correctly" + { + idePaths = (map modify-ide (builtins.filter check-if-supported ides)); + } + # TODO: instead of globbing using $ide/*/plugins we could probably somehow get the package name here properly. + '' + set -e + exec &> >(tee -a "$out") + + IFS=' ' read -ra ideArray <<< "$idePaths" + for ide in "''${ideArray[@]}"; do + echo "processing $ide" + + echo "> ensure normal plugin is available" + ( + set -x + find -L $ide/*/plugins -type f -iname 'NixIDEA-*.jar' | grep . + ) + + echo "> ensure single JAR file plugin is available" + ( + set -x + PATH_TO_LINK=$(find $ide/*/plugins -maxdepth 1 -type l -iname '*wakatime.jar' | grep .) + test -f $(readlink $PATH_TO_LINK) + ) + echo "" + done + + echo "test done! ok!" + ''; } diff --git a/pkgs/applications/editors/jetbrains/readme.md b/pkgs/applications/editors/jetbrains/readme.md index 1a0298aaadd0..1fe201860e18 100644 --- a/pkgs/applications/editors/jetbrains/readme.md +++ b/pkgs/applications/editors/jetbrains/readme.md @@ -5,9 +5,9 @@ The jdk is in `pkgs/development/compilers/jetbrains-jdk`. - To test the build process of every IDE (as well as the process for adding plugins), build `jetbrains.plugins.tests.empty`. - To test the build process with all plugins\* supported by all IDEs, build `jetbrains.plugins.tests.all`. - To test only plugins for a specific IDE\*, build `jetbrains.ide-name.tests.plugins.all`. -- To test that plugins are correctly stored in the plugins directory run the NixOS test `nixosTests.jetbrains.plugins-available`. +- To test that plugins are correctly stored in the plugins directory, build `jetbrains.plugins.tests.stored-correctly`. -\*: Plugins marked as broken in nixpkgs are skipped: When updating/fixing plugins, please check the `brokenPlugins` in `plugins/tests.nix` and update it if needed. +\*: Plugins marked as broken in nixpkgs are skipped: When updating/fixing plugins, please check the `broken-plugins` in `plugins/tests.nix` and update it if needed. ## How to use plugins: - Get the ide you want and call `jetbrains.plugins.addPlugins` with a list of plugins you want to add. From b9b40bcd13cecba78eaa41f742376b887ad5b4eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20=22Capypara=22=20K=C3=B6pcke?= Date: Sun, 4 May 2025 19:58:06 +0200 Subject: [PATCH 4/6] jetbrains: remove obsolete file --- nixos/tests/jetbrains/plugins-available.nix | 41 --------------------- 1 file changed, 41 deletions(-) delete mode 100644 nixos/tests/jetbrains/plugins-available.nix diff --git a/nixos/tests/jetbrains/plugins-available.nix b/nixos/tests/jetbrains/plugins-available.nix deleted file mode 100644 index 3b74ebae361c..000000000000 --- a/nixos/tests/jetbrains/plugins-available.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ pkgs, ... }: - -# This test builds IDEA Community with some plugins and checks that they can be discovered by the IDE. -let - idea = ( - pkgs.jetbrains.plugins.addPlugins pkgs.jetbrains.idea-community-src [ - # This is a "normal plugin", it's output must be linked into /idea-community/plugins. - "nixidea" - # This is a plugin where the output contains a single JAR file. This JAR file needs to be linked directly in /idea-community/plugins. - "wakatime" - ] - ); -in -{ - name = "jetbrains_build-ide-with-plugins"; - meta.maintainers = pkgs.lib.teams.jetbrains.members; - - nodes = { - server = - { config, pkgs, ... }: - { - environment.systemPackages = [ - idea - ]; - }; - }; - - testScript = - { ... }: - '' - with subtest("ensure normal plugin is available"): - machine.succeed("find -L ${idea.out}/idea-community/plugins -type f -iname 'IdeaVIM-*.jar' | grep .") - - with subtest("ensure single JAR file plugin is available"): - machine.succeed(""" - PATH_TO_LINK=$(find ${idea.out}/idea-community/plugins -maxdepth 1 -type l -iname '*wakatime.jar' | grep .) - test -f $(readlink $PATH_TO_LINK) - """) - ''; - -} From 72c84cbebbd30294a22d88526d247268216c4867 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20=22Capypara=22=20K=C3=B6pcke?= Date: Sun, 4 May 2025 20:06:04 +0200 Subject: [PATCH 5/6] jetbrains: fix format --- pkgs/applications/editors/jetbrains/plugins/tests.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/jetbrains/plugins/tests.nix b/pkgs/applications/editors/jetbrains/plugins/tests.nix index 28cd17f81ce3..0525031d0211 100644 --- a/pkgs/applications/editors/jetbrains/plugins/tests.nix +++ b/pkgs/applications/editors/jetbrains/plugins/tests.nix @@ -112,7 +112,7 @@ in IFS=' ' read -ra ideArray <<< "$idePaths" for ide in "''${ideArray[@]}"; do echo "processing $ide" - + echo "> ensure normal plugin is available" ( set -x From a38346938f744cc9aaf099da0389fbbd7431453d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20K=C3=B6pcke?= Date: Fri, 9 May 2025 17:49:30 +0200 Subject: [PATCH 6/6] jetbrains.plugins.test: Also test bin/src packages explicitly --- pkgs/applications/editors/jetbrains/plugins/tests.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/plugins/tests.nix b/pkgs/applications/editors/jetbrains/plugins/tests.nix index 0525031d0211..bb182e599cac 100644 --- a/pkgs/applications/editors/jetbrains/plugins/tests.nix +++ b/pkgs/applications/editors/jetbrains/plugins/tests.nix @@ -24,11 +24,13 @@ let dataspell gateway goland - idea-community + idea-community-src + idea-community-bin idea-ultimate mps phpstorm - pycharm-community + pycharm-community-src + pycharm-community-bin pycharm-professional rider ruby-mine