Skip to content
  • Jamie Tanna's avatar
    Implement initial version · e48a00de
    Jamie Tanna authored
    As this is the work of ~6 weeks effort, there is unfortunately not a
    nice commit history, implementing piece-by-piece that can be added.
    To ensure that this works correctly, we've utilised feature files from
    [gherkin-java], as well as a few custom ones, with a test harness to
    ensure that we're able to handle all valid - and invalid - forms of
    feature files.
    This is bundled in with a test harness, utilising abstract classes to
    enable reusability across test cases to validate that:
    - we can check whitespace independent - quicker feedback while testing,
      allows making changes without worrying about indentation, and that
      semantically there's nothing lost
    - we can check whitespace dependent - the truly important tests
    We've gone with method calls in a nested fashion as this lends to easier
    selective incrementing of the indentation level. We pass the `State`
    around so we can remain stateless, which allows re-using the
    `PrettyFormatter` in a thread-safe fashion.
    Because we cannot create a new `ParseError` as its visibility is hidden
    for external construction, we can instead wrap it within a
    This also includes the lookup for comments in a method adapted from a
    suggestion from Jack Gough.
    I'm releasing this as v1.0.0 straight away as I'd like to keep stability
    for consumers - or bump the major version accordingly.
    This also provides:
    - Spotless configuration for Java + Gradle
    - Required configuration for SonarCloud
    - Required configuration for publishing to OSSRH
    Closes #1.
This project is licensed under the MIT License. Learn more