jetbrains: update IDEA for generated plugins

This commit is contained in:
2020-10-19 19:11:26 +11:00
parent bb49706b02
commit d851231ee9
6 changed files with 104 additions and 32 deletions

View File

@ -4,7 +4,7 @@ self:
let
commonBuild = import ../../../build-support/jetbrains/plugin.nix {
commonBuild = import ../../../build-support/jetbrains/plugin-old.nix {
inherit lib stdenv fetchzip;
jetbrainsPlatforms = [
"clion"

View File

@ -1,19 +1,19 @@
{ lib, stdenv, fetchzip }:
{ lib, stdenv, variant }:
self:
let
ideaBuild = import ../../../build-support/jetbrains/plugin.nix {
inherit lib stdenv fetchzip;
inherit lib stdenv variant;
jetbrainsPlatforms = [ "idea-community" "idea-ultimate" ];
};
generateIdea = lib.makeOverridable ({
idea ? ./manual-idea-packages.nix
generated ? ./idea-generated.nix
}: let
imported = import idea {
imported = import generated {
inherit (self) callPackage;
};
@ -26,4 +26,3 @@ let
in ideaPlugins // { inherit ideaBuild; });
in generateIdea { }

View File

@ -21,11 +21,13 @@ in
assert assertMsg (length badPlugins == 0) errorMsg;
appendToName "with-plugins" (package.overrideAttrs (oldAttrs: {
passthru = { inherit plugins; };
# TODO: Purely aesthetics, but link the plugin to its name instead of hash-name-version
inherit plugins;
# TODO: Remove version from directory name
installPhase = oldAttrs.installPhase + ''
for plugin in $plugins; do
ln -s "$plugin" "$out/$name/plugins/$(basename $plugin)"
local dirname=$(basename "$plugin")
dirname=''${dirname:33}
ln -s "$plugin" "$out/$name/plugins/$dirname"
done
'';
}))