blob: 0a4b73bba2330c09d9eeab27662153cccefded8f [file] [log] [blame] [edit]
# Protobuf JS runtime
#
# See also code generation logic under generator/
load("@rules_pkg//:mappings.bzl", "pkg_attributes", "pkg_files", "strip_prefix")
load("@rules_pkg//:pkg.bzl", "pkg_tar", "pkg_zip")
load("//:protobuf_javascript_release.bzl", "package_naming")
config_setting(
name = "x64_x86_windows",
values = {"cpu": "x64_x86_windows"},
)
config_setting(
name = "x64_windows",
values = {"cpu": "x64_windows"},
)
config_setting(
name = "k8",
values = {"cpu": "k8"},
)
package_naming(
name = "protobuf_javascript_pkg_naming",
platform = select({
":k8": "linux-x86_64", # currently the only supported build type in Github Actions
":x64_x86_windows": "win32",
":x64_windows": "win64",
"//conditions:default": "" # continues with current behavior when no --cpu is specified allowing existing internal builds to function
})
)
pkg_files(
name = "plugin_files",
srcs = ["//generator:protoc-gen-js"],
attributes = pkg_attributes(mode = "0555"),
prefix = "bin/",
)
pkg_files(
name = "dist_files",
srcs = glob([
"google/protobuf/*.js",
"google/protobuf/compiler/*.js"
]) + [
"google-protobuf.js",
"package.json",
"README.md",
"LICENSE.md",
"LICENSE-asserts.md",
],
strip_prefix = strip_prefix.from_root(""),
)
pkg_tar(
name = "dist_tar",
srcs = [
":dist_files",
":plugin_files",
],
extension = "tar.gz",
package_file_name = "protobuf-javascript-{version}-{platform}.tar.gz",
package_variables = ":protobuf_javascript_pkg_naming",
)
pkg_zip(
name = "dist_zip",
srcs = [
":dist_files",
":plugin_files",
],
package_file_name = "protobuf-javascript-{version}-{platform}.zip",
package_variables = ":protobuf_javascript_pkg_naming",
)
filegroup(
name = "dist_all",
srcs = [
":dist_tar",
":dist_zip",
]
)