apply from: "$rootDir/gradle/instrumentation.gradle"

muzzle {
  pass {
    group = "org.mongodb"
    module = "mongo-java-driver"
    versions = "[3.7,)"
    assertInverse = true
  }
  pass {
    group = "org.mongodb"
    module = "mongodb-driver-core"
    // this instrumentation is backwards compatible with early versions of the new API that shipped in 3.7
    // the legacy API instrumented in mongo-3.1 continues to be shipped in 4.x, but doesn't conflict here
    // because they are triggered by different types: MongoClientSettings(new) vs MongoClientOptions(legacy)
    versions = "[3.7,)"
    extraDependency "org.mongodb:bson:3.7.0"
    assertInverse = true
  }
}

dependencies {
  implementation(project(':instrumentation:mongo:mongo-common:javaagent'))

  // a couple of test attribute verifications don't pass until 3.8.0
  library group: 'org.mongodb', name: 'mongo-java-driver', version: '3.8.0'

  testImplementation project(':instrumentation:mongo:mongo-testing')
  testImplementation group: 'de.flapdoodle.embed', name: 'de.flapdoodle.embed.mongo', version: '1.50.5'
}
