parent
77600acc84
commit
240bf641de
4 changed files with 86 additions and 0 deletions
@ -0,0 +1,18 @@ |
||||
|
||||
load("@upb//:upb_proto_library.bzl", "upb_proto_library") |
||||
|
||||
proto_library( |
||||
name = "foo_proto", |
||||
srcs = ["foo.proto"], |
||||
) |
||||
|
||||
upb_proto_library( |
||||
name = "foo_upbproto", |
||||
deps = [":foo_proto"], |
||||
) |
||||
|
||||
cc_binary( |
||||
name = "test_binary", |
||||
srcs = ["test_binary.c"], |
||||
deps = [":foo_upbproto"], |
||||
) |
@ -0,0 +1,44 @@ |
||||
|
||||
workspace(name = "upb_example") |
||||
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
||||
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") |
||||
|
||||
git_repository( |
||||
name = "upb", |
||||
remote = "https://github.com/protocolbuffers/upb.git", |
||||
commit = "d5af87d06bbe3abad66970ce9c7ae0a7de8bb3c6", |
||||
) |
||||
|
||||
load("@upb//:repository_defs.bzl", "bazel_version_repository") |
||||
|
||||
bazel_version_repository( |
||||
name = "bazel_version", |
||||
) |
||||
|
||||
git_repository( |
||||
name = "absl", |
||||
commit = "070f6e47b33a2909d039e620c873204f78809492", |
||||
remote = "https://github.com/abseil/abseil-cpp.git", |
||||
shallow_since = "1541627663 -0500", |
||||
) |
||||
|
||||
git_repository( |
||||
name = "com_google_protobuf", |
||||
remote = "https://github.com/protocolbuffers/protobuf.git", |
||||
commit = "d41002663fd04325ead28439dfd5ce2822b0d6fb", |
||||
) |
||||
|
||||
http_archive( |
||||
name = "bazel_skylib", |
||||
strip_prefix = "bazel-skylib-master", |
||||
urls = ["https://github.com/bazelbuild/bazel-skylib/archive/master.tar.gz"], |
||||
) |
||||
|
||||
http_archive( |
||||
name = "zlib", |
||||
build_file = "@com_google_protobuf//:third_party/zlib.BUILD", |
||||
sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1", |
||||
strip_prefix = "zlib-1.2.11", |
||||
urls = ["https://zlib.net/zlib-1.2.11.tar.gz"], |
||||
) |
@ -0,0 +1,7 @@ |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
message Foo { |
||||
optional int64 time = 1; |
||||
optional string greeting = 2; |
||||
} |
@ -0,0 +1,17 @@ |
||||
|
||||
#include <time.h> |
||||
|
||||
#include "foo.upb.h" |
||||
|
||||
int main() { |
||||
upb_arena *arena = upb_arena_new(); |
||||
Foo* foo = Foo_new(arena); |
||||
const char greeting[] = "Hello, World!\n"; |
||||
|
||||
Foo_set_time(foo, time(NULL)); |
||||
/* Warning: the proto will not copy this, the string data must outlive
|
||||
* the proto. */ |
||||
Foo_set_greeting(foo, upb_strview_makez(greeting)); |
||||
|
||||
upb_arena_free(arena); |
||||
} |
Loading…
Reference in new issue