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

fetch_grpc_plugin(version = '1.3.0')

# Repackaging of gRPC 1.3.0 to solve the OSGI split package issue.
# If bumping the gRPC version, please write a new rule.

def grpc_core_repkg_130():
    repkg_deps = [
        '//lib:COMPILE',
        '//lib:google-instrumentation-0.3.0',
        "//lib:google-errorprone-2.0.19"
    ]
    remote_file(
        name = "grpc-src-zip-130",
        url = "https://github.com/grpc/grpc-java/archive/v1.3.0.zip",
        sha1 = "aae4368c7e4c4666236238e31be3a529e153cc02",
    )
    srcs = []
    for pkg in ['core', 'context']:
        name = 'grpc-' + pkg + '-130'
        genrule(
            name = name,
            bash = 'jar xf $(location :grpc-src-zip-130) grpc-java-1.3.0/' + pkg + '/src/main/java '
            + '&& cd grpc-java-1.3.0/' + pkg + '/src/main/java '
            + '&& jar -cf $OUT *',
            out = pkg + '.src.zip',
        )
        srcs.append(':' + name)
    osgi_jar(
        name = 'grpc-core-repkg-1.3.0',
        srcs = srcs,
        deps = repkg_deps,
        package_name_root = 'io.grpc',
        import_packages = '!javax.annotation,!com.google.errorprone.annotations,*',
        export_packages = '*',
        do_javadocs = False,
        do_checkstyle = False,
    )

grpc_core_repkg_130()