From 2837dc7608960473c145187861591ddc6950e7eb Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 5 Aug 2023 00:28:59 +0200 Subject: [PATCH 1/2] jetbrains: autocommit updates --- .../jetbrains/plugins/update_plugins.py | 6 +++++ .../editors/jetbrains/update_ides.py | 25 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/pkgs/applications/editors/jetbrains/plugins/update_plugins.py b/pkgs/applications/editors/jetbrains/plugins/update_plugins.py index 698bea9ff277..393c09a72fc0 100755 --- a/pkgs/applications/editors/jetbrains/plugins/update_plugins.py +++ b/pkgs/applications/editors/jetbrains/plugins/update_plugins.py @@ -380,6 +380,12 @@ def main(): write_result(result) + # Commit the result + commitMessage = "jetbrains.plugins: update" + print("#### Committing changes... ####") + run(['git', 'add', PLUGINS_FILE], check=True) + run(['git', 'commit', '--file=-'], input=commitMessage.encode(), check=True) + if __name__ == '__main__': main() diff --git a/pkgs/applications/editors/jetbrains/update_ides.py b/pkgs/applications/editors/jetbrains/update_ides.py index 82ba7986f9a8..eca3eb5763a5 100755 --- a/pkgs/applications/editors/jetbrains/update_ides.py +++ b/pkgs/applications/editors/jetbrains/update_ides.py @@ -12,6 +12,8 @@ from packaging import version updates_url = "https://www.jetbrains.com/updates/updates.xml" current_path = pathlib.Path(__file__).parent versions_file_path = current_path.joinpath("versions.json").resolve() +fromVersions = {} +toVersions = {} logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) @@ -74,6 +76,8 @@ def update_product(name, product): download_url = product["url-template"].format(version=version_or_build_number, versionMajorMinor=version_number) product["url"] = download_url if "sha256" not in product or product.get("build_number") != new_build_number: + fromVersions[name] = product["version"] + toVersions[name] = new_version logging.info("Found a newer version %s with build number %s.", new_version, new_build_number) product["version"] = new_version product["build_number"] = new_build_number @@ -101,6 +105,27 @@ with open(versions_file_path, "w") as versions_file: json.dump(versions, versions_file, indent=2) versions_file.write("\n") +if len(toVersions) == 0: + # No Updates found + sys.exit(0) + +if len(toVersions) == 1: + commitMessage = "" +else: + lowestVersion = min(fromVersions.values()) + highestVersion = max(toVersions.values()) + commitMessage = f"jetbrains: {lowestVersion} -> {highestVersion}" + commitMessage += "\n\n" + +for name in toVersions.keys(): + commitMessage += f"jetbrains.{name}: {fromVersions[name]} -> {toVersions[name]}\n" + +# Commit the result +logging.info("#### Committing changes... ####") +subprocess.run(['git', 'add', versions_file_path], check=True) +subprocess.run(['git', 'commit', '--file=-'], input=commitMessage.encode(), check=True) + logging.info("#### Updating plugins ####") plugin_script = current_path.joinpath("plugins/update_plugins.py").resolve() subprocess.call(plugin_script) + From a56241ed7b801f93af02f5a52e8e1f0a811484de Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sun, 13 Aug 2023 00:00:11 +0200 Subject: [PATCH 2/2] jetbrains: Commit in one line Co-authored-by: Janik <80165193+Janik-Haag@users.noreply.github.com> --- pkgs/applications/editors/jetbrains/plugins/update_plugins.py | 3 +-- pkgs/applications/editors/jetbrains/update_ides.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/plugins/update_plugins.py b/pkgs/applications/editors/jetbrains/plugins/update_plugins.py index 393c09a72fc0..cf02aa7215d4 100755 --- a/pkgs/applications/editors/jetbrains/plugins/update_plugins.py +++ b/pkgs/applications/editors/jetbrains/plugins/update_plugins.py @@ -383,8 +383,7 @@ def main(): # Commit the result commitMessage = "jetbrains.plugins: update" print("#### Committing changes... ####") - run(['git', 'add', PLUGINS_FILE], check=True) - run(['git', 'commit', '--file=-'], input=commitMessage.encode(), check=True) + run(['git', 'commit', f'-m{commitMessage}', '--', f'{PLUGINS_FILE}'], check=True) if __name__ == '__main__': diff --git a/pkgs/applications/editors/jetbrains/update_ides.py b/pkgs/applications/editors/jetbrains/update_ides.py index eca3eb5763a5..9008906bde75 100755 --- a/pkgs/applications/editors/jetbrains/update_ides.py +++ b/pkgs/applications/editors/jetbrains/update_ides.py @@ -122,8 +122,7 @@ for name in toVersions.keys(): # Commit the result logging.info("#### Committing changes... ####") -subprocess.run(['git', 'add', versions_file_path], check=True) -subprocess.run(['git', 'commit', '--file=-'], input=commitMessage.encode(), check=True) +subprocess.run(['git', 'commit', f'-m{commitMessage}', '--', f'{versions_file_path}'], check=True) logging.info("#### Updating plugins ####") plugin_script = current_path.joinpath("plugins/update_plugins.py").resolve()