Skip to content

Latest commit

 

History

History
57 lines (33 loc) · 1.52 KB

CONTRIBUTE.md

File metadata and controls

57 lines (33 loc) · 1.52 KB

Contribute to SnakeYAML Engine

Architecture

Tons of useful information can be found on the official site.

General step are defined in the spec:

Loading has the following explicit steps (please note that Events form a Stream, not a Tree)

Composer delivers also Stream of Nodes (because there may be more than one document in the YAML stream, but for simplification the diagram mentions only one Node graph)

Testing

Build the test data

Engine uses Comprehensive Test Suite for YAML for the tests.

When your contribution implements new topic from the spec or changes the core features, it should be checked with the latest spec tests.

    git tag | grep data
    git checkout <LATEST TAG>
  • build with flat data (remove sub-folders)
make clean data && make data-update && mv data orig && mkdir data; find orig -name === | sed 's/===//; s/orig\///' | while read d; do (set -x; cp -r orig/$d data/${d/\/0/-0}); done; rm -fr orig
  • copy data folder to src/test/resources/comprehensive-test-suite-data

Test locally

./mvnw clean verify

Run tests in docker

Run the tests and fix the errors:

./docker-run-jdk8.sh

Format source

./mvnw clean install site -Preformat