Closed mr-c closed 2 years ago
I haven't read the spec completely but looks pretty interesting. cc @clap-rs/admins What do you think?
So, I looked over the spec and I am really hesitant to support it. It will have too much noise compared to clap's yaml which will make it harder for users to use.
@pksunkara What do you think about CWL export from clap-using apps?
I don't mind that, but it will have to go clap_generate crate and even then, I am not sure this is not niche.
@mr-c The main goal of clap
is to provide a flexible an feature-full parser for command line arguments, but the full scope of CWL is way beyond this goal. I don't think we'll ever consider supporting all of it.
About CLI part only - well, if it's all about building clap::App
from corresponding cwl.yaml
file it can be seen as "yet another format akin to YAML and TOML". We are considering to make use of serde
(#1630). If/when we manage to implement it, you will be free to make your own implementation of it , like serde_json
or serde_yaml
.
Even if we decide not to support it, you are still free to make your own "converter" crate that reads cwl.yaml
and builds the corresponding clap::App
.
I'm closing this because I'm almost sure we don't want to maintain such an implementation in this repo.
I'd like to consider this in the future. Let's keep it open.
@Dylan-DPC @CreepySkeleton I am happy to write a Google Summer of Code proposal and co-mentor alongside a rust person to work on CWL export from clap
applications.
@codesections Could this come under documentation crate? Can one of the generators be CWL?
I would absolutely love this feature set, would make our biofx tools more powerful and easier to add to workflows.
Let's discuss this once we are done with the 3.0.0 release
We have decided to deprecate the YAML API. For more details, see https://github.com/clap-rs/clap/issues/3087. I am assuming this would fall in the same category. If there is interest in a data-driven API, it will likely be broken out into a clap_yaml
and developed independent from the core of clap.
Bug or Feature Request Summary
Specification: https://www.commonwl.org/v1.0/CommandLineTool.html User guide: https://www.commonwl.org/user_guide/
CWL project homepage: https://www.commonwl.org/
If some properties that you have aren't yet in CWL you can add them as "vendor extensions" and retain compatibility. We'd want to study your extensions for possible future inclusion.