I’m currently trying to compile an app using PackageCompiler. The associated project App depends on two packages Foo and Bar.
Foo contains a bit of glue code to link with Bar-provided functionnalities.
These portion of code is of no interest without Bar so I figured it was relevant to use Requires to avoid loading that if not used.
Now this works just fine when using an interactive REPL / VsCode. However, it seems to be problematic when compiling an app with PackageCompiler, even though my compilation line
create_app(<package_dir>,<exebinpath>; precompile_execution_file=<pspath>,incremental = true, cpu_target="generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)", include_lazy_artifacts=true, include_transitive_dependencies = true)
specifices a precompile_execution_file that contains using Foo, Bar which should load both packages as well as the glue code.
If I understood correctly, the mechanism used by Requires happens at run-time and not at compile-time, but I thought that it was precisely the role of the precompile_execution_file to specify things that would happend during the actual run-time use of the app.
Can someone clarify this behavior ?