Adam Cozzette
4ec9170bcd
Fix layering check for usage of gtest
...
To satisfy the layering check, we need to depend on :gtest for the headers, in
addition to :gtest_main which provides the main() function.
There are a bunch of formatting changes as a side effect of this, but they
should be harmless.
PiperOrigin-RevId: 594318263
12 months ago
John Cater
8033709662
Remove uses of `incompatible_use_toolchain_transition`.
...
Now that Bazel 7.0 has been released, it's time to remove this tech debt.
This has been a no-op since Bazel 5.0, I've been waiting to remove the code for
two years, it's time.
Part of https://github.com/bazelbuild/bazel/issues/14127 .
PiperOrigin-RevId: 592219242
12 months ago
Adam Cozzette
501ececd39
Reorganize upb file structure
...
This change moves almost everything in the `upb/` directory up one level, so
that for example `upb/upb/generated_code_support.h` becomes just
`upb/generated_code_support.h`. The only exceptions I made to this were that I
left `upb/cmake` and `upb/BUILD` where they are, mostly because that avoids
conflict with other files and the current locations seem reasonable for now.
The `python/` directory is a little bit of a challenge because we had to merge
the existing directory there with `upb/python/`. I made `upb/python/BUILD` into
the BUILD file for the merged directory, and it effectively loads the contents
of the other BUILD file via `python/build_targets.bzl`, but I plan to clean
this up soon.
PiperOrigin-RevId: 568651768
1 year ago
Adam Cozzette
7286ffceb2
Merge the protobuf and upb Bazel repos
...
A couple weeks ago we moved upb into the protobuf Git repo, and this change
continues the merger of the two repos by making them into a single Bazel repo.
This was mostly a matter of deleting upb's WORKSPACE file and fixing up a bunch
of references to reflect the new structure.
Most of the changes are pretty mechanical, but one thing that needed more
invasive changes was the Python script for generating CMakeLists.txt,
make_cmakelists.py. The WORKSPACE file it relied on no longer exists with this
change, so I updated it to hardcode the information it needed from that file.
PiperOrigin-RevId: 564810016
1 year ago
Joshua Haberman
39b6f8d7ba
Shorten our license headers into an abbreviated form that references LICENSE instead of including it in full.
...
PiperOrigin-RevId: 563888951
1 year ago
Adam Cozzette
047df98dea
Move upb-x/ back to upb/
...
This is the second attempt to fix our Git history. This should allow
"git blame" to work correctly in the upb/ directory even though our
automation unexpectedly blew away that directory.
1 year ago
Adam Cozzette
895f190bda
Move upb to upb-x
1 year ago
Adam Cozzette
1ba80d7424
Move upb-temp/ back to upb/
1 year ago
Adam Cozzette
d38b8561e6
Move upb/ to upb-temp/
...
This will help us fix our Git commit history to ensure that git blame
works correctly for upb.
1 year ago
Adam Cozzette
6fc87fe3f7
Internal change
...
PiperOrigin-RevId: 560100839
1 year ago
Protobuf Team Bot
cab6c3e223
Internal change
...
PiperOrigin-RevId: 560096690
1 year ago
Adam Cozzette
0d1ba13e83
Move everything into new upb/ directory
1 year ago
Nevena Kotlaja
1d8143c986
Clean grep_includes
...
PiperOrigin-RevId: 548496203
1 year ago
Nevena Kotlaja
f1315e3d3f
Clean usages of grep_includes
...
PiperOrigin-RevId: 545670765
1 year ago
Protobuf Team Bot
628c261e52
[Upb C++] Implement RepeatedField
...
PiperOrigin-RevId: 538944010
2 years ago
Thomas Van Lenten
2282505327
Move to proto_common for all upb aspects to fix numerous tricky edge cases and simplify the code
...
PiperOrigin-RevId: 527937369
2 years ago
Joshua Haberman
88d5b91810
Move to proto_common for all upb aspects to fix numerous tricky edge cases and simplify the code
...
PiperOrigin-RevId: 527904449
2 years ago
Joshua Haberman
ceba58d6e7
Make UpbWrappedGeneratedSrcsInfo private.
...
It is not actually needed by other Bazel rules.
PiperOrigin-RevId: 504993976
2 years ago
Joshua Haberman
7a1bd9faa7
Fixed "argument list too long" errors when building upb protos.
...
We fix this by writing the parameters to a file instead of putting the directly on the command-line.
PiperOrigin-RevId: 499924895
2 years ago
Protobuf Team Bot
306123e2e8
C++ Code generator
...
PiperOrigin-RevId: 486158566
2 years ago
Ivo List
9e19bec587
Fix upb proto libraryies for default strip_import_prefix.
2 years ago
Joshua Haberman
a8bc4ca4a3
Fixed Bazel 4.1.0 compatibility, and added a GitHub Action to verify.
...
This will help ensure that we remain compatible with old Bazel versions per the policy here: https://opensource.google/documentation/policies/cplusplus-support
PiperOrigin-RevId: 473884285
2 years ago
Mike Kruskal
17b6451684
Bumping protobuf dependency to newer commit
...
PiperOrigin-RevId: 460811319
2 years ago
Protobuf Team Bot
ff46379efe
Prepare build for C++ generator.
...
PiperOrigin-RevId: 459265699
2 years ago
Protobuf Team Bot
d2177912c7
Internal change
...
PiperOrigin-RevId: 456338456
3 years ago
Protobuf Team
9f371b781b
Set explicit mnemonic for Starlark action.
...
This will allow us to differentiate where the action was created.
PiperOrigin-RevId: 441195283
3 years ago
Protobuf Team
b8edc7153f
Internal change
...
PiperOrigin-RevId: 435056074
3 years ago
Joshua Haberman
8c530f9226
Changed generated code deps to avoid deps on core libraries.
...
This will allow the core libraries to be visibility controlled if
necessary.
3 years ago
Fabian Meumertzheim
5ea5b05530
Build tools in the exec configuration
...
Bazel has deprecated the host configuration and replaced it with the
exec configuration, which has proper support for transitions and remote
build execution.
3 years ago
Joshua Haberman
314e840a77
Fixed error message in Bazel aspect.
...
Fixes: https://github.com/protocolbuffers/upb/issues/391
3 years ago
Joshua Haberman
823eb09694
Update all 2011 dates to 2021.
4 years ago
Joshua Haberman
e59d2c8fa7
Added license headers to all files.
4 years ago
Esun Kim
3cab8a38fc
Fixed upbdefs error
4 years ago
Joshua Haberman
7a54a5f3d6
Split the code generators for .upb and .upbdefs.
...
Before there was a single code generator that generated both
.upb and .upbdefs, even though they are generated by different
rules. This worked fine as long as the codegen steps were
sandboxed, but if not it led to build errors.
Fixes https://github.com/protocolbuffers/upb/issues/354 .
4 years ago
Joshua Haberman
555fbbc0bc
Size benchmarks are working pretty well.
4 years ago
Joshua Haberman
3a3efe69a2
Added incompatible_use_toolchain_transition = True per https://github.com/bazelbuild/bazel/issues/11584
4 years ago
Joshua Haberman
e8f9eac68c
Added #defines UPB_ENABLE_FASTTABLE and UPB_TRY_ENABLE_FASTTABLE.
...
These control whether fasttable decoding is on.
4 years ago
Benjamin Peterson
b5bd5807a7
Migrate to modern Starlark linking api.
...
See https://github.com/bazelbuild/bazel/issues/10860 .
4 years ago
Joshua Haberman
7e5bd65098
Plumbed copts (including the crucial -std=c99) to upb_proto_library() aspect.
4 years ago
Joshua Haberman
a274ad786a
Plumbed copts (including the crucial -std=c99) to upb_proto_library() aspect.
4 years ago
Joshua Haberman
a345af9883
Added a codegen parameter for whether fasttables are generated or not.
...
Example:
$ CC=clang bazel build -c opt --copt=-g benchmarks:benchmark --//:fasttable_enabled=false
INFO: Build option --//:fasttable_enabled has changed, discarding analysis cache.
INFO: Analyzed target //benchmarks:benchmark (0 packages loaded, 913 targets configured).
INFO: Found 1 target...
Target //benchmarks:benchmark up-to-date:
bazel-bin/benchmarks/benchmark
INFO: Elapsed time: 0.760s, Critical Path: 0.58s
INFO: 7 processes: 1 internal, 6 linux-sandbox.
INFO: Build completed successfully, 7 total actions
$ bazel-bin/benchmarks/benchmark --benchmark_filter=BM_Parse_Upb
------------------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------------------
BM_Parse_Upb_FileDesc_WithArena 10985 ns 10984 ns 63567 651.857MB/s
BM_Parse_Upb_FileDesc_WithInitialBlock 10556 ns 10554 ns 66138 678.458MB/s
$ CC=clang bazel build -c opt --copt=-g benchmarks:benchmark --//:fasttable_enabled=true
INFO: Build option --//:fasttable_enabled has changed, discarding analysis cache.
INFO: Analyzed target //benchmarks:benchmark (0 packages loaded, 913 targets configured).
INFO: Found 1 target...
Target //benchmarks:benchmark up-to-date:
bazel-bin/benchmarks/benchmark
INFO: Elapsed time: 0.744s, Critical Path: 0.58s
INFO: 7 processes: 1 internal, 6 linux-sandbox.
INFO: Build completed successfully, 7 total actions
$ bazel-bin/benchmarks/benchmark --benchmark_filter=BM_Parse_Upb
------------------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------------------
BM_Parse_Upb_FileDesc_WithArena 3284 ns 3284 ns 213495 2.1293GB/s
BM_Parse_Upb_FileDesc_WithInitialBlock 2882 ns 2882 ns 243069 2.4262GB/s
Biggest unknown is whether this parameter should default to true or false.
4 years ago
Joshua Haberman
e3f41de6c7
Split monolithic BUILD file into many build files.
4 years ago
Joshua Haberman
d225dfc2ed
Buildifier formatting fixes.
4 years ago
Joshua Haberman
6fe84526be
Mark _is_bazel to be replace in google3.
4 years ago
Joshua Haberman
8f11ec57d2
Applied changes from google3.
5 years ago
Joshua Haberman
0dc2394da5
Changes to support import into google3 ( #291 )
...
* Fixes for google3.
* Added to failure list for new failure.
* Reused existing failure list file.
* Add a ./ to assist rewriting.
5 years ago
Yannic
d638d74d1b
Add load statements for @rules_proto ( #271 )
...
This makes upb compatible with --incompatible_load_proto_rules_from_bzl.
See https://github.com/bazelbuild/bazel/issues/8922
5 years ago
Joshua Haberman
6c5d5afc43
Remove compatibility code for old Bazel versions.
5 years ago
Anna R
a27429f265
Add port_def.inc and port_undef.inc to generated code hdrs
5 years ago
Anna R
3797ad2217
port should not be public
5 years ago