> Why did you choose "installs the minimal required version" instead of 
> maximum? We currently assume Nimble will grab a higher version, so we don't 
> test the minimum version at all. GitHub tags are a pain. I wish there was a 
> way around them, but I can't think of a quick solution.

Github tags are better than having to edit a nimble file and then also tagging. 
The version in the Nimble file is redundancy of the worst kind, it frequently 
goes out of sync and nobody notices. Minimal version selection makes lockfiles 
far less important, basically you get reproducible builds for free.

> How do you handle situations when dependencies of the project need different 
> versions of the same package?

It installs the higher version of the package and lets the programmer handle 
the problem himself, on his own. In the future it will rename the older package 
to package_commit and patch the `import` statements. But Nimble does not handle 
that case either, yet we manage.

> How do you account for something needing .dlls included as well, especially 
> for Windows?

Due to its simplicity, Atlas supports "foreign" dependencies naturally. You can 
`require "https://.../deps.dlls"` and it will end up in your workspace. You can 
then use a custom task to move the DLLs next to your `.exe`. Custom tasks are 
supported but not run automatically.

> How do you manage something like Pixie which includes 200MB of testing data, 
> which isn't necessary to install?

By telling Pixie's author he should have this testing data in a separate github 
repository which is downloaded and used in its CI. ;-)

Or by doing nothing. It's not a big problem: You don't mind this data whenever 
somebody clones your project manually either.

> Why did you choose to install into the "_dep" folder instead of, say, just 
> the root project folder?

It's configurable and the default is not to use a "_deps" folder, the docs 
could be clearer on this.

> What Atlas features will you be adding next?

The ones I need to be able to patch my book to contain `atlas --autoWorkspace 
use pixels`

Reply via email to