common-workflow-language/cwltool

cwltool does not recognize equivalent types

Opened this issue · 0 comments

../types/singletype.yml

name: simple_record
type: record
fields:
  prop: string

../tools/clt2.cwl

#!/usr/bin/env cwl-runner

# Inline schemadef

class: CommandLineTool
cwlVersion: v1.0

requirements:
  SchemaDefRequirement:
    types:
      - name: user_type1
        type: record
        fields:
            - name: prop
              type: string

inputs:
  in1: user_type1

outputs:
  out1:
    type: user_type1
    outputBinding:
      outputEval: $(inputs.in1)

baseCommand: []
arguments: []

../workflows/wf1.cwl

class: Workflow
cwlVersion: v1.0
inputs:
  in1: ../types/singletype.yml#simple_record

steps:
  s1:
    run: ../tools/clt2.cwl
    in:
      in1: in1
    out: [out1]
    
outputs:
    out1: 
      type: user_type1
      outputSource: s1/out1

requirements:
  SchemaDefRequirement:
    types:
    - $import: ../types/singletype.yml
    - name: user_type1 
      type: record
      fields:
          - name: prop
            type: string

cwltool --validate claims all of these are different types, when in fact they are identical.