#
# 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/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/stretchr/testify"
  version = "1.3.0"

[[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"

[[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
