| // 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()" |
| } |
| ] |
| } |
| } |