#!/usr/bin/env cwl-runner cwlVersion: v1.2 class: CommandLineTool requirements: InitialWorkDirRequirement: listing: - entryname: validate-cwls.sh entry: |- arcRoot=$1 cwlPattern=$2 outWflList=$3 outValidation=$4 find "$arcRoot"/ -name "$cwlPattern" > "$outWflList" while IFS= read -r wfl; do printf '%s %s\n' "------------------" >> "$outValidation" printf '%s %s\n' "$wfl" >> "$outValidation" cwltool --validate "$wfl" >> "$outValidation" printf '%s %s\n' "------------------" >> "$outValidation" done < "$outWflList" baseCommand: ["bash", "validate-cwls.sh"] inputs: arcRoot: type: Directory inputBinding: position: 1 cwlPattern: type: string inputBinding: position: 2 outWflList: type: string inputBinding: position: 3 outValidation: type: string inputBinding: position: 4 stdout: $(inputs.outValidation) outputs: output_file: type: stdout