>
> I have a concern, though. Four other languages (Java would be five) check
> in the generated flatbuffers code, and it appears (based on a quick scan of
> Git logs) that this is done manually. Is there a danger that the binary
> format could change, but some language might get forgotten, and thus be
> working with the old format?

The format changes relatively slowly and any changes at this point should
be backwards compatible.



> Or is there enough interop testing that the problem would get caught right
> away?

In most cases I would expect integration tests to catch these types of
error.

On Tue, Mar 23, 2021 at 4:26 PM bobtins <bobti...@gmail.com> wrote:

> I'm happy to check in the generated Java source. I would also update the
> Java build info to reflect this change and document how to regenerate the
> source as needed.
>
> I have a concern, though. Four other languages (Java would be five) check
> in the generated flatbuffers code, and it appears (based on a quick scan of
> Git logs) that this is done manually. Is there a danger that the binary
> format could change, but some language might get forgotten, and thus be
> working with the old format? Or is there enough interop testing that the
> problem would get caught right away?
>
> I'm new to the project and don't know how big of an issue this is in
> practice. Thanks for any enlightenment.
>
> On 2021/03/23 07:39:16, Micah Kornfield <emkornfi...@gmail.com> wrote:
> > I think checking in the java files is fine and probably better then
> relying
> > on a third party package.  We should make sure there are instructions on
> > how to regenerate them along with the PR
> >
> > On Monday, March 22, 2021, Antoine Pitrou <anto...@python.org> wrote:
> >
> > >
> > > Le 22/03/2021 à 20:17, bobtins a écrit :
> > >
> > >> TL;DR: The Java implementation doesn't have generated flatbuffers code
> > >> under source control, and the code generation depends on an
> > >> unofficially-maintained Maven artifact. Other language
> implementations do
> > >> check in the generated code; would it make sense for this to be done
> for
> > >> Java as well?
> > >>
> > >> I'm currently focusing on Java development; I started building on
> Windows
> > >> and got a failure under java/format, because I couldn't download the
> > >> flatbuffers compiler (flatc) to generate Java source.
> > >> The artifact for the flatc binary is provided "unofficially" (not by
> the
> > >> flatbuffers project), and there was no Windows version, so I had to
> jump
> > >> through hoops to build it and proceed.
> > >>
> > >
> > > While this does not answer the more general question of checking in the
> > > generated Flatbuffers code (which sounds like a good idea, but I'm not
> a
> > > Java developer), note that you could workaround this by installing the
> > > Conda-provided flatbuffers package:
> > >
> > >   $ conda install flatbuffers
> > >
> > > which should get you the `flatc` compiler, even on Windows.
> > > (see https://docs.conda.io/projects/conda/en/latest/ for installing
> conda)
> > >
> > > You may also try other package managers such as Chocolatey:
> > >
> > >   https://chocolatey.org/packages/flatc
> > >
> > > Regards
> > >
> > > Antoine.
> > >
> >
>

Reply via email to