|
30 | 30 | from .resolver import tool_resolver, ga4gh_tool_registries
|
31 | 31 | from .stdfsaccess import StdFsAccess
|
32 | 32 | from .mutation import MutationManager
|
| 33 | +from .update import UPDATES, ALLUPDATES |
33 | 34 |
|
34 | 35 | _logger = logging.getLogger("cwltool")
|
35 | 36 |
|
@@ -129,6 +130,7 @@ def arg_parser(): # type: () -> argparse.ArgumentParser
|
129 | 130 | exgroup.add_argument("--pack", action="store_true", help="Combine components into single document and print.")
|
130 | 131 | exgroup.add_argument("--version", action="store_true", help="Print version and exit")
|
131 | 132 | exgroup.add_argument("--validate", action="store_true", help="Validate CWL document only.")
|
| 133 | + exgroup.add_argument("--print-supported-versions", action="store_true", help="Print supported CWL specs.") |
132 | 134 |
|
133 | 135 | exgroup = parser.add_mutually_exclusive_group()
|
134 | 136 | exgroup.add_argument("--strict", action="store_true",
|
@@ -577,6 +579,14 @@ def versionstring():
|
577 | 579 | else:
|
578 | 580 | return u"%s %s" % (sys.argv[0], "unknown version")
|
579 | 581 |
|
| 582 | +def supportedCWLversions(enable_dev): |
| 583 | + # type: (bool) -> List[Text] |
| 584 | + if enable_dev: |
| 585 | + versions = ALLUPDATES.keys() |
| 586 | + else: |
| 587 | + versions = UPDATES.keys() |
| 588 | + versions.sort() |
| 589 | + return versions |
580 | 590 |
|
581 | 591 | def main(argsl=None, # type: List[str]
|
582 | 592 | args=None, # type: argparse.Namespace
|
@@ -652,6 +662,10 @@ def main(argsl=None, # type: List[str]
|
652 | 662 | else:
|
653 | 663 | _logger.info(versionfunc())
|
654 | 664 |
|
| 665 | + if args.print_supported_versions: |
| 666 | + print("\n".join(supportedCWLversions(args.enable_dev))) |
| 667 | + return 0 |
| 668 | + |
655 | 669 | if not args.workflow:
|
656 | 670 | if os.path.isfile("CWLFile"):
|
657 | 671 | setattr(args, "workflow", "CWLFile")
|
|
0 commit comments