首页 > 解决方案 > 如何告诉 cromwell 和 womtool 使用哪个 WDL 版本?

问题描述

我发现很多关于克伦威尔如何支持 WDL 开发版本的参考资料。我发现人们谈论使用 WDL 的开发版本运行克伦威尔。

我在任何地方都找不到有关如何执行此操作的说明。

例如:

$ $CROMWELL_HOME/womtool --type wdl --type-version development validate My.wdl 
Error: Unknown option --type
Error: Unknown option --type-version
Error: Unknown argument 'development'

而如果我只是调用 womtool,在尝试使用 WDL 开发中的 Directory 关键字时会出现错误:

$ $CROMWELL_HOME/womtool --type wdl --type-version development validate My.wdl 
ERROR: Unexpected symbol (line 9, col 5) when parsing '_gen10'.

Expected rbrace, got Directory.

    Directory   OutputDir
    ^

$workflow = :workflow :identifier :lbrace $_gen10 :rbrace -> Workflow( name=$1, body=$3 )

更新:

您必须将每个文件都放在同一版本上。如果你不这样做,你会得到错误

ERROR: Finished parsing without consuming all tokens.

version development

注意:使用克伦威尔 65

标签: cromwellwdl

解决方案


根据WDL 规范,WDL 版本必须在 WDL 文件本身中通过放在文件version <insert_version_here>的第一行来指示。如果此行不存在,则执行引擎应将版本视为draft-2。

例如。

version 1.0

workflow example {
...

为了在克伦威尔使用开发版,development应该使用作为版本。这在“语言支持”->“未来语言支持”下的克伦威尔文档中提到:

version development

workflow example {
...

推荐阅读