Unverified Commit d063f36e authored by Leona Maroni's avatar Leona Maroni Committed by GitHub
Browse files

jetbrains.plugins: extend update script for source builds (#366290)

parents f5a3e2b6 7fe89a85
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -149,4 +149,3 @@ subprocess.run(['git', 'commit', f'-m{commitMessage}', '--', f'{versions_file_pa
logging.info("#### Updating plugins ####")
plugin_script = current_path.joinpath("../plugins/update_plugins.py").resolve()
subprocess.call(plugin_script)
+40 −15
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/164/590339/IdeaVIM-2.16.0.zip",
        "243.21565.199": "https://plugins.jetbrains.com/files/164/635855/IdeaVIM-2.17.0.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/164/635855/IdeaVIM-2.17.0.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/164/635855/IdeaVIM-2.17.0.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/164/635855/IdeaVIM-2.17.0.zip",
@@ -46,7 +47,7 @@
        "idea-ultimate"
      ],
      "builds": {
        "243.22562.145": "https://plugins.jetbrains.com/files/1347/645439/scala-intellij-bin-2024.3.22.zip"
        "243.22562.145": "https://plugins.jetbrains.com/files/1347/652338/scala-intellij-bin-2024.3.23.zip"
      },
      "name": "scala"
    },
@@ -68,6 +69,7 @@
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip",
        "243.21565.199": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip",
@@ -99,6 +101,7 @@
      ],
      "builds": {
        "241.19072.1155": null,
        "243.21565.199": null,
        "243.22562.112": null,
        "243.22562.115": null,
        "243.22562.145": null,
@@ -130,6 +133,7 @@
      ],
      "builds": {
        "241.19072.1155": null,
        "243.21565.199": "https://plugins.jetbrains.com/files/6981/633889/ini-243.21565.208.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/6981/648802/ini-243.22562.180.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/6981/648802/ini-243.22562.180.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/6981/648802/ini-243.22562.180.zip",
@@ -161,6 +165,7 @@
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/7086/610924/AceJump.zip",
        "243.21565.199": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
@@ -209,6 +214,7 @@
        "webstorm"
      ],
      "builds": {
        "243.21565.199": "https://plugins.jetbrains.com/files/7322/634169/python-ce-243.21565.211.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/7322/646590/python-ce-243.22562.145.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/7322/646590/python-ce-243.22562.145.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/7322/646590/python-ce-243.22562.145.zip",
@@ -238,6 +244,7 @@
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip",
        "243.21565.199": "https://plugins.jetbrains.com/files/7391/634204/asciidoctor-intellij-plugin-0.43.3.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/7391/634204/asciidoctor-intellij-plugin-0.43.3.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/7391/634204/asciidoctor-intellij-plugin-0.43.3.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/7391/634204/asciidoctor-intellij-plugin-0.43.3.zip",
@@ -268,6 +275,7 @@
      ],
      "builds": {
        "241.19072.1155": null,
        "243.21565.199": null,
        "243.22562.112": null,
        "243.22562.115": null,
        "243.22562.145": null,
@@ -297,6 +305,7 @@
      ],
      "builds": {
        "241.19072.1155": null,
        "243.21565.199": null,
        "243.22562.112": null,
        "243.22562.115": null,
        "243.22562.145": null,
@@ -327,6 +336,7 @@
      ],
      "builds": {
        "241.19072.1155": null,
        "243.21565.199": "https://plugins.jetbrains.com/files/8554/633920/featuresTrainer-243.21565.204.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/8554/649092/featuresTrainer-243.22562.187.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/8554/649092/featuresTrainer-243.22562.187.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/8554/649092/featuresTrainer-243.22562.187.zip",
@@ -358,6 +368,7 @@
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/8607/606922/NixIDEA-0.4.0.16.zip",
        "243.21565.199": "https://plugins.jetbrains.com/files/8607/606922/NixIDEA-0.4.0.16.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/8607/606922/NixIDEA-0.4.0.16.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/8607/606922/NixIDEA-0.4.0.16.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/8607/606922/NixIDEA-0.4.0.16.zip",
@@ -400,6 +411,7 @@
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/10037/585243/CSVEditor-3.4.0-241.zip",
        "243.21565.199": "https://plugins.jetbrains.com/files/10037/646414/intellij-csv-validator-4.0.1.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/10037/646414/intellij-csv-validator-4.0.1.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/10037/646414/intellij-csv-validator-4.0.1.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/10037/646414/intellij-csv-validator-4.0.1.zip",
@@ -430,17 +442,18 @@
        "webstorm"
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/11349/648222/aws-toolkit-jetbrains-standalone-3.45-241.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/11349/648226/aws-toolkit-jetbrains-standalone-3.45-243.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/11349/648226/aws-toolkit-jetbrains-standalone-3.45-243.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/11349/648226/aws-toolkit-jetbrains-standalone-3.45-243.zip",
        "243.22562.151": "https://plugins.jetbrains.com/files/11349/648226/aws-toolkit-jetbrains-standalone-3.45-243.zip",
        "243.22562.155": "https://plugins.jetbrains.com/files/11349/648226/aws-toolkit-jetbrains-standalone-3.45-243.zip",
        "243.22562.164": "https://plugins.jetbrains.com/files/11349/648226/aws-toolkit-jetbrains-standalone-3.45-243.zip",
        "243.22562.171": "https://plugins.jetbrains.com/files/11349/648226/aws-toolkit-jetbrains-standalone-3.45-243.zip",
        "243.22562.180": "https://plugins.jetbrains.com/files/11349/648226/aws-toolkit-jetbrains-standalone-3.45-243.zip",
        "243.22562.186": "https://plugins.jetbrains.com/files/11349/648226/aws-toolkit-jetbrains-standalone-3.45-243.zip",
        "243.22562.187": "https://plugins.jetbrains.com/files/11349/648226/aws-toolkit-jetbrains-standalone-3.45-243.zip"
        "241.19072.1155": "https://plugins.jetbrains.com/files/11349/653392/aws-toolkit-jetbrains-standalone-3.46-241.zip",
        "243.21565.199": "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip",
        "243.22562.151": "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip",
        "243.22562.155": "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip",
        "243.22562.164": "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip",
        "243.22562.171": "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip",
        "243.22562.180": "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip",
        "243.22562.186": "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip",
        "243.22562.187": "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip"
      },
      "name": "aws-toolkit"
    },
@@ -462,6 +475,7 @@
      ],
      "builds": {
        "241.19072.1155": null,
        "243.21565.199": "https://plugins.jetbrains.com/files/12062/630060/keymap-vscode-243.21565.122.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/12062/630060/keymap-vscode-243.21565.122.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/12062/630060/keymap-vscode-243.21565.122.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/12062/630060/keymap-vscode-243.21565.122.zip",
@@ -493,6 +507,7 @@
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
        "243.21565.199": "https://plugins.jetbrains.com/files/12559/629985/keymap-eclipse-243.21565.122.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/12559/629985/keymap-eclipse-243.21565.122.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/12559/629985/keymap-eclipse-243.21565.122.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/12559/629985/keymap-eclipse-243.21565.122.zip",
@@ -524,6 +539,7 @@
      ],
      "builds": {
        "241.19072.1155": null,
        "243.21565.199": "https://plugins.jetbrains.com/files/13017/630016/keymap-visualStudio-243.21565.122.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/13017/630016/keymap-visualStudio-243.21565.122.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/13017/630016/keymap-visualStudio-243.21565.122.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/13017/630016/keymap-visualStudio-243.21565.122.zip",
@@ -555,6 +571,7 @@
      ],
      "builds": {
        "241.19072.1155": null,
        "243.21565.199": "https://plugins.jetbrains.com/files/14004/629971/protoeditor-243.21565.122.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/14004/636643/protoeditor-243.22562.13.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/14004/636643/protoeditor-243.22562.13.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/14004/636643/protoeditor-243.22562.13.zip",
@@ -586,6 +603,7 @@
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
        "243.21565.199": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
        "243.22562.112": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
        "243.22562.115": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
        "243.22562.145": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
@@ -617,6 +635,7 @@
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/17718/631741/github-copilot-intellij-1.5.29.7524.zip",
        "243.21565.199": "https://plugins.jetbrains.com/files/17718/631741/github-copilot-intellij-1.5.29.7524.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/17718/631741/github-copilot-intellij-1.5.29.7524.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/17718/631741/github-copilot-intellij-1.5.29.7524.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/17718/631741/github-copilot-intellij-1.5.29.7524.zip",
@@ -648,6 +667,7 @@
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
        "243.21565.199": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
@@ -679,6 +699,7 @@
      ],
      "builds": {
        "241.19072.1155": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
        "243.21565.199": "https://plugins.jetbrains.com/files/20146/633971/Mermaid-0.0.24_IJ.243.zip",
        "243.22562.112": "https://plugins.jetbrains.com/files/20146/633971/Mermaid-0.0.24_IJ.243.zip",
        "243.22562.115": "https://plugins.jetbrains.com/files/20146/633971/Mermaid-0.0.24_IJ.243.zip",
        "243.22562.145": "https://plugins.jetbrains.com/files/20146/633971/Mermaid-0.0.24_IJ.243.zip",
@@ -709,13 +730,14 @@
  "files": {
    "https://plugins.jetbrains.com/files/10037/585243/CSVEditor-3.4.0-241.zip": "sha256-QwguD4ENrL7GxmX+CGEyCPowbAPNpYgntVGAbHxOlyQ=",
    "https://plugins.jetbrains.com/files/10037/646414/intellij-csv-validator-4.0.1.zip": "sha256-CtBwMIR78LlFcFVc/RScXShIaibyxjFp/weenl+PzK8=",
    "https://plugins.jetbrains.com/files/11349/648222/aws-toolkit-jetbrains-standalone-3.45-241.zip": "sha256-vcgPsB0zUciwDEJgdlHv+UdsjNaziBjH6R0ChYzxX6s=",
    "https://plugins.jetbrains.com/files/11349/648226/aws-toolkit-jetbrains-standalone-3.45-243.zip": "sha256-BakhuCeOtpKbapZhy0+7+sMylLD59Z861nyiW3O/oH4=",
    "https://plugins.jetbrains.com/files/11349/653392/aws-toolkit-jetbrains-standalone-3.46-241.zip": "sha256-oaD/caqrSYNPy579UeswUNKCr6R7Nzj/1ZXLjVY3Q6w=",
    "https://plugins.jetbrains.com/files/11349/653394/aws-toolkit-jetbrains-standalone-3.46-243.zip": "sha256-5dTE4THfqFutMNbGe11CvQkPaXWwB/EuxBzlDzbRJ1s=",
    "https://plugins.jetbrains.com/files/12062/630060/keymap-vscode-243.21565.122.zip": "sha256-phv8MTGKNGzRviKzX+nIVTbkX4WkU82QVO5zXUQLtAo=",
    "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip": "sha256-/hEx0gIFvUXD799tRmMHAt9Z5ziFgaQs1RX0zQwTJIA=",
    "https://plugins.jetbrains.com/files/12559/629985/keymap-eclipse-243.21565.122.zip": "sha256-/g1ucT18ywVJnCePH7WyMWKgM9umowBz5wFObmO7cws=",
    "https://plugins.jetbrains.com/files/13017/630016/keymap-visualStudio-243.21565.122.zip": "sha256-VQqK0Cm9ddXN63KYIqimuGOh7EB9VvdlErp/VrWx8SA=",
    "https://plugins.jetbrains.com/files/1347/645439/scala-intellij-bin-2024.3.22.zip": "sha256-AGE32xgLZz5kf/8XMoiIQgZ6206l5sNmUaTRvyyqgSA=",
    "https://plugins.jetbrains.com/files/1347/652338/scala-intellij-bin-2024.3.23.zip": "sha256-K7MiFc5mcECDKI2P2Kh3/w9sPdze6LuEhAItUxgpdKM=",
    "https://plugins.jetbrains.com/files/14004/629971/protoeditor-243.21565.122.zip": "sha256-cv6JTujoD5g90ngXTtnj5x31wjbIZlKZ6Zn0H+vHCTk=",
    "https://plugins.jetbrains.com/files/14004/636643/protoeditor-243.22562.13.zip": "sha256-Tgu8CfDhO6KugfuLNhmxe89dMm+Qo3fmAg/8hwjUaoc=",
    "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar": "sha256-eXInfAqY3yEZRXCAuv3KGldM1pNKEioNwPB0rIGgJFw=",
    "https://plugins.jetbrains.com/files/164/590339/IdeaVIM-2.16.0.zip": "sha256-uMIrYoZE16X/K96HuDJx8QMh6wUbi4+qSw+HJAq7ukI=",
@@ -727,14 +749,17 @@
    "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip": "sha256-TZPup3EJ0cBv4i2eVAQwVmmzy0rmt4KptEsk3C7baEM=",
    "https://plugins.jetbrains.com/files/22407/649101/intellij-rust-243.22562.187.zip": "sha256-9oi0QzKYZ1p62RBdC6n6H1D7+9DWGsuz7NJziJy38jc=",
    "https://plugins.jetbrains.com/files/631/646610/python-243.22562.145.zip": "sha256-yStRdrh7gtKB56b0qBNfjlFlkLhWKgeULcJtETMnHGw=",
    "https://plugins.jetbrains.com/files/6981/633889/ini-243.21565.208.zip": "sha256-CJjUYj3GR9MrNhrejrxJ4reZX/80XQ+gkZffFKd0nhc=",
    "https://plugins.jetbrains.com/files/6981/648802/ini-243.22562.180.zip": "sha256-1t6E5rVDOOuWmbYsOI21fMx68OA1o2P4EBw9vI2lvMM=",
    "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip": "sha256-kVUEgfEKUupV/qlB4Dpzi5pFHjhVvX74XIPetKtjysM=",
    "https://plugins.jetbrains.com/files/7086/610924/AceJump.zip": "sha256-Qp24juITBXEF5izdzayWq28Ioy4/kgT0qz6snZ0dND0=",
    "https://plugins.jetbrains.com/files/7219/605730/Symfony_Plugin-2024.1.276.zip": "sha256-drNmhJMe+kuY2fcHjY+SQmkACvFk0rVI4vAhyZ/bgLc=",
    "https://plugins.jetbrains.com/files/7320/630497/PHP_Annotations-11.1.1.zip": "sha256-05aBYbqNIuwe/JTwntFdIqML8NHbTOwVusl1P9FzuYY=",
    "https://plugins.jetbrains.com/files/7322/634169/python-ce-243.21565.211.zip": "sha256-B+kpVTE2UEplClCyLX0T2r3yf8u8IMwjS3gMYsL3NkM=",
    "https://plugins.jetbrains.com/files/7322/646590/python-ce-243.22562.145.zip": "sha256-45UtQRZMtKF6addrrB3A+goeyICMfcZ2FKcJvJSqgg4=",
    "https://plugins.jetbrains.com/files/7391/561441/asciidoctor-intellij-plugin-0.42.2.zip": "sha256-oKczkLHAk2bJRNRgToVe0ySEJGF8+P4oWqQ33olwzWw=",
    "https://plugins.jetbrains.com/files/7391/634204/asciidoctor-intellij-plugin-0.43.3.zip": "sha256-lwUvD2Ehs1kUWGdZFQZILDLIq73rNBm/8yT1rJgKU5g=",
    "https://plugins.jetbrains.com/files/8554/633920/featuresTrainer-243.21565.204.zip": "sha256-3MCG1SNEy2Mf9r+nTLcRwJ+rIJRvtO0kYKFNjIan86E=",
    "https://plugins.jetbrains.com/files/8554/649092/featuresTrainer-243.22562.187.zip": "sha256-dYT0y5eeqcx6ix+fPnpwzi3z+NOB0u7L83gS9S9LiV8=",
    "https://plugins.jetbrains.com/files/8607/606922/NixIDEA-0.4.0.16.zip": "sha256-9GMqs/hSavcw1E4ZJTLDH1lx3HEeQ5NR8BT+Q9pN3io=",
    "https://plugins.jetbrains.com/files/9568/646604/go-plugin-243.22562.145.zip": "sha256-7UBnL3+belHgt1oNOyD8Oo4CHQPUx0/w6guZxts84ck="
+14 −4
Original line number Diff line number Diff line
@@ -21,7 +21,8 @@ TOKENS = {
}
SNAPSHOT_VALUE = 99999
PLUGINS_FILE = Path(__file__).parent.joinpath("plugins.json").resolve()
IDES_FILE = Path(__file__).parent.joinpath("../bin/versions.json").resolve()
IDES_BIN_FILE = Path(__file__).parent.joinpath("../bin/versions.json").resolve()
IDES_SOURCE_FILE = Path(__file__).parent.joinpath("../source/ides.json").resolve()
# The plugin compatibility system uses a different naming scheme to the ide update system.
# These dicts convert between them
FRIENDLY_TO_PLUGIN = {
@@ -313,7 +314,6 @@ def get_plugin_info(pid: str, channel: str) -> dict:
def ids_to_infos(ids: list[str]) -> dict:
    result = {}
    for pid in ids:

        if "-" in pid:
            int_id, channel = pid.split("-", 1)
        else:
@@ -325,17 +325,27 @@ def ids_to_infos(ids: list[str]) -> dict:


def get_ide_versions() -> dict:
    ide_data = load(open(IDES_FILE))
    result = {}

    # Bin IDEs
    ide_data = load(open(IDES_BIN_FILE))
    for platform in ide_data:
        for product in ide_data[platform]:

            version = ide_data[platform][product]["build_number"]
            if product not in result:
                result[product] = [version]
            elif version not in result[product]:
                result[product].append(version)

    # Source IDEs
    ide_source_data = load(open(IDES_SOURCE_FILE))
    for product, ide_info in ide_source_data.items():
        version = ide_info["buildNumber"]
        if product not in result:
            result[product] = [version]
        elif version not in result[product]:
            result[product].append(version)

    # Gateway isn't a normal IDE, so it doesn't use the same plugins system
    del result["gateway"]

+6 −5
Original line number Diff line number Diff line
@@ -15,22 +15,23 @@ To test the build process of every IDE (as well as the process for adding plugin
 - If binaries need patch or some other special treatment, add an entry to `plugins/specialPlugins.nix`

## How to update stuff:
 - Run ./bin/update_bin.py
 - This will update binary IDEs and plugins, and automatically commit them
 - Run ./bin/update_bin.py, this will update binary IDEs and plugins, and automatically commit them
 - Source builds need a bit more effort, as they **aren't automated at the moment**:
   - Find the build of the stable release you want to target (usually different for pycharm and idea, should have three components)
   - Build number is avaliable on JetBrains website:
     - IDEA: https://www.jetbrains.com/idea/download/other.html
     - PyCharm: https://www.jetbrains.com/pycharm/download/other.html
   - Update the `version` & `buildNumber` fields in source/default.nix
   - Update the `version` & `buildNumber` fields in source/ides.json
   - Empty the `ideaHash`, `androidHash`, `jpsHash` and `restarterHash` (only `ideaHash` and `restarterHash` changes on a regular basis) fields and try to build to get the new hashes
   - Run these commands respectively:
     - `nix build .#jetbrains.idea-community-src.src.src && ./source/build_maven.py source/idea_maven_artefacts.json result/` for IDEA
     - `nix build .#jetbrains.pycharm-community-src.src.src && ./source/build_maven.py source/pycharm_maven_artefacts.json result/` for PyCharm
   - Update `source/brokenPlugins.json` (from https://plugins.jetbrains.com/files/brokenPlugins.json)
   - Do a test build
   - If it succeeds, make a PR/merge
   - If it fails, ping/message GenericNerdyUsername
   - If it succeeds, make a commit
   - Run ./plugins/update_plugins.py, this will update plugins and automatically commit them
   - make a PR/merge
   - If it fails, ping/message GenericNerdyUsername or the nixpkgs Jetbrains maintainer team

## How to add an IDE:
 - Make dummy entries in `bin/versions.json` (make sure to set the version to something older than the real one)
+8 −24
Original line number Diff line number Diff line
{ callPackage
}:

let
  ides = builtins.fromJSON (builtins.readFile ./ides.json);
in
{
  idea-community = callPackage ./build.nix {
    version = "2024.3.1";
    buildNumber = "243.22562.145";
    buildType = "idea";
    ideaHash = "sha256-So55gxse7TU05F2c1pe/2BPjZ6xNlCi0Lhaxm+45w/M=";
    androidHash = "sha256-2ZLTh3mwrIWOqn1UHqAVibG5JvfvxinqDna/EGxd0Ds=";
    jpsHash = "sha256-p3AEHULhVECIicyhCYNkxeQoMAorrbvoIj7jcqxYD2s=";
    restarterHash = "sha256-m6HK4kxtAlN6EaszI/xpkVYDaY8W3Qn9FGWgvaW/UYI=";
    mvnDeps = ./idea_maven_artefacts.json;
  };
  pycharm-community = callPackage ./build.nix {
    version = "2024.3";
    buildNumber = "243.21565.199";
    buildType = "pycharm";
    ideaHash = "sha256-NohKF30k3aSYgDUPKrhE2CZmjzT8TK0zw++0Low1OfM=";
    androidHash = "sha256-H1JegxX6sj7XG0EdZhtzL92GupCCoIq4akgK9t06nXM=";
    jpsHash = "sha256-p3AEHULhVECIicyhCYNkxeQoMAorrbvoIj7jcqxYD2s=";
    restarterHash = "sha256-CnTYpYx6SoT6XaS79cm0QpIijIiPKpFh4LfiPJkByXA=";
    mvnDeps = ./pycharm_maven_artefacts.json;
  };
}
  callPackage,
}:
builtins.mapAttrs (
  _: info: callPackage ./build.nix (info // { mvnDeps = ./. + "/${info.mvnDeps}"; })
) ides
Loading