#
# 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/golang/protobuf"
  version = "=1.3.1"

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

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

[[constraint]]
  name = "github.com/opencord/voltha-protos"
  version = "1.0.1"

[[constraint]]
  name = "github.com/opencord/voltha-go"
  version = "2.1.2"

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

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

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

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

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

[[constraint]]
  name = "k8s.io/client-go"
  version = "10.0.0"
