Hi Philip,

I think what you're describing - keeping all the dependencies together - might 
be problematic because of versions. Mix assumes only the version it uses 
currently is maintained in the /deps directory - after all that's what vending 
is for. But this means that if you have different projects using the same deps 
directory they might conflict on versions.

If the goal of this is to speed up builds, maybe what is already available in 
mix/hex in the form of the package cache could solve your problems? In 
particular hex uses the $HEX_HOME/packages path to cache packages it downloads 
for future resolution. Maybe configuring the hex package cache to be the shared 
directory between projects could be a solution?

Michał.
On 11 Jun 2019, 21:07 +0200, Philip Sampaio <[email protected]>, wrote:
> Hi guys,
>
> Thank you for your responses, and thank you, Valim, for explaining the 
> motivation behind `MIX_BUILD_PATH`.
>
> The idea is to keep a consistency of the possibilities to configure paths for 
> artifacts.
> We have both ways to configure build_path: mix.exs and env var. I thought it 
> would be nice if we could have the same flexibility for deps_path.
>
> In our case is to avoid having to change the mix.exs only because a 
> technicality of our Docker environment, but I imagine some other scenarios 
> like one that you have limited storage or network resources (this is mostly 
> not a problem today, I know)
> and you want to keep every dependency of your libraries and apps in a single 
> directory. This is hard to archive if you don't have control of all mix.exs 
> in your system (a CI server of Elixir projects is a good example of this).
>
> So my point is more about flexibility and consistency.
>
>
> On Tuesday, June 11, 2019 at 12:43:58 PM UTC-3, Unified Front wrote:
> > Hi all
> > Apologies, I didn’t realise you could do so in that context, therefore 
> > jumped to a conclusion that it was a typo…
> > R.
> > Fridrik.
> >
> > > On 11 Jun 2019, at 12:44, Allen Madsen <[email protected]> wrote:
> > >
> > > This is an appropriate place to discuss proposals to change the language, 
> > > which the initial post did. My follow up question was questioning the 
> > > merit of adding it to the language, when it seems trivial to achieve the 
> > > desired result with no change.
> > >
> > > It was deps_path: because deps_path is an option passed in a keyword list 
> > > in a mix.exs file.
> > > https://hexdocs.pm/mix/master/Mix.Project.html#module-configuration
> > >
> > > Allen Madsen
> > > http://www.allenmadsen.com
> > >
> > >
> > > > On Tue, Jun 11, 2019 at 2:42 AM Unified Front <[email protected]> wrote:
> > > > > Hi all
> > > > >
> > > > > Sorry for jumping in here, but shouldn’t that be something like this:
> > > > >
> > > > > deps_path = System.get_env("MIX_DEPS_PATH") || “some default path"
> > > > >
> > > > > (this level of questions should probably not be handled in here in 
> > > > > elixir-lang-core, but rather
> > > > > https://elixirforum.com and/or https://elixir-lang.slack.com  )
> > > > >
> > > > > R.
> > > > > Fridrik.
> > > > >
> > > > >
> > > > > > On 11 Jun 2019, at 00:09, Allen Madsen <[email protected]> wrote:
> > > > > >
> > > > > > Is there a reason that it's insufficient to do:
> > > > > >
> > > > > > deps_path: System.get_env("MIX_DEPS_PATH") || "deps"
> > > > > >
> > > > > > Allen Madsen
> > > > > > http://www.allenmadsen.com
> > > > > >
> > > > > >
> > > > > > > On Mon, Jun 10, 2019 at 4:45 PM Philip Sampaio 
> > > > > > > <[email protected]> wrote:
> > > > > > > > Hi guys,
> > > > > > > >
> > > > > > > > We currently have some environment variables available to 
> > > > > > > > configure Mix and one of them is MIX_BUILD_PATH.
> > > > > > > > In our development environment we use Docker and Docker 
> > > > > > > > compose, and this env var helps a lot with caching and issues 
> > > > > > > > related to Docker for Mac.
> > > > > > > > We mount a volume outside the application directory to have a 
> > > > > > > > better performance. The idea is to have the same for our 
> > > > > > > > dependencies.
> > > > > > > >
> > > > > > > > I know that we can configure the deps_path through Mix project 
> > > > > > > > as an option, but It would be great if we could configure this 
> > > > > > > > using an environment variable just like the build path.
> > > > > > > > We could call this new env var MIX_DEPS_PATH.
> > > > > > > > What do you think?
> > > > > > > >
> > > > > > > > Cheers,
> > > > > > > > Philip
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > You received this message because you are subscribed to the 
> > > > > > > > Google Groups "elixir-lang-core" group.
> > > > > > > > To unsubscribe from this group and stop receiving emails from 
> > > > > > > > it, send an email to [email protected].
> > > > > > > > To view this discussion on the web visit 
> > > > > > > > https://groups.google.com/d/msgid/elixir-lang-core/d6db2ca8-defb-4671-98f0-e77cc3a5d0f0%40googlegroups.com.
> > > > > > > > For more options, visit https://groups.google.com/d/optout.
> > > > > >
> > > > > > --
> > > > > > You received this message because you are subscribed to the Google 
> > > > > > Groups "elixir-lang-core" group.
> > > > > > To unsubscribe from this group and stop receiving emails from it, 
> > > > > > send an email to [email protected].
> > > > > > To view this discussion on the web visit 
> > > > > > https://groups.google.com/d/msgid/elixir-lang-core/CAK-y3Cv8y0HxnRxJOcZegWDqPnB5ofWpDvBtUiUcoMNJ3hm22g%40mail.gmail.com.
> > > > > > For more options, visit https://groups.google.com/d/optout.
> > > > >
> > > > >
> > > > > --
> > > > > You received this message because you are subscribed to the Google 
> > > > > Groups "elixir-lang-core" group.
> > > > > To unsubscribe from this group and stop receiving emails from it, 
> > > > > send an email to [email protected].
> > > > > To view this discussion on the web visit 
> > > > > https://groups.google.com/d/msgid/elixir-lang-core/FD696ED4-F126-43EE-808A-21516804355D%40gmail.com.
> > > > > For more options, visit https://groups.google.com/d/optout.
> > >
> > > --
> > > You received this message because you are subscribed to the Google Groups 
> > > "elixir-lang-core" group.
> > > To unsubscribe from this group and stop receiving emails from it, send an 
> > > email to [email protected].
> > > To view this discussion on the web visit 
> > > https://groups.google.com/d/msgid/elixir-lang-core/CAK-y3CsNhNh5r1em%2BDDfNM1wixisHqEe1Yj9Jkb8vzLZcT_Mjg%40mail.gmail.com.
> > > For more options, visit https://groups.google.com/d/optout.
> >
> --
> You received this message because you are subscribed to the Google Groups 
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/elixir-lang-core/a31b301b-af89-4272-ac05-551c2895dbec%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/c9ab8fbc-1c08-4a75-82ca-dbc78b739d6c%40Spark.
For more options, visit https://groups.google.com/d/optout.

Reply via email to