[erlang-questions] releases + warning for application resource file

Tristan Sloughter t@REDACTED
Fri Jul 5 19:01:41 CEST 2019


Sadly there is a way to tell systools to run an xref check before generating the boot script based on what will be in the release, but it is not possible to add it to the options through relx at this time, http://erlang.org/doc/man/systools.html#make_script-2

My plan is for exref to be a default option used by relx in the next major release, discussed here https://github.com/erlware/relx/issues/729

I've been meaning to check if 'rebar3 xref' can catch stuff like this or if it needs to change to work properly on only the runtime dependencies specified by an application. I'll take a look at that today and also open an issue for rebar3 if that is the case.

Tristan

On Fri, Jul 5, 2019, at 10:26, Nato wrote:
> Is there a heuristic or tactic for ensuring that
> one's application includes all the necessary OTP
> applications (listed in the application resource
> file's list of `applications')?
> 
> I've had it happen a couple times where
> I'll use a module belonging to, say `inets,'
> compiling is just fine, code works locally,
> and release-building is all good too.
> However, I'll ship the release and since 
> `inets' wasn't listed in the application 
> resource file, at runtime, calling, say 
> `httpd_util' module, falls over.
> 
> I suppose I'm looking to toggle on something
> in `relx' or even better, `erlc' to Error-out
> when my code calls modules that won't be 
> accessible in a release.
> 
> --
> Nato
> 
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list