Comments (7)
Looking for spec details:
https://doc.rust-lang.org/cargo/reference/manifest.html#the-workspace-section
Determining if part of workspace, and which:
"The package.workspace manifest key (described above) is used in member crates to
point at a workspace's root crate. If this key is omitted then it is inferred to
be the first crate whose manifest contains [workspace] upwards in the filesystem."
The Cargo.toml (found walking up the FS) could now have a workspace.exclude entry
for this crate, meaning that this crate does not below to a workspace.
"Note that members of the workspaces listed explicitly will also have their path
dependencies included in the workspace"
QUESTION: If no workspace root directory is specified by the package.workspace key
do we just look in the parent directory for a Cargo.toml defining a workspace we belong
to, or do we have to walk up the file system until "/" to see if we can find a
Cargo.toml?
from cargo-bundle.
If I'm understanding cargo
's behavior correctly, I think we have to walk all the way up the file system.
from cargo-bundle.
Yes, it looks like it. Looks like there can be empty directories between current directory and the workspace's root folder....so you need to walk all the way up until you find a Cargo.toml, then you can stop even if it doesn't declare a workspace.
from cargo-bundle.
See #47
from cargo-bundle.
@mdsteele any comments on the PR?
Prospects of merging (a cleaned up) version of it?
from cargo-bundle.
We can close this issue now, no?
A release with support for workspaces would be great now, and then I'd work on the original need to bundle resources from libs....
from cargo-bundle.
Thanks, I just published v0.3.0 with the latest changes.
from cargo-bundle.
Related Issues (20)
- crashes in libflate HOT 5
- Add release binaries to github releases for easy use with github actions HOT 1
- Adding libvulkan.dylib to ios bundle
- Crashing while install iOS app to Simulator
- How can I use cross and cargo bundle together? HOT 1
- `cargo-bundle` doesn't find correct package in workspace
- `cargo-bundle` should use `bin` target name instead of package name
- Does not respect ~/.cargo/config.toml target-dir setting
- Changing executable and bundle names based on --example argument
- Support Virtual Workspaces (Bundling Multiple Binaries in One Installer)
- short_description is not optionnal HOT 1
- System category from xdg not working
- Icon not showing on Ubuntu 23.10 HOT 1
- Mac M1 termainal can run, but .app crash immediately HOT 2
- About getter pattern HOT 1
- path resolver is broken on nesting rust project HOT 1
- Menu Item name is not shown on macOS
- Linker error `ld: framework not found Security` HOT 1
- Implement Document Handling for macOS
- Support for iOS production bundles HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cargo-bundle.