Giter Site home page Giter Site logo

Comments (7)

bastibl avatar bastibl commented on May 19, 2024 1

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.

bastibl avatar bastibl commented on May 19, 2024

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.

bastibl avatar bastibl commented on May 19, 2024

And now it's also in the main repo -.- (in case you were trying to pull in the last 10 min)

from futuresdr.

jschiefer avatar jschiefer commented on May 19, 2024

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:

image

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.

bastibl avatar bastibl commented on May 19, 2024

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.

jschiefer avatar jschiefer commented on May 19, 2024

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.

jschiefer avatar jschiefer commented on May 19, 2024

This can probably be closed. Would you like me to do this?

from futuresdr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.