-
Notifications
You must be signed in to change notification settings - Fork 3.5k
feat: library definition for PlatformIO #8261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
|
This pull request is stale because it has been open 6 months with no activity. Please comment or label |
|
Hello |
|
@obones the branch is stale because it hasn't had any commits for the past few months. Have you signed the CLA ? |
I believe I did, at least that's what I inferred from the cla/google check being successful. |
|
I have created a PR to your branch to update the version in the library.json with the release. I think its just a matter of waiting for a maintainer |
|
Thanks, I have merged it and rebased my branch on top of master. |
|
So it seems this never got merged? Too bad... |
Well, I just rebased it once more, for any one to look at. |
|
Any chances to get this merged for PIO support? |
|
This pull request is stale because it has been open 6 months with no activity. Please comment or label |
|
I have just rebased this PR to the master branch, I hope this will eventually be merged |
|
@obones would you mind rebasing once more and updating the version to the current latest? |
|
it also may help to document somewhere that |
|
This has just been done, let me know if anything else is required |
|
I want to try and get a basic PlatformIO example project going where I can include this and test it out -- The only blocker I see is if we should actually build the flatbuffers static library as part of the project. Happily welcoming any feedback on the necessity of this from actual PlatformIO users -- @obones @srgg @sylque @FlavioZanoni |
I'm using flatbuffers in PlatformIO as a header-only library. All what's needed is the content of https://github.com/google/flatbuffers/tree/master/include/flatbuffers (only .h files). |
|
doing a bit more review of this, it seems this library.json adds several restrictions that don't seem to make sense -- only restricting to I think it would be good to evaluate making this file much more generic, and compiling the static library. I will continue to try and get an environment set up to evaluate this PR though! |
I'm doing the same as @sylque in my esp-idf and PlatformIO projects, using only the headers available in The way I see it, it's best to only include the header files, license, README.md, and the library.json in the exports, like ArduinoJson or AsyncTCP. also
ArduinoJson just puts an "*" in the platforms "platforms": "*", |
Well, I restricted it because that's the only ones I could test with, and the ones that I believe are the most used, but that can be changed, it's just that I can't vouch for compatibility
Yes, that is expected because none of the other sources are required. The whole point of this definition file is to allow the consumption/creation of predefined buffers, not compile/generate files on the target platforms.
This way, nothing but the |
|
I will do some digging, but I don't believe I want to be cognizant of pushing something to this upstream that has known broken issues, which is why I'm chasing this goose :) |
|
Had some more chats and thoughts about this and its probably not worth the investment to prevent access to util.h and idl.h functions that require compilation. I do still think we should not restrict the platforms and frameworks though, as @FlavioZanoni suggested |
|
I just changed platforms and frameworks to |
|
Neat -- this looks good. I still want to make an attempt to test it myself, will try to do so this afternoon. |

Many embedded projects are using PlatfomIO as a development environment, in particular in the ESP32 world.
It is possible to use third party libraries via such a definition in the project platform.io file:
For this to work, the referenced project must include a
library.jsonfile describing the library and its folder layout.This PR provides the file so that flatbuffers is usable as a dependency in PlatformIO, as requested by #7189