{
  "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.5.0.Final and the current branch. These changes are desired and thus ignored.",
      "ignore": [
         {
           "code": "java.method.returnTypeChanged",
           "old": "method void org.kie.server.client.CaseServicesClient::addComment(java.lang.String, java.lang.String, java.lang.String, java.lang.String)",
           "new": "method java.lang.String org.kie.server.client.CaseServicesClient::addComment(java.lang.String, java.lang.String, java.lang.String, java.lang.String)",
           "oldType": "void",
           "newType": "java.lang.String",
           "package": "org.kie.server.client",
           "classSimpleName": "CaseServicesClient",
           "methodName": "addComment",
           "elementKind": "method",
           "justification": "Return comment id when comment is added"
         },
         {
          "code": "java.method.returnTypeChanged",
          "old": "method void org.kie.server.client.CaseServicesClient::addComment(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.List<java.lang.String>)",
          "new": "method java.lang.String org.kie.server.client.CaseServicesClient::addComment(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.List<java.lang.String>)",
          "oldType": "void",
          "newType": "java.lang.String",
          "package": "org.kie.server.client",
          "classSimpleName": "CaseServicesClient",
          "methodName": "addComment",
          "elementKind": "method",
          "justification": "Return comment id when comment is added"
         },
         {
           "code": "java.method.addedToInterface",
           "new": "method java.lang.String org.kie.server.client.CaseServicesClient::addComment(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.List<java.lang.String>)",
           "package": "org.kie.server.client",
           "classSimpleName": "CaseServicesClient",
           "methodName": "addComment",
           "elementKind": "method",
           "justification": "Return comment id when comment is added"
         },
         {
           "code": "java.method.addedToInterface",
           "new": "method <T> java.util.List<T> org.kie.server.client.QueryServicesClient::query(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.Object>, java.lang.Integer, java.lang.Integer, java.lang.Class<T>)",
           "package": "org.kie.server.client",
           "classSimpleName": "QueryServicesClient",
           "methodName": "query",
           "elementKind": "method",
           "justification": "JBPM-6891 - Added support to pass container id when executing advanced query"
         },
         {
           "code": "java.method.returnTypeChanged",
           "old": "method void org.kie.server.client.QueryServicesClient::registerQuery(org.kie.server.api.model.definition.QueryDefinition)",
           "new": "method org.kie.server.api.model.definition.QueryDefinition org.kie.server.client.QueryServicesClient::registerQuery(org.kie.server.api.model.definition.QueryDefinition)",
           "oldType": "void",
           "newType": "org.kie.server.api.model.definition.QueryDefinition",
           "package": "org.kie.server.client",
           "classSimpleName": "QueryServicesClient",
           "methodName": "registerQuery",
           "elementKind": "method",
           "justification": "Expose query definition resolved columns"
         },
         {
           "code": "java.method.returnTypeChanged",
           "old": "method void org.kie.server.client.QueryServicesClient::replaceQuery(org.kie.server.api.model.definition.QueryDefinition)",
           "new": "method org.kie.server.api.model.definition.QueryDefinition org.kie.server.client.QueryServicesClient::replaceQuery(org.kie.server.api.model.definition.QueryDefinition)",
           "oldType": "void",
           "newType": "org.kie.server.api.model.definition.QueryDefinition",
           "package": "org.kie.server.client",
           "classSimpleName": "QueryServicesClient",
           "methodName": "replaceQuery",
           "elementKind": "method",
           "justification": "Expose query definition resolved columns"
         },
         {
           "code": "java.method.addedToInterface",
           "new": "method org.kie.server.api.model.cases.CaseMigrationReportInstance org.kie.server.client.admin.CaseAdminServicesClient::migrateCaseInstance(java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>)",
           "package": "org.kie.server.client.admin",
           "classSimpleName": "CaseAdminServicesClient",
           "methodName": "migrateCaseInstance",
           "elementKind": "method",
           "justification": "Added support for case instance migration"
         },
         {
           "code": "java.method.addedToInterface",
           "new": "method org.kie.server.api.model.cases.CaseMigrationReportInstance org.kie.server.client.admin.CaseAdminServicesClient::migrateCaseInstance(java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>, java.util.Map<java.lang.String, java.lang.String>)",
           "package": "org.kie.server.client.admin",
           "classSimpleName": "CaseAdminServicesClient",
           "methodName": "migrateCaseInstance",
           "elementKind": "method",
           "justification": "Added support for case instance migration"
         },
         {
           "code": "java.method.addedToInterface",
           "new": "method java.util.List<org.kie.server.api.model.instance.ProcessInstance> org.kie.server.client.QueryServicesClient::findProcessInstancesByProcessIdAndInitiator(java.lang.String, java.lang.String, java.util.List<java.lang.Integer>, java.lang.Integer, java.lang.Integer)",
           "package": "org.kie.server.client",
           "classSimpleName": "QueryServicesClient",
           "methodName": "findProcessInstancesByProcessIdAndInitiator",
           "elementKind": "method",
           "justification": "Added additional methods for quering process instances by both process and initiator"
         },
         {
           "code": "java.method.addedToInterface",
           "new": "method java.util.List<org.kie.server.api.model.instance.ProcessInstance> org.kie.server.client.QueryServicesClient::findProcessInstancesByProcessIdAndInitiator(java.lang.String, java.lang.String, java.util.List<java.lang.Integer>, java.lang.Integer, java.lang.Integer, java.lang.String, boolean)",
           "package": "org.kie.server.client",
           "classSimpleName": "QueryServicesClient",
           "methodName": "findProcessInstancesByProcessIdAndInitiator",
           "elementKind": "method",
           "justification":  "Added additional methods for quering process instances by both process and initiator"
         }
      ]
    }
  }
}
