Comments (5)
Thanks, I did not know about the -ignore_xref
attribute. Will look into this.
from gpb.
Hmm... are you sure about the -ignore_xref
attribute? I could not find anything about it neither in the docs nor in the source (looking at a slightly post-19.0 git tree of otp). Also tried it, but could not get it to work. (tried -ignore_xref(...)
as you wrote, and also some variations like -xref({ignore,[id/2,...])
and -xref({ignore,id/2})
)
After taking a peek into the xref_reader.erl
, I got the following to work: -xref({encode_msg/2,id/2}).
ie inserting a "fake" call edge from some known-to-exist function (encode_msg/2
) to id/2
. It appears to work, but I don't want to go this route, since it seems kludgy, the -xref
attribute is experimental, and undocumented, so it could stop working away any time.
Will instead try to move forward by not generating unused functions, though the calculations for when they're needed are probably going to be a bit messy (I think) so might take a little time. Alternative ways such as marking helpers for use and generate only marked helpers might be a bit awkward too, due to the way the code is structured a the moment.
from gpb.
Ah, crap, -ignore_xref
is part of rebar not xref...
from gpb.
Ah, I see
from gpb.
Hi, in just-pushed 3.26.1, only the actually used helper functions are included in the generated module, fixing this issue (closing).
from gpb.
Related Issues (20)
- There are many deficiencies HOT 6
- Hitting `no case clause matching: :group_end` in Elixir app using Exprotobuf/gpb HOT 8
- Add preprocessor check around no_underspec? HOT 3
- Optional added back to proto3 HOT 3
- Outdated example HOT 3
- Unset `google.protobuf.StringValue` map values are decoded as empty strings instead of empty values HOT 3
- proposal for performance improvements HOT 9
- Performance improvement for encoding protos with unchanged data HOT 7
- -spec for enum generated code is incorrect HOT 3
- For gpb 5: Drop support for Erlang versions before 19
- How can i call gpb from my rebar.config? HOT 2
- [enhancement] support for gpb text format HOT 1
- I think the generated file is too big HOT 7
- -mapfields-as-maps and -json possible incompability HOT 2
- Trying to ecode a float into a uint64 field results in a badarith exception instead of gpb_type_error HOT 2
- Enums are not defined as macros HOT 7
- Fix for warning on float 0.0 HOT 5
- to_json encodes `uint64` as an integer instead of a string HOT 1
- Add a @generated tag HOT 1
- Excessive File Size in Generated Protobuf Files HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gpb.