blob: c75a98cb4af75ff9337811455262c2f55a83b3bf [file]
// 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|dse)\\.protocol\\.internal(\\..+)?",
"com\\.datastax\\.(oss|dse)\\.driver\\.internal(\\..+)?",
"com\\.datastax\\.oss\\.driver\\.shaded(\\..+)?",
"com\\.datastax\\.oss\\.simulacron(\\..+)?",
"org\\.assertj(\\..+)?",
// Don't re-check sibling modules that this module depends on
"com\\.datastax\\.(oss|dse)\\.driver\\.api\\.core(\\..+)?"
]
}
}
},
"ignore": [
{
"code": "java.method.returnTypeTypeParametersChanged",
"old": "method java.util.Set<java.net.InetSocketAddress> com.datastax.oss.driver.api.testinfra.CassandraResourceRule::getContactPoints()",
"new": "method java.util.Set<com.datastax.oss.driver.api.core.metadata.EndPoint> com.datastax.oss.driver.api.testinfra.CassandraResourceRule::getContactPoints()",
"justification": "JAVA-2165: Abstract node connection information"
},
{
"code": "java.method.numberOfParametersChanged",
"old": "method void com.datastax.oss.driver.api.testinfra.loadbalancing.SortingLoadBalancingPolicy::init(java.util.Map<java.net.InetSocketAddress, com.datastax.oss.driver.api.core.metadata.Node>, com.datastax.oss.driver.api.core.loadbalancing.LoadBalancingPolicy.DistanceReporter, java.util.Set<java.net.InetSocketAddress>)",
"new": "method void com.datastax.oss.driver.api.testinfra.loadbalancing.SortingLoadBalancingPolicy::init(java.util.Map<java.util.UUID, com.datastax.oss.driver.api.core.metadata.Node>, com.datastax.oss.driver.api.core.loadbalancing.LoadBalancingPolicy.DistanceReporter)",
"justification": "JAVA-2165: Abstract node connection information"
},
{
"code": "java.method.returnTypeTypeParametersChanged",
"old": "method java.util.Set<java.net.InetSocketAddress> com.datastax.oss.driver.api.testinfra.simulacron.SimulacronRule::getContactPoints()",
"new": "method java.util.Set<com.datastax.oss.driver.api.core.metadata.EndPoint> com.datastax.oss.driver.api.testinfra.simulacron.SimulacronRule::getContactPoints()",
"justification": "JAVA-2165: Abstract node connection information"
},
{
"code": "java.method.returnTypeChanged",
"old": "method com.datastax.oss.driver.internal.core.config.typesafe.DefaultDriverConfigLoaderBuilder com.datastax.oss.driver.api.testinfra.session.SessionUtils::configLoaderBuilder()",
"new": "method com.datastax.oss.driver.api.core.config.ProgrammaticDriverConfigLoaderBuilder com.datastax.oss.driver.api.testinfra.session.SessionUtils::configLoaderBuilder()",
"justification": "JAVA-2201: Expose a public API for programmatic config"
},
{
"code": "java.annotation.removed",
"old": "parameter java.util.Queue<com.datastax.oss.driver.api.core.metadata.Node> com.datastax.oss.driver.api.testinfra.loadbalancing.SortingLoadBalancingPolicy::newQueryPlan(===com.datastax.oss.driver.api.core.session.Request===, com.datastax.oss.driver.api.core.session.Session)",
"new": "parameter java.util.Queue<com.datastax.oss.driver.api.core.metadata.Node> com.datastax.oss.driver.api.testinfra.loadbalancing.SortingLoadBalancingPolicy::newQueryPlan(===com.datastax.oss.driver.api.core.session.Request===, com.datastax.oss.driver.api.core.session.Session)",
"annotation": "@edu.umd.cs.findbugs.annotations.NonNull",
"justification": "Method arguments were mistakenly annotated with @NonNull"
},
{
"code": "java.annotation.added",
"old": "parameter java.util.Queue<com.datastax.oss.driver.api.core.metadata.Node> com.datastax.oss.driver.api.testinfra.loadbalancing.SortingLoadBalancingPolicy::newQueryPlan(===com.datastax.oss.driver.api.core.session.Request===, com.datastax.oss.driver.api.core.session.Session)",
"new": "parameter java.util.Queue<com.datastax.oss.driver.api.core.metadata.Node> com.datastax.oss.driver.api.testinfra.loadbalancing.SortingLoadBalancingPolicy::newQueryPlan(===com.datastax.oss.driver.api.core.session.Request===, com.datastax.oss.driver.api.core.session.Session)",
"annotation": "@edu.umd.cs.findbugs.annotations.Nullable",
"justification": "Method arguments were mistakenly annotated with @NonNull"
},
{
"code": "java.annotation.removed",
"old": "parameter java.util.Queue<com.datastax.oss.driver.api.core.metadata.Node> com.datastax.oss.driver.api.testinfra.loadbalancing.SortingLoadBalancingPolicy::newQueryPlan(com.datastax.oss.driver.api.core.session.Request, ===com.datastax.oss.driver.api.core.session.Session===)",
"new": "parameter java.util.Queue<com.datastax.oss.driver.api.core.metadata.Node> com.datastax.oss.driver.api.testinfra.loadbalancing.SortingLoadBalancingPolicy::newQueryPlan(com.datastax.oss.driver.api.core.session.Request, ===com.datastax.oss.driver.api.core.session.Session===)",
"annotation": "@edu.umd.cs.findbugs.annotations.NonNull",
"justification": "Method arguments were mistakenly annotated with @NonNull"
},
{
"code": "java.annotation.added",
"old": "parameter java.util.Queue<com.datastax.oss.driver.api.core.metadata.Node> com.datastax.oss.driver.api.testinfra.loadbalancing.SortingLoadBalancingPolicy::newQueryPlan(com.datastax.oss.driver.api.core.session.Request, ===com.datastax.oss.driver.api.core.session.Session===)",
"new": "parameter java.util.Queue<com.datastax.oss.driver.api.core.metadata.Node> com.datastax.oss.driver.api.testinfra.loadbalancing.SortingLoadBalancingPolicy::newQueryPlan(com.datastax.oss.driver.api.core.session.Request, ===com.datastax.oss.driver.api.core.session.Session===)",
"annotation": "@edu.umd.cs.findbugs.annotations.Nullable",
"justification": "Method arguments were mistakenly annotated with @NonNull"
},
{
"code": "java.method.parameterTypeParameterChanged",
"old": "parameter com.datastax.oss.driver.api.testinfra.simulacron.QueryCounter.QueryCounterBuilder com.datastax.oss.driver.api.testinfra.simulacron.QueryCounter::builder(===com.datastax.oss.simulacron.server.BoundTopic===)",
"new": "parameter com.datastax.oss.driver.api.testinfra.simulacron.QueryCounter.QueryCounterBuilder com.datastax.oss.driver.api.testinfra.simulacron.QueryCounter::builder(===com.datastax.oss.simulacron.server.BoundTopic<?, ?>===)",
"justification": "Fix usage of raw type BoundTopic"
},
{
"code": "java.field.constantValueChanged",
"old": "field com.datastax.oss.driver.api.testinfra.ccm.CcmBridge.DEFAULT_CLIENT_KEYSTORE_PASSWORD",
"new": "field com.datastax.oss.driver.api.testinfra.ccm.CcmBridge.DEFAULT_CLIENT_KEYSTORE_PASSWORD",
"justification": "JAVA-2620: Use clearly dummy passwords in tests"
},
{
"code": "java.field.constantValueChanged",
"old": "field com.datastax.oss.driver.api.testinfra.ccm.CcmBridge.DEFAULT_CLIENT_TRUSTSTORE_PASSWORD",
"new": "field com.datastax.oss.driver.api.testinfra.ccm.CcmBridge.DEFAULT_CLIENT_TRUSTSTORE_PASSWORD",
"justification": "JAVA-2620: Use clearly dummy passwords in tests"
},
{
"code": "java.field.constantValueChanged",
"old": "field com.datastax.oss.driver.api.testinfra.ccm.CcmBridge.DEFAULT_SERVER_KEYSTORE_PASSWORD",
"new": "field com.datastax.oss.driver.api.testinfra.ccm.CcmBridge.DEFAULT_SERVER_KEYSTORE_PASSWORD",
"justification": "JAVA-2620: Use clearly dummy passwords in tests"
},
{
"code": "java.field.constantValueChanged",
"old": "field com.datastax.oss.driver.api.testinfra.ccm.CcmBridge.DEFAULT_SERVER_TRUSTSTORE_PASSWORD",
"new": "field com.datastax.oss.driver.api.testinfra.ccm.CcmBridge.DEFAULT_SERVER_TRUSTSTORE_PASSWORD",
"justification": "JAVA-2620: Use clearly dummy passwords in tests"
},
{
"code": "java.missing.newClass",
"new": "missing-class com.datastax.oss.simulacron.common.cluster.ClusterSpec",
"justification":"Dependency was made optional"
},
{
"code": "java.missing.newClass",
"new": "missing-class com.datastax.oss.simulacron.common.cluster.ClusterSpec.Builder",
"justification":"Dependency was made optional"
},
{
"code": "java.missing.newClass",
"new": "missing-class com.datastax.oss.simulacron.common.cluster.QueryLog",
"justification":"Dependency was made optional"
},
{
"code": "java.missing.newClass",
"new": "missing-class com.datastax.oss.simulacron.server.BoundCluster",
"justification":"Dependency was made optional"
},
{
"code": "java.missing.newClass",
"new": "missing-class com.datastax.oss.simulacron.server.BoundTopic",
"justification":"Dependency was made optional"
},
{
"code": "java.missing.newClass",
"new": "missing-class com.datastax.oss.simulacron.server.Server",
"justification":"Dependency was made optional"
},
{
"code": "java.missing.oldClass",
"old": "missing-class com.datastax.oss.simulacron.common.cluster.ClusterSpec",
"new": "missing-class com.datastax.oss.simulacron.common.cluster.ClusterSpec",
"justification": "Dependency was made optional"
},
{
"code": "java.missing.oldClass",
"old": "missing-class com.datastax.oss.simulacron.common.cluster.ClusterSpec.Builder",
"new": "missing-class com.datastax.oss.simulacron.common.cluster.ClusterSpec.Builder",
"justification": "Dependency was made optional"
},
{
"code": "java.missing.oldClass",
"old": "missing-class com.datastax.oss.simulacron.common.cluster.QueryLog",
"new": "missing-class com.datastax.oss.simulacron.common.cluster.QueryLog",
"justification": "Dependency was made optional"
},
{
"code": "java.missing.oldClass",
"old": "missing-class com.datastax.oss.simulacron.server.BoundCluster",
"new": "missing-class com.datastax.oss.simulacron.server.BoundCluster",
"justification": "Dependency was made optional"
},
{
"code": "java.missing.oldClass",
"old": "missing-class com.datastax.oss.simulacron.server.BoundTopic",
"new": "missing-class com.datastax.oss.simulacron.server.BoundTopic",
"justification": "Dependency was made optional"
},
{
"code": "java.missing.oldClass",
"old": "missing-class com.datastax.oss.simulacron.server.Server",
"new": "missing-class com.datastax.oss.simulacron.server.Server",
"justification": "Dependency was made optional"
},
{
"code": "java.method.removed",
"old": "method void com.datastax.oss.driver.api.testinfra.ccm.CcmRule::reloadCore(int, java.lang.String, java.lang.String, boolean)",
"justification": "Modifying the state of a globally shared CCM instance is dangerous"
},
{
"code": "java.method.removed",
"old": "method java.util.Optional<com.datastax.oss.driver.api.core.Version> com.datastax.oss.driver.api.testinfra.ccm.BaseCcmRule::getDseVersion()",
"justification": "Method has been replaced with more generic isDistributionOf(BackendType) and getDistributionVersion()"
},
{
"code": "java.field.removed",
"old": "field com.datastax.oss.driver.api.testinfra.ccm.CcmBridge.DSE_ENABLEMENT",
"justification": "Method has been replaced with more generic isDistributionOf(BackendType) and getDistributionVersion()"
},
{
"code": "java.method.nowStatic",
"old": "method com.datastax.oss.driver.api.core.Version com.datastax.oss.driver.api.testinfra.ccm.CcmBridge::getCassandraVersion()",
"new": "method com.datastax.oss.driver.api.core.Version com.datastax.oss.driver.api.testinfra.ccm.CcmBridge::getCassandraVersion()",
"justification": "Previous and current implemntation do not relay on non-static fields"
},
{
"code": "java.method.removed",
"old": "method java.util.Optional<com.datastax.oss.driver.api.core.Version> com.datastax.oss.driver.api.testinfra.ccm.CcmBridge::getDseVersion()",
"justification": "Method has been replaced with more generic isDistributionOf(BackendType) and getDistributionVersion()"
}
]
}
}