parser_install=subparsers.add_parser('install',help='Install a software environment')
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('--release',type=str,required=True,help='Release version to install')
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('--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('--enable-build-cache',action='store_true',help='Enable Spack build cache. Usefull for reinstalltion but consumes time and disk space')
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 "reinstall" action
parser_reinstall=subparsers.add_parser('reinstall',help='Reinstall a software environment')
parser_reinstall.add_argument('--release',type=str,required=True,help='Release version to install')
parser_reinstall.add_argument('--toolchains',type=str,nargs='*',help='List of toolchains to install (use ALL to install all toolchains)',default='ALL')
parser_reinstall.add_argument('--enable-build-cache',action='store_true',help='Enable Spack build cache. Usefull for reinstalltion but consumes time and disk space')
# Add parser for "remove" action
# Add parser for "remove" action
parser_remove=subparsers.add_parser('remove',help='Remove a software environment or toolchains from an environment')
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('--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_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')
parser_remove.add_argument('--enable-build-cache',action='store_true',help='Enable Spack build cache. Usefull for reinstalltion but consumes time and disk space')
# Add parser for "start-new" action
# Add parser for "start-new" action
parser_start_new=subparsers.add_parser('start-new',help='Start a new software environment version')
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('--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_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')