tag | 69a5529833e00aea1f5997b1f16a94f06bcf9c36 | |
---|---|---|
tagger | Steve Lawrence <slawrence@apache.org> | Fri Jan 03 16:09:50 2020 +0000 |
object | d0a25d2fc43d3b2789d6da14419049be2b06aa56 |
Release v2.5.0-rc2
commit | d0a25d2fc43d3b2789d6da14419049be2b06aa56 | [log] [tgz] |
---|---|---|
author | Steve Lawrence <slawrence@apache.org> | Thu Jan 02 14:16:45 2020 -0500 |
committer | Steve Lawrence <stephen.d.lawrence@gmail.com> | Fri Jan 03 10:37:29 2020 -0500 |
tree | 4ec7f25b886b9620b3eb8bf58eef09d2752dd4d7 | |
parent | de17bbbdf0a2b4b2b881ccd0aa61ae624736f94d [diff] |
Fix unparsing nested arrays when separatorSuppressionPolicy="never" When data has separators and separatorSuppressionPolicy="never", then we were not pushing/popping onto the arrayIndexStack during unparsing. This meant that if an array with separatorSuppressionPolicy="never" was a child of a parent array, then we would incorrectly modify the array stack of the parent instead of the childs own array stack. This led to incorrect array indices and invariant failures. To fix this, this copies the array stack logic and invariant checks from unparseWithSuppression into the unparseWithNoSuppression. DAFFODIL-2263
Apache Daffodil (incubating) is the open source implementation of the Data Format Description Language (DFDL), a specification created by the Open Grid Forum. DFDL is capable of describing many data formats, including textual and binary, commercial record-oriented, scientific and numeric, modern and legacy, and many industry standards. It leverages XML technology and concepts, using a subset of W3C XML schema type system and annotations to describe such data. Daffodil uses this description to parse data into an infoset represented as XML or JSON, easily capable of ingestion, validation, and transformation.
For more information about Daffodil, see https://daffodil.apache.org/.
SBT is the officially supported tool to build Daffodil, run all tests, create packages, and more. Below are some of the more common commands used for Daffodil development.
:exclamation: SBT Memory Requirements
Compiling and running all Daffodil tests works best with at least 6GB of memory, more than is usually provided by default. We recommended that you supply
-mem 6144
either as an sbt option (e.g.sbt -mem 6144 test
) or edit/etc/sbt/sbtopts
to increase the available memory when running the below commands.
$ sbt compile
Run all unit tests:
$ sbt test
Run all command line interface tests:
$ sbt it:test
Create Linux and Windows shell scripts in daffodil-cli/target/universal/stage/bin/
. See the Command Line Interface documentation for details on its usage:
$ sbt daffodil-cli/stage
Generate an Apache RAT license check report located in target/rat.txt
and error if any unapproved licenses are found:
$ sbt ratCheck
Generate an sbt-scoverage test coverage report located in target/scala-ver/scoverage-report/
:
$ sbt clean coverage test it:test $ sbt coverageReport $ sbt coverageAggregate
For questions, we can be reached at the dev@daffodil.apache.org or users@daffodil.apache.org mailing lists. Bugs can be reported via the Daffodil JIRA.
Apache Daffodil is licensed under the Apache License, v2.0.
Apache Daffodil is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.