CWLDotNet 0.1.0

dotnet add package CWLDotNet --version 0.1.0                
NuGet\Install-Package CWLDotNet -Version 0.1.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="CWLDotNet" Version="0.1.0" />                
对于支持 PackageReference 的项目,请将此 XML 节点复制到项目文件中以引用软件包。
paket add CWLDotNet --version 0.1.0                
#r "nuget: CWLDotNet, 0.1.0"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。请将其复制到交互式工具或脚本源代码中,以引用软件包。
// Install CWLDotNet as a Cake Addin
#addin nuget:?package=CWLDotNet&version=0.1.0

// Install CWLDotNet as a Cake Tool
#tool nuget:?package=CWLDotNet&version=0.1.0                

CWLDotNet

example workflow

该项目包含由 https://github.com/common-workflow-language/schema_salad 自动生成的 .Net 对象和工具,用于解析与 https://w3id.org/cwl/cwl 架构相对应的文档

用法

加载文档

// Specify the CWL file to load
Uri fileUri = new Uri(Path.GetFullPath("my-cwl-document.cwl"));

// Read the file contents 
string fileContent = System.IO.File.ReadAllText(fileUri.AbsolutePath);

// Parse the CWL document
var doc = CWLDotNet.RootLoader.LoadDocument(fileContent, fileUri.AbsoluteUri);

// Work with the document
doc.Switch(
    CommandLineTool => Console.WriteLine("The loaded document is a CommandLineTool"),
    ExpressionTool => Console.WriteLine("The loaded document is a ExpressionTool"),
    Workflow => Console.WriteLine("The loaded document is a Workflow"),
    Operation => Console.WriteLine("The loaded document is an Operation"),
    ListOf => Console.WriteLine("This is a list of one of: CommandLineTool | ExpressionTool | Workflow | Operation")
);

创建、编辑和序列化文档

using System.Text.Json;
using CWLDotNet;

// Create a CommandLineTool with empty inputs and outputs
CommandLineTool mytool = new CommandLineTool(new(),new());

// Set the base command
mytool.baseCommand = "echo";

// Create an input parameter with a default value
CommandInputParameter input1 = new CommandInputParameter(CWLType.INT);
input1.default_ = "Hello World!";

// Add the input to the tool
mytool.inputs.Add(input1);

// Serialize the tool
string outDoc = JsonSerializer.Serialize(mytool.Save());

文档

完整的文档(由DocFX自动生成),可以在此链接以下找到: https://common-workflow-lab.github.io/CWLDotNet/

局限性

CWLDotNet 只支持 CWL v1.2 语法。其他文档需要使用cwl-upgrader进行升级。

维护者

@ZimmerA

产品 兼容的以及额外的计算目标框架版本。
.NET net6.0 支持。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解有关 目标框架.NET Standard 的更多信息。

NuGet 包

此包未使用任何 NuGet 包。

GitHub 仓库

此包未使用任何流行的 GitHub 仓库。

版本 下载 最后更新
0.1.0 224 6/27/2022