-
Notifications
You must be signed in to change notification settings - Fork 14
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
Consider removing the workspace vs project distinction; bring back .nimble-links #133
Comments
The way I ended-up using Atlas :
So essentially :
|
What about a project tree? That way you could have a single project, or multiple projects organized in a tree. |
100% agree with the proposal. I tried and failed to use Atlas multiple times specifically because I it made me do the dance with my existing folder structure, which is, I assume, and more or less standard one:
|
I am hoping that Atlas will expand the concept of "project" to allow the For example, one may be developing a UI package, which uses opengl and sdl2.
The project requires all of the above development packages to use the same What is missing is the ability to automatically generate links in the dependencies This is a real need, at least for me. And I expect that others developing projects Or have I missed something, and the capability already exists? |
There just isn't a need for it at all. Instead of "atlas, use path/to/package/in/development" you would simply patch the nim.cfg with |
Definitely seems promising. The workspace vs project distinction adds complexity which also makes getting all the paths correct a pain. It complicates a lot of the code. Though, how would you link projectB to use projectA's dependencies? It reminds me a bit of pyenv where you create an environment and can use it across multiple projects. |
Refs: #104
I grow more and more unhappy with Atlas's solution to how it manages things and its complexity. The distinction between project and workspace is annoying in practice as I typically have a single "projects" directory that should not be Atlas's workspace as there are too many unrelated projects in it.
The problem Atlas tries to solve is easy development of multiple projects at the same time. This does not necessarily require the notion of a workspace. Symlinks would also work but since these are not portable we can use Nimble's idea of using .nimble-link files.
In other words Atlas manages a single project that has a vendor/ or deps/ directory where its dependencies are stored. Either directly inside this directory or by a linkfile that links to where to find the project. This means the dependency graph always has a single root and thus the command line interface is simplified too. It is always clear what a "lockfile" is. It is also always clear where the
nim.cfg
goes and how it should be maintained.The text was updated successfully, but these errors were encountered: