CWLDotNet 0.1.0
dotnet add package CWLDotNet --version 0.1.0
NuGet\Install-Package CWLDotNet -Version 0.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CWLDotNet" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CWLDotNet --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: CWLDotNet, 0.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// 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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
CWLDotNet
This project contains .Net objects and utilities auto-generated by https://github.com/common-workflow-language/schema_salad for parsing documents corresponding to the https://w3id.org/cwl/cwl schema
Usage
Loading Documents
// 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")
);
Creating, Editing and Serializing Documents
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());
Documentation
The complete documentation, autogenerated by DocFX can be found under the following link: https://common-workflow-lab.github.io/CWLDotNet/
Limitations
CWLDotNet only supports the CWL v1.2 syntax. Other documents have to be upgraded using the cwl-upgrader
Maintainers
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- OneOf (>= 3.0.216)
- OneOf.Extended (>= 3.0.216)
- YamlDotNet (>= 11.2.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.0 | 249 | 6/27/2022 |