#
# Copyright 2019-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Gopkg.toml example
#
# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html
# for detailed Gopkg.toml documentation.
#
# required = ["github.com/user/thing/cmd/thing"]
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
#
# [[constraint]]
#   name = "github.com/user/project"
#   version = "1.0.0"
#
# [[constraint]]
#   name = "github.com/user/project2"
#   branch = "dev"
#   source = "github.com/myfork/project2"
#
# [[override]]
#   name = "github.com/x/y"
#   version = "2.4.0"
#
# [prune]
#   non-go = false
#   go-tests = true
#   unused-packages = true

required = [
    "github.com/golang/protobuf/protoc-gen-go",
]

[[constraint]]
  name = "github.com/bsm/sarama-cluster"
  version = "2.1.15"

[[constraint]]
  branch = "master"
  name = "github.com/cevaris/ordered_map"

[[constraint]]
  name = "github.com/confluentinc/confluent-kafka-go"
  version = "0.11.6"

[[constraint]]
  branch = "master"
  name = "github.com/coreswitch/log"

[[constraint]]
  name = "github.com/gogo/protobuf"
  version = "1.2.0"

[[constraint]]
  branch = "master"
  name = "github.com/golang-collections/go-datastructures"

[[constraint]]
  name = "github.com/golang/protobuf"
  version = "1.2.0"

[[constraint]]
  name = "github.com/google/uuid"
  version = "1.1.0"

[[constraint]]
  name = "github.com/gyuho/goraph"
  version = "2.0.0"

[[constraint]]
  name = "github.com/hashicorp/consul"
  version = "1.4.0"

[[constraint]]
  name = "github.com/rs/zerolog"
  version = "1.11.0"

[[constraint]]
  name = "github.com/sirupsen/logrus"
  version = "1.3.0"

[[constraint]]
  name = "github.com/stretchr/testify"
  version = "1.3.0"

[[override]]
  name = "github.com/coreos/etcd"
  version = "3.3.11"

[[constraint]]
  name = "go.etcd.io/etcd"
  version = "3.3.11"

[[constraint]]
  name = "go.uber.org/zap"
  version = "1.9.1"

[[override]]
  branch = "master"
  name = "golang.org/x/net"

[[override]]
  branch = "master"
  name = "google.golang.org/genproto"

[[constraint]]
  name = "google.golang.org/grpc"
  version = "1.17.0"

[[constraint]]
  name = "gopkg.in/Shopify/sarama.v1"
  version = "1.20.1"

[prune]
  go-tests = true
  unused-packages = true
