Closed notriddle closed 7 years ago
@notriddle thanks for the patch? how does rebar take care of it? Do you mean an option given to the command line? The issue with having dialyser enabled is the insane amount of ram it will require. Maybe there is another way to ignore the data file though. I will have a look on it.
After further reading and asking around, rebar won't take care of it.
However, release tools like relx and distillery can be set to strip debug info at the end.
Fixes #12
With debug info the compilation produces ~1400kb of .beam files, without it becomes ~280kb. erlang-certifi also includes ~680kb of files in priv/ that doesn't seem to be used at runtime. This means this package will use more than 2mb of space when compiled when it can use almost a tenth of it.
Do you need to run dialyzer with this package?
Since I don't use certfi directly, but as a nested dependency, it would be fine for me to not use dialyzer with certifi when I run dializer for my project.
I am using certifi from Elixir and tried with the following dialyzer settings (for dialyxir):
excluded_paths: [ "_build/dev/lib/certifi"]
However, it still tries to include certifi in the PLT, which makes the entire PLT generation fail, which in turn makes dialyzer fail.
Do anyone know if it is possible to just skip certifi somehow?
I fixed it differently in the master. But thanks for the patch :)
@lasseebert i didn't find a way to ignore the error unforunately. So for now let's keep the debug_info by default. Thsi can be overridden in rebar3. Maybe such feature is also available on mix ? cc @ericmj ?
No, you can't override this on a per-application basis in mix. So it will produce a large compiled application on mix.
This reverts commit e4993a6588cf000473587a8e0916e9e7f698b692.
It breaks dialyzer, and won't rebar already take care of turning off debug info if the user requests it?