{
  "filters": {
    "revapi": {
      "java": {
        "_comment": "We don't want to check classes, just interfaces. Every class is therefore excluded so new interfaces and classes in future are discovered by revapi.",
        "filter": {
          "packages": {
            "_comment": [
              "We don't want to check transitive classes, e.g. from kie-server-api, since we already check them in their own module.",
              "Therefore, only module's packages are included. Excluded packages contain only classes."
            ],
            "regex": true,
            "include": [
              "org\\.kie\\.server\\.client.*"
            ],
            "exclude": [
              "org\\.kie\\.server\\.client\\.admin\\.impl",
              "org\\.kie\\.server\\.client\\.balancer\\.impl",
              "org\\.kie\\.server\\.client\\.credentials",
              "org\\.kie\\.server\\.client\\.impl"
            ]
          },
          "classes": {
            "_comment": "In the remaining packages which are mixed (both interfaces and classes), we just exclude classes.",
            "regex": false,
            "exclude": [
              "org.kie.server.client.balancer.LoadBalancer",
              "org.kie.server.client.helper.CaseServicesClientBuilder",
              "org.kie.server.client.helper.DroolsServicesClientBuilder",
              "org.kie.server.client.helper.JBPMServicesClientBuilder",
              "org.kie.server.client.helper.JBPMUIServicesClientBuilder",
              "org.kie.server.client.helper.OptaplannerServicesClientBuilder",
              "org.kie.server.client.KieServicesException",
              "org.kie.server.client.KieServicesFactory"
            ]
          }
        }
      }
    }
  },
  "ignores": {
    "revapi": {
      "_comment": "Changes between 7.14.0.Final and the current branch. These changes are desired and thus ignored.",
      "ignore": [
        {
          "code": "java.method.addedToInterface",
          "new": "method void org.kie.server.client.KieServicesClient::close()",
          "package": "org.kie.server.client",
          "classSimpleName": "KieServicesClient",
          "methodName": "close",
          "elementKind": "method",
          "justification": "Added close method of kie services client to allow to release resources"
        },
        {
          "code": "java.method.addedToInterface",
          "new": "method org.kie.server.api.model.ServiceResponse<org.kie.server.api.model.ReleaseId> org.kie.server.client.KieServicesClient::updateReleaseId(java.lang.String, org.kie.server.api.model.ReleaseId, boolean)",
          "package": "org.kie.server.client",
          "classSimpleName": "KieServicesClient",
          "methodName": "updateReleaseId",
          "elementKind": "method",
          "justification": "AF-1685: Development Lifecycle Streamline"
        }
      ]
    }
  }
}
