From 527ac6ffde0c44fe478b1c5f2114c1d4a3508d18 Mon Sep 17 00:00:00 2001
From: iamashwin99 <ashwin-kumar.karnad@mpsd.mpg.de>
Date: Thu, 4 May 2023 11:17:12 +0200
Subject: [PATCH] add subparser argument

---
 install-mpsd-software-environment.py | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/install-mpsd-software-environment.py b/install-mpsd-software-environment.py
index 548ae6f..1a954b1 100755
--- a/install-mpsd-software-environment.py
+++ b/install-mpsd-software-environment.py
@@ -119,10 +119,23 @@ def main():
     # Add parser for "install" action
     parser_install = subparsers.add_parser('install', help='Install a software environment')
     parser_install.add_argument('--release', type=str, required=True, help='Release version to install')
-    parser_install.add_argument('--target-dir', type=str, help='Target directory for installation (use DEFAULT to install to default directory)')
+    parser_install.add_argument('--toolchains', type=str, nargs='*', help='List of toolchains to install (use ALL to install all toolchains)', default='ALL')
+    parser_install.add_argument('--target-dir', type=str, help='Target directory for installation (use DEFAULT or leave empty to install to default directory)', default='DEFAULT')
     parser_install.add_argument('--force-reinstall', action='store_true', help='Force reinstall an existing toolchain directory')
     parser_install.add_argument('--skip-build-cache', action='store_true', help='Skip Spack build cache during installation')
 
+    # Add parser for "remove" action
+    parser_remove = subparsers.add_parser('remove', help='Remove a software environment or toolchains from an environment')
+    parser_remove.add_argument('--release', type=str, required=True, help='Release version to remove')
+    parser_remove.add_argument('--toolchains', type=str, nargs='*', help='Toolchains to remove (use ALL to remove all toolchains)')
+    parser_install.add_argument('--target-dir', type=str, help='Target directory for removal')
+
+    # Add parser for "start-new" action
+    parser_start_new = subparsers.add_parser('start-new', help='Start a new software environment version')
+    parser_start_new.add_argument('--from-release', dest='from_release', type=str, required=True, help='Release version to start from')
+    parser_start_new.add_argument('--to-release', dest='to_release', type=str, required=True, help='Release version to create')
+    parser_install.add_argument('--target-dir', type=str, help='Base directory for software environment installation (both source and target have the same base directory)(use DEFAULT or leave empty to install to default directory)', default='DEFAULT')
+
 
 if __name__ == "__main__":
     main()
-- 
GitLab