Comments (7)
I'll close this one but feel free to close yourself when you feel the issue is resolved. Thanks for bringing it up!
from futuresdr.
Thanks for opening the issue. I took it as the last nudge to finally fix the crate and sub-crate structure of the project. I did quite a bit of rearrangement. This error should no longer occur. Would be great if you could give it a try.
from futuresdr.
And now it's also in the main repo -.- (in case you were trying to pull in the last 10 min)
from futuresdr.
Thank you for the quick turnaround! Yes, the problem that the issue was about, is fixed. I think this is great, because it avoids people from getting confused/distracted when they open the repo for the first time.
However, there is an undesirable side effect. In the previous version, all the examples would (eventually) automatically get little Run|Debug
annotations, like so:
This made it really easy to quickly try out a few examples. With the fix for this issue in place, this no longer happens, presumably because the examples are no longer automatically analyzed. Also, when generating a launch.json
file automatically, the examples are no longer included. So the net effect is that there is now a lot more hassle involved in running the examples.
from futuresdr.
Hmm, I see... that's a downside of the current approach :-/ But I guess one has to die one death here. Some more context: Before the refactor, all examples and performance evaluation projects were sub-crates of the same workspace. Since there are examples for basically every feature available, commands like cargo check --workspace
enable all features (i.e., it enables all features that any example/perf sub-crate might enable). This means, if you don't have all (partially obscure dependencies installed), these basic commands would fail. I guess that's the worse case.
With the current project structure, each example is an independent crate that just happens to live in the same directory structure. I don't use the code editor. I assume you'd open the example folder as project, instead of the base directory.
I'm not sure if there are better ways to do it. I'll have a look at some of the popular crates to see how they do it. Apart from that, it should probably be documented that one should open the examples as projects. I put it on my list.
from futuresdr.
Fair enough, having to have all dependencies for all obscure features seems like an uphill battle. So I would agree that the new refactored way is much preferable.
I tried the approach you suggested (opening examples with VS Code, e.g. examples/audio
), and this worked fine and seems like a perfectly workable solution. Thank you for taking care of this!
from futuresdr.
This can probably be closed. Would you like me to do this?
from futuresdr.
Related Issues (20)
- VCO and similar blocks HOT 3
- Upgrade axum to 0.6.3
- AudioSink usability HOT 5
- OpenTelemetry Integration HOT 1
- Terminate `AudioSource` when the end of the file is reached HOT 4
- Example for SSB modulation HOT 4
- Checking type size is not enough HOT 5
- Use enumeration to distinguish between samples and messages HOT 3
- Add combinators for blocks HOT 3
- Make SoapySource/Sink new() parameters optional HOT 1
- Allow custom routes to call handlers in blocks HOT 3
- Do not return an error when flowgraph was terminated exteranlly. HOT 7
- Decouple Axum Control Port from Flowgraph HOT 1
- Introduce Port Identifiers HOT 4
- Soapy: multiple channel configuration HOT 6
- macOS support? (making lttng optional) HOT 2
- Look for a way to shutdown gracefully when a task/block panics HOT 13
- Add rustfmt.toml and clippy.toml files HOT 2
- CI: actions-rs is unmaintained HOT 1
- Runtime lifetime not tight to tasks 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 futuresdr.