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

muzzle {
  pass {
    group = "io.netty"
    module = "netty-codec-http"
    versions = "[4.0.0.Final,4.1.0.Final)"
    assertInverse = true
  }
  pass {
    group = "io.netty"
    module = "netty-all"
    versions = "[4.0.0.Final,4.1.0.Final)"
    assertInverse = true
  }
  fail {
    group = "io.netty"
    module = "netty"
    versions = "[,]"
  }
  pass {
    group = "io.vertx"
    module = "vertx-core"
    versions = "[2.0.0,3.3.0)"
    assertInverse = true
  }
}

dependencies {
  library group: 'io.netty', name: 'netty-codec-http', version: '4.0.0.Final'
  latestDepTestLibrary group: 'io.netty', name: 'netty-codec-http', version: '4.0.56.Final'
}

// We need to force the dependency to the earliest supported version because other libraries declare newer versions.
configurations.testImplementation {
  resolutionStrategy {
    eachDependency { DependencyResolveDetails details ->
      //specifying a fixed version for all libraries with io.netty' group
      if (details.requested.group == 'io.netty') {
        details.useVersion "4.0.0.Final"
      }
    }
  }
}
