// Configures Revapi (https://revapi.org/getting-started.html) to check API compatibility between
// successive driver versions.
{
  "revapi": {
    "java": {
      "filter": {
        "packages": {
          "regex": true,
          "exclude": [
            "com\\.datastax\\.oss\\.protocol\\.internal(\\..+)?",
            "com\\.datastax\\.(oss|dse)\\.driver\\.internal(\\..+)?",
            "com\\.datastax\\.oss\\.driver\\.shaded(\\..+)?",
            "com\\.datastax\\.oss\\.simulacron(\\..+)?",
            // Don't re-check sibling modules that this module depends on
            "com\\.datastax\\.(oss|dse)\\.driver\\.api\\.core(\\..+)?",
            "com\\.datastax\\.(oss|dse)\\.driver\\.api\\.querybuilder(\\..+)?"
          ]
        }
      }
    },
    "ignore": [
      {
        "regex": true,
        "code": "java.annotation.attributeValueChanged",
        "old": "@interface com\.datastax\.oss\.driver\.api\.mapper\.annotations\..*",
        "annotationType": "java.lang.annotation.Retention",
        "attribute": "value",
        "oldValue": "java.lang.annotation.RetentionPolicy.CLASS",
        "newValue": "java.lang.annotation.RetentionPolicy.RUNTIME",
        "justification": "JAVA-2369: Change mapper annotations retention to runtime"
      },
      {
        "code": "java.annotation.added",
        "old": "@interface com.datastax.oss.driver.api.mapper.annotations.Computed",
        "new": "@interface com.datastax.oss.driver.api.mapper.annotations.Computed",
        "annotation": "@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)",
        "justification": "Oversight, should have been annotated this way from the start"
      },
      {
        "code": "java.annotation.added",
        "old": "@interface com.datastax.oss.driver.api.mapper.annotations.Computed",
        "new": "@interface com.datastax.oss.driver.api.mapper.annotations.Computed",
        "annotation": "@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD})",
        "justification": "Oversight, should have been annotated this way from the start"
      },
      {
        "code": "java.annotation.added",
        "old": "@interface com.datastax.oss.driver.api.mapper.annotations.TransientProperties",
        "new": "@interface com.datastax.oss.driver.api.mapper.annotations.TransientProperties",
        "annotation": "@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)",
        "justification": "Oversight, should have been annotated this way from the start"
      },
      {
        "code": "java.annotation.added",
        "old": "@interface com.datastax.oss.driver.api.mapper.annotations.TransientProperties",
        "new": "@interface com.datastax.oss.driver.api.mapper.annotations.TransientProperties",
        "annotation": "@java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE})",
        "justification": "Oversight, should have been annotated this way from the start"
      },
      {
        "code": "java.method.addedToInterface",
        "new": "method java.lang.String com.datastax.oss.driver.api.mapper.MapperContext::getExecutionProfileName()",
        "justification": "JAVA-2633: Add execution profile argument to DAO factory method (accept API break -- it's unlikely that MapperContext will be implemented outside of the driver)"

      },
      {
        "code": "java.method.addedToInterface",
        "new": "method com.datastax.oss.driver.api.core.config.DriverExecutionProfile com.datastax.oss.driver.api.mapper.MapperContext::getExecutionProfile()",
        "justification": "JAVA-2633: Add execution profile argument to DAO factory method (accept API break -- it's unlikely that MapperContext will be implemented outside of the driver)"
      },
      {
        "code": "java.method.addedToInterface",
        "new": "method com.datastax.oss.driver.api.mapper.result.MapperResultProducer com.datastax.oss.driver.api.mapper.MapperContext::getResultProducer(com.datastax.oss.driver.api.core.type.reflect.GenericType<?>)",
        "justification": "JAVA-2792: Allow custom results in the mapper (accept API break -- it's unlikely that MapperContext will be implemented outside of the driver)"
      }
    ]
  }
}
