collinsmith/riiablo

Flatbuffers update

Closed this issue · 2 comments

  • flatc should be included within the repository under /flatbuffers/ as it's closely linked with dependency version
  • Upgrading to 1.12.0 requires generating new sources due to API change

Note: I looked into adding flatbuffers as a build task, but this isn't possible due to not having a readily available binary for linux builds. The gradle task will be there for those who feel like compiling.

Closes #44

flatc is now included within the repository and the flatbuffers gradle plugin will use 1.11.0 (it automatically includes a default version which was 1.10.0, but I don't think it was being used). I also added a check for :core:createFlatBuffers task to make sure the build is taking place on Windows.

Long term -- I think flatbuffers may be moved outside of src/main/java into src/main/flatbuffers to simplify some of the implementation details in these gradle tasks. I also want to change the tasks to make :core:build depend on :core:createFlatBuffers, but also only enable the task if building on windows -- or maybe throw a warning otherwise if the task is not UP-TO-DATE (don't need to run the task if no changes, but changes can only be made on Windows since flatc is a Windows executable).

This was resolved in 080ac48 as far as I've double checked.