Use dependencies from `_build/dependencies` folder
- [x] Teach compiler to find dependencies in
_build/dependenciesautomatically (folder created by setup tool) - [x] Make editor track changes to files in
_build/dependencies(basically handle them like files in thewurstfolder) - [ ] Before compiling clean packages not from
wurstfolder (i.e. packages from dependencies`) - [ ] Add a feature to import a package from a specific dependency (
import Event from Frentity) - [ ] Change package resolution strategy: First search package in current project, then in dependencies. Do not search package in transitive dependencies. Probably this requires some changes in the Wurst Setup tool.
This has the following benefits:
- updates in dependencies are directly reflected in the overall project (no more clean necessary)
- Import autocomplete and quickfixes know about all sources and thus are more useful (no more lazy loading of dependencies)
Becoming more important by the day 🍡
I think the first two points already work as expected. So only the third point (cleaning unused packages from dependencies) needs to be implemented. Or am I missing something?
No, the compiler doesn't find them "automatically". It's still done via the setup generating a Wurst.dependencies file, which points to the folders inside the dependencies folder. Iirc we wanted to get rid of that dependencies file. The track changes is also still broken I think. Changing Dependency packages requires clean or can cause ambiguity errors. I will recheck on this.
I added some code to automatically add folders from _build/dependencies in 3a3e1b71907aaf80e937f4dac9c8aef1fca00efd
Can you check if that works as intended for you? I'll also try to do some unit tests for this.