-
Notifications
You must be signed in to change notification settings - Fork 957
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
*: Remove default features from all crates #2918
Merged
Merged
Changes from all commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
0f59322
Expose `ecdsa` feature in top-level libp2p crate
thomaseizinger 9d59408
Remove default feature from `libp2p-core`
thomaseizinger 16a4692
Always have the version first
thomaseizinger ce0708a
Bump versions and add changelog entries
thomaseizinger a79d57c
Remove default feature from libp2p-mdns
thomaseizinger 148090f
Remove default feature from libp2p-dns
thomaseizinger 8bf0ad7
Remove default feature from libp2p-tcp
thomaseizinger e6b49a3
Remove default feature from libp2p-uds
thomaseizinger 0a92268
Remove `default-features = false` from libp2p-wasm-ext
thomaseizinger c6f5090
Remove default features from `libp2p` crate
thomaseizinger a31f595
Put features onto one line
thomaseizinger 37c7c79
Introduce `full` feature
thomaseizinger c5968d6
Align how we specify the path to `libp2p` across workspace
thomaseizinger cbb66a5
Add CI check to enforce that `full` feature contains all features
thomaseizinger 9add85b
Use `full` feature for all examples
thomaseizinger 844adb5
Fill in PR number
thomaseizinger 4b8091d
`test` on bash needs quotes
thomaseizinger 26bf2b8
Full in missing changelog entries for libp2p-metrics
thomaseizinger 7f0a54c
Enable `full` feature for integration tests
thomaseizinger 0bf360b
Add missing link to PR
thomaseizinger fbee01e
Add missing entries for autonat
thomaseizinger 32978fd
Put links in correct order
thomaseizinger eaea056
Update CHANGELOG.md
thomaseizinger 58fa8ba
Merge branch 'master' into 2173-no-default-features
thomaseizinger feb7c32
Merge branch '2173-no-default-features' of github.com:libp2p/rust-lib…
thomaseizinger 4f7010a
Merge branch 'master' into 2173-no-default-features
thomaseizinger dbaf661
Merge branch 'master' into 2173-no-default-features
thomaseizinger fc94c06
Fix bad merge
thomaseizinger 2450831
Re-format changelog and remove duplicates
thomaseizinger 8af0768
Fix bad link
thomaseizinger fa6e027
Merge branch 'master' into 2173-no-default-features
mxinden File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,7 @@ | ||
# 0.41.0 [unreleased] | ||
|
||
- Update to `libp2p-core` `v0.37.0`. | ||
|
||
# 0.40.0 | ||
|
||
- Update to `libp2p-core` `v0.36.0` | ||
|
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Say I want to run the
libp2p-core
unit tests locally, wouldn't it be nicer to only compile thelibp2p
features that I need? Is this use-case worth the additional effort?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is a pain though to keep track of the features you need to activate :/
Plus, with all crates requesting different features, I actually think we have to compile things multiple times to satisfy each combination. If the convention is to enable
full
everywhere, we only need to compile every crate once to and the compiled artifact can be used for every crate's tests1.I think the convenience of just saying "full" is worth it. Locally you have caches of everything so you will most likely just pay in linker time and if you modify your code between test executions, you gotta relink the test binary anyway so I am not sure it will matter in practice.
Can we try it out and if it negatively affects anything, figure out how to make it better?
Footnotes
This is an unproven hypothesis. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for elaborating. Using
full
sounds good to me.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed my mind. Esp. working on
libp2p-core
is quite painful now because every change there invalidateslibp2p-core
artifact which causes a re-compile of every other crate.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 mind proposing a patch @thomaseizinger?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I think the best way to resolve this is to actually stop the circular dependency. This will allow for proper caching of the build artifacts. It will also solve the issue I am currently facing with
release-please
(#2902).