Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge LegacyClientCmdError into CmdError #195

Merged
merged 3 commits into from
Aug 22, 2023
Merged

Conversation

newhoggy
Copy link
Contributor

@newhoggy newhoggy commented Aug 21, 2023

Changelog

- description: |
    Merge `LegacyClientCmdError` into `CmdError`
# uncomment types applicable to the change:
  type:
  # - feature        # introduces a new feature
  # - breaking       # the API has changed in a breaking way
  # - compatible     # the API has changed but is non-breaking
  # - optimisation   # measurable performance improvements
  - improvement    # QoL changes e.g. refactoring
  # - bugfix         # fixes a defect
  # - test           # fixes/modifies tests
  # - maintenance    # not directly related to the code
  # - release        # related to a new release preparation
  # - documentation  # change in code docs, haddocks...

Context

Proposes to merge the LegacyClientCmdError type into CmdError.

This will make it easier to share code between legacy and era-based. An example of this is GovernanceCmdError which is the same error type used by era-based and legacy code.

For example the legacy run function for a particular legacy command can delegate to the corresponding run function for the corresponding era-based command without having to convert between different error type hierarchies.

Note, we already share GovernanceCmdError between the two hierarchies. This change formalises this by making it so at the top level as well and avoids us accidentally creating two error-type hierarchies going forward.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • The change log section in the PR description has been filled in
  • New tests are added if needed and existing tests are updated. These may include:
    • golden tests
    • property tests
    • round trip tests
    • integration tests
      See Running tests for more details
  • The version bounds in .cabal files are updated
  • CI passes. See note on CI. The following CI checks are required:
    • Code is linted with hlint. See .github/workflows/check-hlint.yml to get the hlint version
    • Code is formatted with stylish-haskell. See .github/workflows/stylish-haskell.yml to get the stylish-haskell version
    • Code builds on Linux, MacOS and Windows for ghc-8.10.7 and ghc-9.2.7
  • The changelog section in the PR is updated to describe the change
  • Self-reviewed the diff

@newhoggy newhoggy marked this pull request as ready for review August 21, 2023 22:43
@newhoggy newhoggy added this pull request to the merge queue Aug 22, 2023
Merged via the queue into main with commit eeacebe Aug 22, 2023
@newhoggy newhoggy deleted the newhogy/merge-errors branch August 22, 2023 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants