Files
toolbox/target/nextflow/yq/.config.vsh.yaml
CI 932beffdb5 Build branch main with version main (69c4536)
Build pipeline: viash-hub.toolbox.main-5vhb4

Source commit: 69c4536b84

Source message: Remove package version from main branch (#14)

* remove package version from main branch

* update ci
2025-05-06 20:32:04 +00:00

298 lines
7.9 KiB
YAML

name: "yq"
version: "main"
argument_groups:
- name: "Inputs"
arguments:
- type: "file"
name: "--input"
description: "files to be processed"
info: null
example:
- "input.yaml"
must_exist: true
create_parent: true
required: true
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Outputs"
arguments:
- type: "file"
name: "--output"
description: "output file"
info: null
example:
- "output.yaml"
must_exist: true
create_parent: true
required: true
direction: "output"
multiple: false
multiple_sep: ";"
- name: "Arguments"
arguments:
- type: "string"
name: "--eval"
description: "expression to evaluate"
info: null
example:
- ".name = \"foo\""
required: true
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--indent"
alternatives:
- "-I"
description: "sets indent level for output (default 2)"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--input_format"
alternatives:
- "-p"
description: "parse format for input. (default \"auto\")"
info: null
required: false
choices:
- "auto"
- "a"
- "yaml"
- "y"
- "json"
- "j"
- "props"
- "p"
- "csv"
- "c"
- "tsv"
- "t"
- "xml"
- "x"
- "base64"
- "uri"
- "toml"
- "shell"
- "s"
- "lua"
- "l"
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--output_format"
alternatives:
- "-o"
description: "output format type. (default \"auto\")"
info: null
required: false
choices:
- "auto"
- "a"
- "yaml"
- "y"
- "json"
- "j"
- "props"
- "p"
- "csv"
- "c"
- "tsv"
- "t"
- "xml"
- "x"
- "base64"
- "uri"
- "toml"
- "shell"
- "s"
- "lua"
- "l"
direction: "input"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--pretty_print"
alternatives:
- "-P"
description: "pretty print, shorthand for '... style = \"\"'"
info: null
direction: "input"
resources:
- type: "bash_script"
text: |
#!/bin/sh
[[ "$par_pretty_print" == "false" ]] && unset par_pretty_print
yq eval \
${par_indent:+-I "${par_indent}"} \
${par_input_format:+-p "${par_input_format}"} \
${par_output_format:+-o "${par_output_format}"} \
${par_pretty_print:+-P} \
--expression "$par_eval" \
--no-colors \
"$par_input" > "$par_output"
dest: "./script.sh"
is_executable: true
description: "A portable YAML, JSON, XML, CSV, TOML and properties processor"
test_resources:
- type: "bash_script"
text: "set -e\necho \"name: 'bar'\" > test.yaml\n\"$meta_executable\" --input test.yaml\
\ --output output.yaml --eval '.name = \"foo\"'\n\"$meta_executable\" --input\
\ output.yaml --output output2.yaml --eval '.name'\ngrep \"^foo$\" output2.yaml\n"
dest: "./script.sh"
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
keywords:
- "yaml"
- "json"
- "xml"
- "csv"
- "toml"
- "properties"
license: "MIT"
links:
repository: "https://github.com/mikefarah/yq"
homepage: "https://mikefarah.gitbook.io/yq"
documentation: "https://mikefarah.gitbook.io/yq/"
runners:
- type: "executable"
id: "executable"
docker_setup_strategy: "ifneedbepullelsecachedbuild"
- type: "nextflow"
id: "nextflow"
directives:
tag: "$id"
auto:
simplifyInput: true
simplifyOutput: false
transcript: false
publish: false
config:
labels:
mem1gb: "memory = 1000000000.B"
mem2gb: "memory = 2000000000.B"
mem5gb: "memory = 5000000000.B"
mem10gb: "memory = 10000000000.B"
mem20gb: "memory = 20000000000.B"
mem50gb: "memory = 50000000000.B"
mem100gb: "memory = 100000000000.B"
mem200gb: "memory = 200000000000.B"
mem500gb: "memory = 500000000000.B"
mem1tb: "memory = 1000000000000.B"
mem2tb: "memory = 2000000000000.B"
mem5tb: "memory = 5000000000000.B"
mem10tb: "memory = 10000000000000.B"
mem20tb: "memory = 20000000000000.B"
mem50tb: "memory = 50000000000000.B"
mem100tb: "memory = 100000000000000.B"
mem200tb: "memory = 200000000000000.B"
mem500tb: "memory = 500000000000000.B"
mem1gib: "memory = 1073741824.B"
mem2gib: "memory = 2147483648.B"
mem4gib: "memory = 4294967296.B"
mem8gib: "memory = 8589934592.B"
mem16gib: "memory = 17179869184.B"
mem32gib: "memory = 34359738368.B"
mem64gib: "memory = 68719476736.B"
mem128gib: "memory = 137438953472.B"
mem256gib: "memory = 274877906944.B"
mem512gib: "memory = 549755813888.B"
mem1tib: "memory = 1099511627776.B"
mem2tib: "memory = 2199023255552.B"
mem4tib: "memory = 4398046511104.B"
mem8tib: "memory = 8796093022208.B"
mem16tib: "memory = 17592186044416.B"
mem32tib: "memory = 35184372088832.B"
mem64tib: "memory = 70368744177664.B"
mem128tib: "memory = 140737488355328.B"
mem256tib: "memory = 281474976710656.B"
mem512tib: "memory = 562949953421312.B"
cpu1: "cpus = 1"
cpu2: "cpus = 2"
cpu5: "cpus = 5"
cpu10: "cpus = 10"
cpu20: "cpus = 20"
cpu50: "cpus = 50"
cpu100: "cpus = 100"
cpu200: "cpus = 200"
cpu500: "cpus = 500"
cpu1000: "cpus = 1000"
debug: false
container: "docker"
engines:
- type: "docker"
id: "docker"
image: "alpine:latest"
target_registry: "images.viash-hub.com"
target_tag: "main"
namespace_separator: "/"
setup:
- type: "apk"
packages:
- "bash"
- "yq-go"
- type: "docker"
run:
- "/usr/bin/yq --version | sed 's/.*version\\sv\\(.*\\)/yq: \"\\1\"/' > /var/software_versions.txt\n"
entrypoint: []
cmd: null
- type: "native"
id: "native"
build_info:
config: "src/yq/config.vsh.yaml"
runner: "nextflow"
engine: "docker|native"
output: "target/nextflow/yq"
executable: "target/nextflow/yq/main.nf"
viash_version: "0.9.4"
git_commit: "69c4536b849c9a776972a12162376f824b4b4504"
git_remote: "https://github.com/viash-hub/toolbox"
package_config:
name: "toolbox"
version: "main"
summary: "A collection of curated command-line tools for general IT tasks, built\
\ with Viash.\n"
description: "`toolbox` provides a versatile suite of IT components, following the\
\ robust Viash (https://viash.io) framework.\nThis package focuses on delivering\
\ reliable, standalone tools that can be easily integrated into larger computational\
\ workflows.\n\nThe core philosophy emphasizes **reusability**, **reproducibility**,\
\ and adherence to **best practices** in component creation. Key features of `toolbox`\
\ components include:\n\n* **Standalone & Nextflow Ready:** Execute components\
\ directly from the command line or seamlessly incorporate them into Nextflow\
\ workflows.\n* **High Quality Standards:**\n * Comprehensive documentation\
\ for each component and its parameters.\n * Full exposure of the underlying\
\ tool's arguments for maximum flexibility.\n * Containerized (Docker) to ensure\
\ consistent environments and manage dependencies, leading to enhanced reproducibility.\n\
\ * Unit tested to verify functionality and ensure reliability.\n"
info: null
viash_version: "0.9.4"
source: "src"
target: "target"
config_mods:
- ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'main'"
keywords:
- "toolbox"
- "command-line"
- "tools"
license: "MIT"
organization: "vsh"
links:
repository: "https://github.com/viash-hub/toolbox"
issue_tracker: "https://github.com/viash-hub/toolbox/issues"