...
- ANTLR4 version bump to 4.13.1
- For duplicated calls - prepends a process name to make the name unique, avoiding exception "two different processes with the same name"
- Added support for "metadata" field for input files in CWL under development (pending inclusion in CWL standard).
- Update dxCommon to 0.11.3
- Updated
cwljava
with fixes tosecondaryFiles
withpattern
field when parsing workflow-level parameters and the helper functionutils.Uris.shortname
to generate enum symbols without namespaces
- Fixes CWL default requirement classnames
NetworkAccess
,WorkReuse
andToolTimeLimit
so the corresponding hints can be recognized by dxCompiler (instead of being defined as GenericHints which are not interpreted during compilation).
- Breaking
- Parser API has changed substantially, with parameters added, removed, and rearranged
Parser.parse
method is now private - useparseString
orparseFile
instead- Removes all options to modify IDs during parsing
- Handles workflows packed by cwlpack
- Adds
Process.simpleName
method to return simplified process name from ID automatically generated bycwlpack --add-ids
- Adds
Identifiable.copySimplifyIds
method to deep-copy objects with simplified IDs - Adds
CwlEnum.symbolNames
function for getting enum symbols without any namespace prefixes - Adds
coerce
option toEvaluator.evaluate
to actually perform type coercion, rather than just checking that the result is coercible to the specified type - Trims
StringValue
when coercing to primitive types - Fixes
Evaluator.finalizeInputValue
for compound and optional types Evaluator.finalizeInputValue
loads file contents from remote file source if file does not exist locallyCwlType.coerceTo
now returns both the coerced-to type and value- Added
CwlType.CwlGenericRecord
, which is coercible to eitherCwlInputRecord
orCwlOutputRecord
- Fixes evaluation of values with multiple possible types
- Updates code to compile with JDK11
- Updates build environment to JDK11, Scala 2.13.7, and SBT 1.5.7
- Fix packaging
- Update dxCommon version
- Handles error when listing folder during path value finalization
- Breaking Change:
Sink.linkMerge
is nowOption
al - Introduces
ParserResult
class, which is returned from allParser.parse*
methods - For packed workflows, parses out
$schemas
and$namespaces
- Updates to latest cwljava, which fixes several parsing errors
- Fixes
CwlType.flatten
to correctly handle duplicate types - Treats scatter sources as identifiers
- Automatically renames the
main
process if its name collides with another process - Fixes evalution of compound parameter references
- Set
CommandLineTool.successCodes
toSet(0)
if not specified - Fixes deserialization of optional fields
- Uses the source file name as the process name when processing a
$graph
where the top-level element ID is 'main' - Fixes evaluation for Directory-type values with listings
- Fixes parsing of LoadListingEnum values
- Adds option to
Parser.parseFile
andParser.parseString
to specify that the CWL file is in "packed" form - Updates to latest cwljava, which fixes parsing of anonymous schemas in packed documents
- Correctly handles identifiers with namespaces from imported documents
- Fixes error when trying to finalize a File value without location or path
- Updates dxCommon to 0.2.15-SNAPSHOT
- Uses
FileSource.listing
to determine directory listing during finalization - Updates to dxCommon 0.7.0
- Breaking change: schema types now have
id: Option[Identifier]
rather thanname: Option[String]
- Parser can now handle
$graph
style CWL documents - Adds dependency on
dxCommon
library - Improves finalization of file values
- Fixes coercion of StringValue to CwlEnum
- other bugfixes
- Adds
EvaluatorContext.createInputs
to create anEvaluatorContext
from input values - Performs "finalization" of input values (setting of missing attributes on File and Directory values) when using
EvaluatorContext.createInputs
orEvaluatorContext.createStaticInputs
- Parser bugfixes
- Incorporate
cwljava/39
, which fixes workflow parsing issues - Allow duplicate Requirements/Hints and specify priority rules
- Breaking change: added new
CwlMulti
type and removed all uses ofVector[CwlType]
- Fix parsing of SchemaDefRequirement with nested type references
- Fix coercion of null and optional ctypes
- Rename all
CwlValue.apply(JsValue)
functions todeserialize
- fixes bug with deserializing string values
- Handle CwlAny type in Evaluator
- Update cwljava, which fixes remaning CommandLineTool parsing errors
- Convert all tool compliance tests to unit tests
- Update cwljava, which fixes most CommandLineTool parsing errors
- Normalize baseuri so schemadef names and type references match
- Implement workflow support
- Use separate classes for input and output record schemas
- Use SeqMap for RecordSchema type and Object value
- Add optional name parameter to
Parser.parse*
functions, for tools/workflows that do not specifyid
- Fixed bug with
Runtime.create
- Include
class
attribute when serializingFile
andDirectory
values
- Fix hint parsing bugs
- Implement coercion of values
- In
Evaluator
, have all functions that take a Vector of types return the actual type of the evaluated value - Add convenience functions to
Evaluator
- Parse hints
- Fix several issues with CwlTypes
- Add
Parser.canParse(String)
andParser.parseString
functions - Add default values and
merge
function toReSourceRequirement
- Updated cwljava
- fixes some issues with requirements parsing
- fixes some tests cases and breaks others
- Fix apply functions for CwlValue primitives - correctly handle Scala values
- Fix parsing of process requirements
- Add
Parser.canParse
method
- Parse identifiers
- Use file name as tool identifier if
id
not specified explicitly
- Added documentation
- Fixed conversion of null-valued expression to string
- Renamed case class
CwlExpr
->ParameterValue
- Initial release