platform/upstream/flatbuffers.git
9 months ago[packaging] Add rpm spec and other files to support Tizen packaging accepted/tizen_unified accepted/tizen_unified_dev accepted/tizen_unified_riscv sandbox/anyj0527/v23.5.26 tizen accepted/tizen/unified/20240105.105457 accepted/tizen/unified/dev/20240620.010701 accepted/tizen/unified/riscv/20240106.074919
Yongjoo Ahn [Wed, 3 Jan 2024 06:10:06 +0000 (15:10 +0900)]
[packaging] Add rpm spec and other files to support Tizen packaging

- Let the flatbuffers and flatbuffers-devel packages built by tizen GBS

Change-Id: Ib27a78816d99278c4167f33e532adaa03015cc2c
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
16 months agoFlatBuffers Version 23.5.26 (#7976)
Derek Bailey [Fri, 26 May 2023 17:33:09 +0000 (10:33 -0700)]
FlatBuffers Version 23.5.26 (#7976)

16 months ago Update java pom.xml file to allow flatbuffers-java maven package to be compiled...
swimar [Mon, 22 May 2023 07:18:37 +0000 (03:18 -0400)]
 Update java pom.xml file to allow flatbuffers-java maven package to be compiled under java 8, and pulled in as a dependency to a project using java 8. (#7893) (#7894)

Co-authored-by: Derek Bailey <derekbailey@google.com>
Co-authored-by: Paulo Pinheiro <paulovictor.pinheiro@gmail.com>
17 months agodon't emit flatbuffers include in bfbs generated output (#7968)
Derek Bailey [Thu, 18 May 2023 04:13:16 +0000 (21:13 -0700)]
don't emit flatbuffers include in bfbs generated output (#7968)

17 months agoswitch back to having T explicitly defined in CreateVector (#7967)
Derek Bailey [Wed, 17 May 2023 20:23:34 +0000 (13:23 -0700)]
switch back to having T explicitly defined in CreateVector (#7967)

17 months agoFix python tests (#7960)
Chih-Hsuan Yen [Wed, 17 May 2023 20:10:51 +0000 (04:10 +0800)]
Fix python tests (#7960)

* Don't generate types unless --python-typing specified

Fixes https://github.com/google/flatbuffers/issues/7944

* Fix incorrect import statements

Fixes https://github.com/google/flatbuffers/issues/7951

* Fix $PYTHONPATH in PythonTest.sh

Regressed from https://github.com/google/flatbuffers/pull/7529

* PythonTest: fail if something goes wrong

GitHub Actions runs `bash PythonTest.sh`, and thus failures were not
visible.

* Build flatc for Python tests

* Regenerate codes

---------

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agofix(rust): fixed rust namer isses, resolve #7865 and ##7782 (#7964)
sssooonnnggg [Wed, 17 May 2023 17:54:49 +0000 (01:54 +0800)]
fix(rust): fixed rust namer isses, resolve #7865 and ##7782 (#7964)

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agoSwitch to using alias instead of a typedef for FlatBufferBuilder (#7966)
Derek Bailey [Wed, 17 May 2023 17:40:02 +0000 (10:40 -0700)]
Switch to using alias instead of a typedef for FlatBufferBuilder (#7966)

17 months agochore: add rust windows test to CI, fix RustTest.bat (#7963)
sssooonnnggg [Tue, 16 May 2023 23:06:41 +0000 (07:06 +0800)]
chore: add rust windows test to CI, fix RustTest.bat (#7963)

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agoREADME.md: SemVer case typo (#7962)
Daniel Frederick Crisman [Tue, 16 May 2023 16:46:47 +0000 (12:46 -0400)]
README.md: SemVer case typo (#7962)

SemVer (if we are capitalizing it) has a capital V. See the third
sub-header at
https://semver.org/#semantic-versioning-specification-semver
"Semantic Versioning Specification (SemVer)"

Update the text in Versioning section

17 months agofeat: Support union underlying type for TS/JS (#7961)
sssooonnnggg [Mon, 15 May 2023 20:18:49 +0000 (04:18 +0800)]
feat: Support union underlying type for TS/JS (#7961)

17 months agofeat(C++): Support underlying_type for union (#7954)
sssooonnnggg [Mon, 15 May 2023 04:22:38 +0000 (12:22 +0800)]
feat(C++): Support underlying_type for union (#7954)

* feat(C++): support underlying type for union

* chore: add conform checks for underlying type changes

17 months agoremove flatbuffers tests from android (#7959)
Derek Bailey [Sat, 13 May 2023 04:49:33 +0000 (21:49 -0700)]
remove flatbuffers tests from android (#7959)

17 months agoswitch to interface library for flatsample
Derek Bailey [Sat, 13 May 2023 04:23:51 +0000 (21:23 -0700)]
switch to interface library for flatsample

17 months agofix Mac build about gen sources and multiple targets
Derek Bailey [Sat, 13 May 2023 00:11:18 +0000 (17:11 -0700)]
fix Mac build about gen sources and multiple targets

17 months agoremove and auto-generate arrays_test_generated.h
Derek Bailey [Fri, 12 May 2023 23:44:28 +0000 (16:44 -0700)]
remove and auto-generate arrays_test_generated.h

17 months agoremove and auto-generate alignment_test_generated.h
Derek Bailey [Fri, 12 May 2023 23:26:21 +0000 (16:26 -0700)]
remove and auto-generate alignment_test_generated.h

17 months agofix(TS): fixed incorrect function name when importing unionTo functions (#7958)
sssooonnnggg [Fri, 12 May 2023 17:49:50 +0000 (01:49 +0800)]
fix(TS): fixed incorrect function name when importing unionTo functions (#7958)

17 months agoMissing GenTextFile decl
Wouter van Oortmerssen [Fri, 12 May 2023 01:26:06 +0000 (18:26 -0700)]
Missing GenTextFile decl

17 months agoRename GenerateText
Wouter van Oortmerssen [Fri, 12 May 2023 01:08:42 +0000 (18:08 -0700)]
Rename GenerateText

to make it a compile-time breaking change, to alert any users to the new meaning of the return value

17 months agorun `scripts/clang-format-all.sh`
Derek Bailey [Thu, 11 May 2023 19:23:49 +0000 (12:23 -0700)]
run `scripts/clang-format-all.sh`

17 months agoadd GetSizePrefixedBufferLength()
Derek Bailey [Thu, 11 May 2023 19:11:32 +0000 (12:11 -0700)]
add GetSizePrefixedBufferLength()

17 months agoChange SizedPrefixed verifier to be <= provided size
Derek Bailey [Thu, 11 May 2023 18:27:26 +0000 (11:27 -0700)]
Change SizedPrefixed verifier to be <= provided size

17 months agoChange SizedPrefixed verifier to be <= provided size (#7957)
Derek Bailey [Thu, 11 May 2023 19:21:50 +0000 (12:21 -0700)]
Change SizedPrefixed verifier to be <= provided size (#7957)

* Change SizedPrefixed verifier to be <= provided size

* add GetSizePrefixedBufferLength()

17 months agofixed other occurenace of big buffer
Derek Bailey [Thu, 11 May 2023 16:39:54 +0000 (09:39 -0700)]
fixed other occurenace of big buffer

17 months agoremove large buffer creation in test to speed it up
Derek Bailey [Thu, 11 May 2023 16:34:50 +0000 (09:34 -0700)]
remove large buffer creation in test to speed it up

17 months agoFix //tests/ts:bazel_repository_test (#7952)
Philipp Schrader [Thu, 11 May 2023 04:35:58 +0000 (21:35 -0700)]
Fix //tests/ts:bazel_repository_test (#7952)

The test was not actually invoking the bazel that was downloaded with
the `http_file` rule. I failed to add `executable = True` to the
`http_file` call. This caused the test to ignore that bazel binary and
went to the next one on the system.

This patch fixes the issue by adding the missing attribute. Also, this
patch changes the check in the test to make sure that the downloaded
file is indeed executable.

17 months agoremove unneeed grpc include
Derek Bailey [Wed, 10 May 2023 23:41:39 +0000 (16:41 -0700)]
remove unneeed grpc include

17 months agomake loop variable final in dart
Derek Bailey [Wed, 10 May 2023 23:30:12 +0000 (16:30 -0700)]
make loop variable final in dart

17 months agorename __suppress_ubsan to FLATBUFFERS_SUPPRESS_UBSAN
Derek Bailey [Wed, 10 May 2023 21:16:31 +0000 (14:16 -0700)]
rename __suppress_ubsan to FLATBUFFERS_SUPPRESS_UBSAN

17 months agoUpdate README.md
Derek Bailey [Wed, 10 May 2023 20:56:13 +0000 (13:56 -0700)]
Update README.md

Added Quick State to the main readme file

17 months agofixed bfbs gen to pass extra options (#7949)
Derek Bailey [Wed, 10 May 2023 05:42:31 +0000 (22:42 -0700)]
fixed bfbs gen to pass extra options (#7949)

17 months agoremoved extern code generation declarations preferring direct includes (#7948)
Derek Bailey [Wed, 10 May 2023 04:50:28 +0000 (21:50 -0700)]
removed extern code generation declarations preferring direct includes (#7948)

* removed extern code generation definitions, preferring direct includes

* add static to functions

* remove idl_gen_lua

17 months agofix --conform raising `No generators registered` error
Derek Bailey [Wed, 10 May 2023 03:37:32 +0000 (20:37 -0700)]
fix --conform raising `No generators registered` error

17 months agofix out-of-source builds with cmake (#7946)
Derek Bailey [Wed, 10 May 2023 03:33:54 +0000 (20:33 -0700)]
fix out-of-source builds with cmake (#7946)

17 months agoUpgrade package.json dependencies (#7933)
Björn Harrtell [Wed, 10 May 2023 03:33:17 +0000 (05:33 +0200)]
Upgrade package.json dependencies (#7933)

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agoFlatBuffers Version 23.5.9 (#7945)
Derek Bailey [Tue, 9 May 2023 16:33:30 +0000 (09:33 -0700)]
FlatBuffers Version 23.5.9 (#7945)

17 months agoFlatBuffers 64 for C++ (#7935)
Derek Bailey [Tue, 9 May 2023 16:16:30 +0000 (09:16 -0700)]
FlatBuffers 64 for C++ (#7935)

* First working hack of adding 64-bit. Don't judge :)

* Made vector_downward work on 64 bit types

* vector_downward uses size_t, added offset64 to reflection

* cleaned up adding offset64 in parser

* Add C++ testing skeleton for 64-bit

* working test for CreateVector64

* working >2 GiB buffers

* support for large strings

* simplified CreateString<> to just provide the offset type

* generalize CreateVector template

* update test_64.afb due to upstream format change

* Added Vector64 type, which is just an alias for vector ATM

* Switch to Offset64 for Vector64

* Update for reflection bfbs output change

* Starting to add support for vector64 type in C++

* made a generic CreateVector that can handle different offsets and vector types

* Support for 32-vector with 64-addressing

* Vector64 basic builder + tests working

* basic support for json vector64 support

* renamed fields in test_64bit.fbs to better reflect their use

* working C++ vector64 builder

* Apply --annotate-sparse-vector to 64-bit tests

* Enable Vector64 for --annotate-sparse-vectors

* Merged from upstream

* Add `near_string` field for testing 32-bit offsets alongside

* keep track of where the 32-bit and 64-bit regions are for flatbufferbuilder

* move template<> outside class body for GCC

* update run.sh to build and run tests

* basic assertion for adding 64-bit offset at the wrong time

* started to separate `FlatBufferBuilder` into two classes, 1 64-bit aware, the other not

* add test for nested flatbuffer vector64, fix bug in alignment of big vectors

* fixed CreateDirect method by iterating by Offset64 first

* internal refactoring of flatbufferbuilder

* block not supported languages in the parser from using 64-bit

* evolution tests for adding a vector64 field

* conformity tests for adding/removing offset64 attributes

* ensure test is for a big buffer

* add parser error tests for `offset64` and `vector64` attributes

* add missing static that GCC only complains about

* remove stdint-uintn.h header that gets automatically added

* move 64-bit CalculateOffset internal

* fixed return size of EndVector

* various fixes on windows

* add SizeT to vector_downward

* minimze range of size changes in vector and builder

* reworked how tracking if 64-offsets are added

* Add ReturnT to EndVector

* small cleanups

* remove need for second Array definition

* combine IndirectHelpers into one definition

* started support for vector of struct

* Support for 32/64-vectors of structs + Offset64

* small cleanups

* add verification for vector64

* add sized prefix for 64-bit buffers

* add fuzzer for 64-bit

* add example of adding many vectors using a wrapper table

* run the new -bfbs-gen-embed logic on the 64-bit tests

* remove run.sh and fix cmakelist issue

* fixed bazel rules

* fixed some PR comments

* add 64-bit tests to cmakelist

17 months agoFlatBuffers Version 23.5.8 (#7943)
RishabhDeep Singh [Tue, 9 May 2023 15:05:25 +0000 (20:35 +0530)]
FlatBuffers Version 23.5.8 (#7943)

17 months agoAdd #!/usr/bin/bash to release.sh (#7942)
RishabhDeep Singh [Mon, 8 May 2023 21:20:14 +0000 (02:50 +0530)]
Add #!/usr/bin/bash to release.sh (#7942)

17 months agoadd key_field to compiled tests
Derek Bailey [Mon, 8 May 2023 20:54:24 +0000 (13:54 -0700)]
add key_field to compiled tests

17 months agoadd rest of golden language directories
Derek Bailey [Fri, 5 May 2023 21:15:48 +0000 (14:15 -0700)]
add rest of golden language directories

17 months agoadd rest of golden language directories
Derek Bailey [Fri, 5 May 2023 21:15:48 +0000 (14:15 -0700)]
add rest of golden language directories

17 months agoAdd goldens directory
Derek Bailey [Fri, 5 May 2023 20:43:07 +0000 (13:43 -0700)]
Add goldens directory

17 months agoRework cmake flatc codegeneration (#7938)
Derek Bailey [Fri, 5 May 2023 19:08:09 +0000 (12:08 -0700)]
Rework cmake flatc codegeneration (#7938)

* start fixing the code generation steps

* reworked flatc generation in cmake

17 months agoremove defining generated files in test srcs
Derek Bailey [Thu, 4 May 2023 23:25:50 +0000 (16:25 -0700)]
remove defining generated files in test srcs

17 months agoAdd binary schema reflection (#7932)
Derek Bailey [Thu, 4 May 2023 23:12:45 +0000 (16:12 -0700)]
Add binary schema reflection (#7932)

* Add binary schema reflection

* remove not-used parameter

* move logic from object API to base API

* forward declare

* remove duplicate code gen that was stompping on the edits

* reduce to just typedef generation

* fixed bazel rules to not stomp

* more bazel fixes to support additional generated files

17 months agoFix missing return error string for GenerateText
Wouter van Oortmerssen [Wed, 3 May 2023 20:23:53 +0000 (13:23 -0700)]
Fix missing return error string for GenerateText

17 months agoGenerateText gives text error on failure
Wouter van Oortmerssen [Wed, 3 May 2023 20:03:00 +0000 (13:03 -0700)]
GenerateText gives text error on failure

17 months agoMigrate from rules_nodejs to rules_js/rules_ts (take 2) (#7928)
Philipp Schrader [Wed, 3 May 2023 18:48:15 +0000 (11:48 -0700)]
Migrate from rules_nodejs to rules_js/rules_ts (take 2) (#7928)

* Migrate from rules_nodejs to rules_js/rules_ts (take 2)

This is the second version of patch #7923. The first version got
reverted because bazel query was failing:

    $ bazel --nosystem_rc --nohome_rc query tests(set('//...')) except tests(attr("tags", "manual", set('//...')))
    ERROR: Traceback (most recent call last):
     File "/workdir/tests/ts/bazel_repository_test_dir/BUILD", line 6, column 22, in <toplevel>
     npm_link_all_packages(name = "node_modules")
     File "/var/lib/buildkite-agent/.cache/bazel/_bazel_buildkite-agent/ec321eb2cc2d0f8f91b676b6d4c66c29/external/npm/defs.bzl", line 188, column 13, in npm_link_all_packages
     fail(msg)
    Error in fail: The npm_link_all_packages() macro loaded from @npm//:defs.bzl and called in bazel package 'tests/ts/bazel_repository_test_dir' may only be called in bazel packages that correspond to the pnpm root package '' and pnpm workspace projects ''

This was happening because the `.bazelrc` file only added
`--deleted_packages` to the `build` command. We also need it for the
`query` command. This second version of the patch fixes that.

Original commit message:

This patch migrates the current use of rules_nodejs to the new rules_js.
rules_js is the intended replacement of rules_nodejs as per this note:
https://github.com/aspect-build/rules_js#relationship-to-rules_nodejs

> rules_js is an alternative to the build_bazel_rules_nodejs Bazel module
> and accompanying npm packages hosted in
> https://github.com/bazelbuild/rules_nodejs, which is now
> unmaintained. All users are recommended to use rules_js instead.

There are a few notable changes in this patch:
1. The `flatbuffer_ts_library` macro no longer accepts a `package_name`
   attribute. This is because rules_js appears to manage the import
   naming of dependencies via top-level `npm_link_package` targets.
   Users will have to migrate.
2. I added a few more arguments to `flatbuffer_library_public()`. These
   helped with exposing esbuild to `ts/compile_flat_file.sh`.
3. I pinned the version of `typescript` in `package.json` so that
   rules_ts can download the exact same version. rules_ts doesn't know
   what to do if the version isn't exact.
4. Since rules_js uses the pnpm locking mechanism, we now have a
   `pnpm-lock.yaml` file instead of a yarn lock file.
4. I added bazel targets for a few of the existing tests in `tests/ts`.
   They can be run with `bazel test //test/ts:all`. Since there is no
   flexbuffers bazel target, I did not add a bazel target for the
   corresponding test.
5. I added a separate workspace in `tests/ts/bazel_repository_test_dir/`
   to validate that the flatbuffers code can be imported as an external
   repository. You can run the test with
   `bazel test //test/ts:bazel_repository_test`. For this to work, I
   needed to expose a non-trivial chunk of the flatbuffers code to the
   test. I achieved this through some recursive `distribution`
   filegroups. This is inspired by rules_python's workspace tests.

I did not do anything special to validate that the `gen_reflections`
parameter works the same. This patch doesn't change anything about
the TypeScript generation.

As a side note: I am not an expert with rules_js. This patch is my
attempt based on my limited understanding of the rule set.

Fixes #7817

* Fix the query

---------

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agofix possible null dereference for nested_root accessor
Derek Bailey [Wed, 3 May 2023 06:50:20 +0000 (23:50 -0700)]
fix possible null dereference for nested_root accessor

17 months agofix possible null dereference for nested_root accessor
Derek Bailey [Wed, 3 May 2023 06:50:20 +0000 (23:50 -0700)]
fix possible null dereference for nested_root accessor

17 months ago`flat_buffers.dart`: mark const variable finals for internal Dart linters
Derek Bailey [Mon, 1 May 2023 16:55:47 +0000 (09:55 -0700)]
`flat_buffers.dart`: mark const variable finals for internal Dart linters

17 months agomore window fixes
Derek Bailey [Sat, 29 Apr 2023 07:08:14 +0000 (00:08 -0700)]
more window fixes

17 months agofixed some windows warnings (#7929)
Derek Bailey [Sat, 29 Apr 2023 06:22:41 +0000 (23:22 -0700)]
fixed some windows warnings (#7929)

17 months agoinject no long for FBS generation to remove logs in flattests (#7926)
Derek Bailey [Fri, 28 Apr 2023 20:40:38 +0000 (13:40 -0700)]
inject no long for FBS generation to remove logs in flattests (#7926)

* inject no long for FBS generation to remove logs in flattests

* updated blaze rules

17 months agoRevert "Migrate from rules_nodejs to rules_js/rules_ts (#7923)" (#7927)
Derek Bailey [Fri, 28 Apr 2023 19:58:49 +0000 (12:58 -0700)]
Revert "Migrate from rules_nodejs to rules_js/rules_ts (#7923)" (#7927)

This reverts commit 4172c3f0bd6a62cd29ef160f9236352466b634ca.

17 months agoMigrate from rules_nodejs to rules_js/rules_ts (#7923)
Philipp Schrader [Fri, 28 Apr 2023 18:17:45 +0000 (11:17 -0700)]
Migrate from rules_nodejs to rules_js/rules_ts (#7923)

* Start using pnpm

* Add @npm

* get more stuff set up

* Get the analysis phase passing.

* Get esbuild working?

* Get it compiling?

    $ bazel build //tests/ts/...

* Try to get the test working

* test is passing

* Get the other tests working

* clarify comment

* clean up a bit

* Try to add another test

* Add another test

* clean up more

* remove unused reference

* Add e2e test

* Get more of the test working

* add lock file

* Get test working on its own

* Get e2e test passing

* fix infinite recursion

* Add comments

* clean up some more

* clean up more again

* Source typescript version from package.json

* run buildifier

* lint

* Fix unset `extra_env`

* Incorporate feedback

* run buildifier

---------

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agoOnly generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having...
Aaron Riekenberg [Fri, 28 Apr 2023 17:10:01 +0000 (12:10 -0500)]
Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881)

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agoadditional check for absl::string_view availability (#7897)
Berke [Fri, 28 Apr 2023 16:51:11 +0000 (19:51 +0300)]
additional check for absl::string_view availability (#7897)

absl::string_view is uses std::string_view when available. It already checks if std::string_view is available in the earlier code.
It should only use absl::string_view implementation.

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agoOptionally generate Python type annotations (#7858)
Max Burke [Fri, 28 Apr 2023 16:38:29 +0000 (09:38 -0700)]
Optionally generate Python type annotations (#7858)

* optionally generate type prefixes and suffixes for python code

* fix codegen error when qualified name is empty

* WIP: Python typing

* more progress towards python typing

* Further iterate on Python generated code typing

* clang-format

* Regenerate code

* add documentation for Python type annotations option

* generate code with Python type annotations

* handle forward references

* clang-format

17 months agoReplace deprecated command with environment file (#7921)
Jongwoo Han [Wed, 26 Apr 2023 05:50:37 +0000 (14:50 +0900)]
Replace deprecated command with environment file (#7921)

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agodrop glibc from runtime dependencies (#7906)
Nikita Sokolov [Wed, 26 Apr 2023 05:39:37 +0000 (09:39 +0400)]
drop glibc from runtime dependencies (#7906)

https://github.com/google/flatbuffers/issues/7696
The binary size grows from 5.8MB to 7.2MB, but this way it works on Ubuntu 18.04 and amazonlinux.

17 months agoMake JSON supporting advanced union features (#7869)
Adam Oleksy [Wed, 26 Apr 2023 05:37:06 +0000 (07:37 +0200)]
Make JSON supporting advanced union features (#7869)

This change allows user to decode binary with given schema to JSON
representation when schema defines union with struct.

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agoAllow to use functions from `BuildFlatBuffers.cmake` from a flatbuffers installation...
KerstinKeller [Wed, 26 Apr 2023 05:27:14 +0000 (07:27 +0200)]
Allow to use functions from `BuildFlatBuffers.cmake` from a flatbuffers installation installed with CMake. (#7912)

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agoTS/JS: Use TypeError instead of Error when appropriate (#7910)
José Luis Millán [Wed, 26 Apr 2023 05:22:06 +0000 (07:22 +0200)]
TS/JS: Use TypeError instead of Error when appropriate (#7910)

Ie: when the needed conditions are not satisfied in order to perform a
 given action.

17 months agoGo: make generated code more compliant to "go fmt" (#7907)
Jeroen Demeyer [Wed, 26 Apr 2023 05:19:07 +0000 (07:19 +0200)]
Go: make generated code more compliant to "go fmt" (#7907)

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agoSupport file_identifier in Go (#7904)
Jeroen Demeyer [Wed, 26 Apr 2023 05:15:09 +0000 (07:15 +0200)]
Support file_identifier in Go (#7904)

Co-authored-by: Derek Bailey <derekbailey@google.com>
17 months agoOptionally generate type prefixes and suffixes for python code (#7857)
Max Burke [Wed, 26 Apr 2023 04:38:16 +0000 (21:38 -0700)]
Optionally generate type prefixes and suffixes for python code (#7857)

* optionally generate type prefixes and suffixes for python code

* fix codegen error when qualified name is empty

* generated code updated

18 months agoGo: add test for FinishWithFileIdentifier (#7905)
Jeroen Demeyer [Wed, 12 Apr 2023 00:08:04 +0000 (02:08 +0200)]
Go: add test for FinishWithFileIdentifier (#7905)

Co-authored-by: Michael Le <michael.le647@gmail.com>
18 months agoFix go_sample.sh (#7903)
Jeroen Demeyer [Tue, 11 Apr 2023 19:40:00 +0000 (21:40 +0200)]
Fix go_sample.sh (#7903)

18 months ago[TS/JS] Upgrade dependencies (#7889)
Björn Harrtell [Thu, 6 Apr 2023 02:00:23 +0000 (04:00 +0200)]
[TS/JS] Upgrade dependencies (#7889)

Co-authored-by: Derek Bailey <derekbailey@google.com>
18 months agoAdd a FileWriter interface (#7821)
Khanh Nguyen [Thu, 6 Apr 2023 01:49:29 +0000 (18:49 -0700)]
Add a FileWriter interface (#7821)

* Add a FileWriter interface

* Change interface

* Provide 2 impl for File interface: FileManager & FileNameManager

* Update

* update

* Update

* Add file_writer file

* Update

* Format files

* Update based on review

* Update

* Format bzl file

* Add LoadFile function

* Format

---------

Co-authored-by: Derek Bailey <derekbailey@google.com>
18 months agoTS/JS: Use minvalue from enum if not found (#7888)
Björn Harrtell [Thu, 6 Apr 2023 01:26:05 +0000 (03:26 +0200)]
TS/JS: Use minvalue from enum if not found (#7888)

Co-authored-by: Derek Bailey <derekbailey@google.com>
18 months ago[CS] Verifier (#7850)
tira-misu [Wed, 5 Apr 2023 22:29:14 +0000 (00:29 +0200)]
[CS] Verifier (#7850)

* Fix C/C++ Create<Type>Direct with sorted vectors

If a struct has a key the vector has to be sorted. To sort the vector
you can't use "const".

* Changes due to code review

* Improve code readability

* Add generate of JSON schema to string to lib

* option indent_step is supported

* Remove unused variables

* Fix break in test

* Fix style to be consistent with rest of the code

* [TS] Fix reserved words as arguments (#6955)

* [TS] Fix generation of reserved words in object api (#7106)

* [TS] Fix generation of object api

* [TS] Fix MakeCamel -> ConvertCase

* [C#] Fix collision of field name and type name

* [TS] Add test for struct of struct of struct

* Update generated files

* Add missing files

* [TS] Fix query of null/undefined fields in object api

* Add .Net verfier

* Add some fuzz tests for .Net

* Remove additional files

* Fix .net test

* Changes due to PR

* Fix generated files

---------

Co-authored-by: Derek Bailey <derekbailey@google.com>
18 months agoREADME.md: PyPI case typo (#7880)
Daniel Frederick Crisman [Thu, 30 Mar 2023 20:32:16 +0000 (16:32 -0400)]
README.md: PyPI case typo (#7880)

PyPI has three capital letters. See the front page of the service:
https://pypi.org/
"The Python Package Index (PyPI) ..."

Update the Python link under "Supported programming languages"

Co-authored-by: Michael Le <michael.le647@gmail.com>
18 months agoUpdate go documentation link to point to root module (#7879)
Michael Le [Wed, 29 Mar 2023 17:50:54 +0000 (10:50 -0700)]
Update go documentation link to point to root module (#7879)

Co-authored-by: Derek Bailey <derekbailey@google.com>
18 months agouse Bool for flatbuffers bool instead of Byte (#7876)
blindspotbounty [Sun, 26 Mar 2023 23:45:48 +0000 (19:45 -0400)]
use Bool for flatbuffers bool instead of Byte (#7876)

Add test for Bool type in swift

Co-authored-by: mustiikhalil <26250654+mustiikhalil@users.noreply.github.com>
18 months agofix using null string in vector (#7872)
phenixxy [Fri, 24 Mar 2023 03:15:34 +0000 (11:15 +0800)]
fix using null string in vector (#7872)

Use 0 offset as special value. 0 offset is not a valid relative offset, so it's safe to use 0 offset to indicate value is null.

https://github.com/google/flatbuffers/issues/7846

19 months agoAdd `flatbuffers-64` branch to CI for pushes
Derek Bailey [Thu, 16 Mar 2023 06:58:26 +0000 (23:58 -0700)]
Add `flatbuffers-64` branch to CI for pushes

19 months agomade changes to the rust docs so they would compile. new_with_capacity is deprecated...
Jeffrey Smith [Thu, 16 Mar 2023 00:29:57 +0000 (00:29 +0000)]
made changes to the rust docs so they would compile. new_with_capacity is deprecated should use with_capacity, get_root_as_monster should be root_as_monster (#7871)

19 months agoAdding comment for code clarification (#7856)
SmashedFrenzy16 [Wed, 15 Mar 2023 01:14:05 +0000 (01:14 +0000)]
Adding comment for code clarification (#7856)

Co-authored-by: Derek Bailey <derekbailey@google.com>
19 months agoToCamelCase() when kLowerCamel now converts first char to lower. (#7838)
Paulo Pinheiro [Wed, 15 Mar 2023 01:09:24 +0000 (02:09 +0100)]
ToCamelCase() when kLowerCamel now converts first char to lower. (#7838)

ToCamelCase(input, true) converts first char to upper case, but
ToCamelCase(input, false) keeps the case of the first char. We are
changing its behavior to force a lower case.

Co-authored-by: Derek Bailey <derekbailey@google.com>
19 months agoFix help output for --java-checkerframework (#7854)
Ben Beasley [Thu, 9 Mar 2023 06:53:37 +0000 (01:53 -0500)]
Fix help output for --java-checkerframework (#7854)

19 months agoUpdate filename to README.md and improve formatting (#7855)
SmashedFrenzy16 [Thu, 9 Mar 2023 04:55:13 +0000 (04:55 +0000)]
Update filename to README.md and improve formatting (#7855)

19 months agoIncrease limit on stale.yml items processed
Derek Bailey [Sat, 4 Mar 2023 01:02:14 +0000 (17:02 -0800)]
Increase limit on stale.yml  items processed

19 months agoAllow manual runs of stale.yml
Derek Bailey [Sat, 4 Mar 2023 00:59:45 +0000 (16:59 -0800)]
Allow manual runs of stale.yml

19 months agoUpdate stale.yml
Derek Bailey [Sat, 4 Mar 2023 00:52:14 +0000 (16:52 -0800)]
Update stale.yml

Shorten the PR staleness from 6 months to 3 weeks + 1 week notice. PRs become much harder to deal with the old they become due to merge conflicts and divergence.

Updated to stale@v7.0.0

19 months agoUpdated remaining usages of LICENSE.txt
Derek Bailey [Fri, 3 Mar 2023 20:01:08 +0000 (12:01 -0800)]
Updated remaining usages of LICENSE.txt

19 months agoFlatBuffers Version 23.3.3 (#7852)
Derek Bailey [Fri, 3 Mar 2023 19:46:55 +0000 (11:46 -0800)]
FlatBuffers Version 23.3.3 (#7852)

19 months agoAdd Java reflection bindings to the distribution (#7851)
Chuck Atkins [Fri, 3 Mar 2023 19:14:07 +0000 (14:14 -0500)]
Add Java reflection bindings to the distribution (#7851)

The distributions for C++ and Python include the generated reflection
bindings but are currently missing from the other language packages.
This will bring the Java package generated for releases closer to
feature parity with the C++ and Python release artifacts.

19 months agoUpdate pom.xml (#7849)
CodeMaster7000 [Fri, 3 Mar 2023 07:47:54 +0000 (07:47 +0000)]
Update pom.xml (#7849)

Co-authored-by: Derek Bailey <derekbailey@google.com>
19 months agoTS/JS: Export object based classes on entry (#7822)
José Luis Millán [Fri, 3 Mar 2023 07:35:59 +0000 (08:35 +0100)]
TS/JS: Export object based classes on entry (#7822)

* TS/JS: Export object based classes on entry

Along with the non object ones, for consistency. This is a regression
introduced recently.

Before:
 `export { UpdateSettingsRequest } from './worker/update-settings-request.js';`

Now:
 `export { UpdateSettingsRequest, UpdateSettingsRequestT } from './worker/update-settings-request.js';`

* only export object based classes for structs

Enums are not elegible.

---------

Co-authored-by: Björn Harrtell <bjornharrtell@users.noreply.github.com>
Co-authored-by: Derek Bailey <derekbailey@google.com>
19 months ago[Android][Kotlin] fixed build after decomission of jcenter and gradle update (#7840)
Paulo Pinheiro [Fri, 3 Mar 2023 07:27:06 +0000 (08:27 +0100)]
[Android][Kotlin] fixed build after decomission of jcenter and gradle update (#7840)

* [Android] fixed build after decomission of jcenter

JCenter[1] has been removed and now is failing android build. This
change updates the configuration to remove this and few other warnings.

1 - https://developer.android.com/studio/build/jcenter-migration

* [Kotlin] fix build for latest gradle version 8.0.1

---------

Co-authored-by: Derek Bailey <derekbailey@google.com>
19 months agoAdd a --java-package-prefix option to flatc (#7848)
Chuck Atkins [Fri, 3 Mar 2023 05:52:03 +0000 (00:52 -0500)]
Add a --java-package-prefix option to flatc (#7848)

Co-authored-by: Derek Bailey <derekbailey@google.com>
19 months agoAdded GENERATE_<TARGET> to flatbuffers_generate_headers (#7845)
Cedric Schmeits [Fri, 3 Mar 2023 05:47:18 +0000 (06:47 +0100)]
Added GENERATE_<TARGET> to flatbuffers_generate_headers (#7845)

The generation of the library interface supplied by this function only
works within the same directory as that the target was defined. By
adding a custom target named GENERATE_<TARGET> now also interface files
will be generated by making a target dependend on the generate target.

Example:
/CMakeLists.txt
  set(MY_INCL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/fbs/my_incl.fbs)
  flatbuffers_generate_headers(TARGET my_incl
                               SCHEMAS ${MY_INCL_SRC})

  add_subdirectory(app)

/app/CMakeLists.txt
  add_executable(app src/test.cpp)
  target_link_libraries(app my_incl)
  add_dependencies(app GENERATE_my_incl)

Co-authored-by: Derek Bailey <derekbailey@google.com>
19 months ago[CS] Naming collision if field has same name as table and used as key (#7842)
tira-misu [Fri, 3 Mar 2023 05:42:27 +0000 (06:42 +0100)]
[CS] Naming collision if field has same name as table and used as key (#7842)

* Fix C/C++ Create<Type>Direct with sorted vectors

If a struct has a key the vector has to be sorted. To sort the vector
you can't use "const".

* Changes due to code review

* Improve code readability

* Add generate of JSON schema to string to lib

* option indent_step is supported

* Remove unused variables

* Fix break in test

* Fix style to be consistent with rest of the code

* [TS] Fix reserved words as arguments (#6955)

* [TS] Fix generation of reserved words in object api (#7106)

* [TS] Fix generation of object api

* [TS] Fix MakeCamel -> ConvertCase

* [C#] Fix collision of field name and type name

* [TS] Add test for struct of struct of struct

* Update generated files

* Add missing files

* [TS] Fix query of null/undefined fields in object api

* Fix collision if field name is equal to table name and used as key in an array

---------

Co-authored-by: Derek Bailey <derekbailey@google.com>
19 months agoAdd Code Generator for idl_gen_fbs to parse .proto files (#7832)
Khanh Nguyen [Thu, 2 Mar 2023 18:01:44 +0000 (10:01 -0800)]
Add Code Generator for idl_gen_fbs to parse .proto files (#7832)

* Add code generator for proto files

* Update

* Add --proto to script

* Remove cmt

* Move proto parsing logic into else block to share same set up logic for code_generator

* Remove IsValidCodeGenerator

19 months agoEditorconfig: als configure to trim whitespaces end EOL. (#7833)
Henner Zeller [Tue, 28 Feb 2023 03:56:18 +0000 (19:56 -0800)]
Editorconfig: als configure to trim whitespaces end EOL. (#7833)

Signed-off-by: Henner Zeller <hzeller@google.com>
20 months agoMove defined part to idl.h (#7823)
Saman [Sat, 18 Feb 2023 04:34:32 +0000 (12:34 +0800)]
Move defined part to idl.h (#7823)