include_defs(
    '//bucklets/grpc.bucklet'
)

PROTOBUF_VER = '3.2.0'
GRPC_VER = '1.3.1'

PI_COMMIT = '7e94b025bac6db63bc8534e5dd21a008984e38bc'
PI_BASEURL = 'https://github.com/p4lang/PI.git'

# Wondering which .proto files to build? Check p4runtime's Makefile:
# https://github.com/p4lang/PI/blob/master/proto/Makefile.am
PROTO_SRCS = [
    '/proto/p4/v1/p4runtime.proto',
    '/proto/p4/v1/p4data.proto',
    '/proto/p4/config/v1/p4info.proto',
    '/proto/p4/config/v1/p4types.proto',
    '/proto/p4/tmp/p4config.proto',
    '/proto/google/rpc/status.proto',
    '/proto/google/rpc/code.proto',
]

COMPILE_DEPS =[
    '//lib:CORE_DEPS',
    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
    '//lib:grpc-stub-' + GRPC_VER,
    '//lib:grpc-protobuf-' + GRPC_VER,
    '//lib:protobuf-java-' + PROTOBUF_VER,
]

genrule(
    name = 'p4lang-pi-repo-' + PI_COMMIT,
    bash = 'git clone --quiet ' + PI_BASEURL + ' $OUT > /dev/null && '
            + 'cd $OUT && '
            + 'git checkout --quiet -b buck-build ' + PI_COMMIT + ' > /dev/null && '
            + 'git submodule update --quiet --init --recursive > /dev/null',
    out = 'repo',
)

def get_proto_src_string():
    proto_srcs = map(lambda x: "$(location :p4lang-pi-repo-%s)%s"  % (PI_COMMIT, x), PROTO_SRCS)
    return " ".join(proto_srcs)

grpc_jar(
    src_string = get_proto_src_string(),
    proto_paths = [
        '$(location :p4lang-pi-repo-' + PI_COMMIT + ')/proto',
    ],
    protoc_version = PROTOBUF_VER,
    plugin_version = GRPC_VER,
    deps = COMPILE_DEPS,
    include_std_lib = True,
)

project_config(
    src_target = ':onos-protocols-p4runtime-proto'
)
