OpenAPITools / OpenAPITools/openapi-diff

`--state` option outputs `metadata`

Open
#508 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

good first issue
Dominant language
Java
Stars
1.1k
Forks
190
PR merge metrics
No merged PRs in 30d

Description

From help,

    --state                     Only output diff state: no_changes,
                                incompatible, compatible

this doesn't align with reality. We had a case where the state outputted metadata.

Caused by this line:
https://github.com/OpenAPITools/openapi-diff/blob/1de574d3ca447bc463740bc10c37851702974a00/cli/src/main/java/org/openapitools/openapidiff/cli/Main.java#L203

We can simply
https://github.com/OpenAPITools/openapi-diff/blob/1de574d3ca447bc463740bc10c37851702974a00/core/src/main/java/org/openapitools/openapidiff/core/model/DiffResult.java#L5

to include something like

public DiffResult toStateDiff() {
  if (this.isUnchanged()) {
    return DiffResult.UNCHANGED;
  }

 if (this.isCompatible()) {
    return DiffResult.COMPATIBLE;
 }

 return DiffResult.INCOMPATIBLE;
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in cli/src/main/java/org/openapitools/openapidiff/cli/Main.java at the --state handling, then read core/src/main/java/org/openapitools/openapidiff/core/model/DiffResult.java and its state values. Confirm that --state reports only no_changes, compatible, or incompatible, and verify that a metadata result is no longer emitted.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
cli
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.