blob: 18d26a7f7e9f282c3090bcdffb4859a0a5381111 [file] [log] [blame]
// 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)"
}
]
}
}