feat: add '--install-deps-path' and '--skip-*' options#87
Open
DenKoren wants to merge 9 commits into
Open
Conversation
Author
|
@auriamg , this change is backward-compatible with current version of bundler, as far as I can understand the source code. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When playing with bundling complex application, I faced the challenge of patching several different binaries in several paths that need to refer the same 'libs' directory.
The challenge is that one should search for '../../libs', whle other - '../libs'.
The dependencies of binaries intersect, but are not entirely the same. When I patch the first binary, I still need to collect part of libraries for the second. Also, as libraries depend on each other, I need to use some 'stable' import path inside them to not be bound to the executable path.
The patch offers a way to solve the problem:
--skip-existingmakes dylibbundler to use existing files inside--dest-dirand not patch them, allowing dylibbundler to patch libraries only once when executed for several binaries, adding only missing dependencies.--skip-patchingenables dylibbundler to iterate over dependencies and only bundle them into destination directory--skip-missingenables dylibbundler to not fail or request interactive input for dependencies it cannot locate on FS (suitable for CI)--install-deps-pathmakes dylibbundler to use different paths forinstall_name_toolwhen it patches the original file (--fix-file) and its dependencies. The option defaults to--install-path` value so the change is fully backward-compatible with previous logic of the tool.