Skip to content

Conversation

zhubonan
Copy link
Contributor

It is possible for a package to depend on more than it needs, for eaxmple, to allow switching backends at run time. One example is the FFTW.jl.

In some cases, it is desirable to exclude certain dependencies to avoid downloading or shipping with shipping artifacts that are not needed for an app (e.g. the MKL_jll.jl which FFTW.jl depends on, but not used by default).

Potentially fix #639, where the unused package with lazy artifact can be explicitly excluded for building system image/app.

It is possible for a package to depend on more than it needs at
runtime, for eaxmple, to allow switching backends. In some cases,
it is desirable to exclude certain dependencies to avoid downloading
or shipping with shipping artifacts that are not needed for an app.
@codecov
Copy link

codecov bot commented Mar 15, 2022

Codecov Report

❌ Patch coverage is 66.66667% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 95.06%. Comparing base (6a3bdcc) to head (61b647e).
⚠️ Report is 161 commits behind head on master.

Files with missing lines Patch % Lines
src/PackageCompiler.jl 66.66% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #673      +/-   ##
==========================================
- Coverage   95.25%   95.06%   -0.20%     
==========================================
  Files           2        2              
  Lines         464      466       +2     
==========================================
+ Hits          442      443       +1     
- Misses         22       23       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@DilumAluthge DilumAluthge changed the title Allow certain denpendencies to be excluded for sysimg Allow certain dependencies to be excluded for sysimg Oct 17, 2024
@groverburger
Copy link

This feature looks great! I was just thinking of adding something like this myself. I would love to see this merged in soon specifically for excluding Revise.jl during package compilation. Any news on that front from the maintainers?

One nit: the docstring refers to the kwarg as excluded_dependencies when it is called excluded_transitive_dependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Lazy downloading artifacts with custom sysimage
2 participants