#
# 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.3.1"

[[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 = "github.com/opencord/voltha-protos"
  branch = "master"

[[override]]
  name = "go.etcd.io/etcd"
  branch = "master"

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

[[prune.project]]
  name = "github.com/opencord/voltha-protos"
  unused-packages = false

[[constraint]]
  branch = "master"
  name = "github.com/boljen/go-bitmap"
