-
Notifications
You must be signed in to change notification settings - Fork 19
Working with versioned deps can be a nightmare #135
Comments
There is a good conversation in issue #111 that relates to this. |
In issue #111, @rvirding made a request about addressing this issue, in particular asking if we could have options in lfetool that would allow users to override the default version-pinning (both in the generated projects, as well as in the deps of those generated projects). It would be fairly easy to implement this if the following rebar issue was fixed: However, it may be a while before that happens. We may have to work around rebar, as I said in my reply to Robert:
|
Hrm, working on a rebar work-around for over-riding the default could be the first steps towards addressing this feature request: lfetool could parse an Hrm, I guess we'd need to support |
I'm working on a draft of this idea with the following: |
So how this might work:
This will allow for the following scenarios:
So in the end, nothing really has to be changed for the end users and no crazy options need to be added to lfetool. Things will continue working as they have been. But should a user want to override versions of deps, they just need to create an |
Note to self: which rebar.cmd >/dev/null 2>&1 && rebar.cmd get-deps || rebar get-deps |
This is intended to override rebar to avoid issues around the broken behaviour with conflicting versions in dependencies. For more details, see the rebar issue here: * https://github.com/rebar/rebar/issues/170 Incidentally, this is no indictment of the rebar team -- they've got a huge maintenance burden hanging over them, and are going great work! We just need a fix for this badly enough that we'll write a tool for it :-) This commit is in support of issue #135.
Okay, I've got a very early implementation of the The command is documented here: Testing PlanI need to do a bunch of testing with it:
Notes for Testing
|
This is a pretty big issue, and one that really needs to have some discussion on the mail list. However, I want to record it here so we don't lose track of it.
The versioning of LFE-based projects in their respective
rebar.config
files was solely focused on providing a development environment where updates in one project -- even breaking ones -- would not disturb developers of other projects.The solution to that problem resulted in something that's fairly rigid, and having worked with Docker to create a custom app based on @rvirding's latest work in the
develop
branch, I had to essentially gut therebar.config
files for each of the deps and manually include them in the sample project.There has got to be a better way.
I'll bring this up on the mail list ...
The text was updated successfully, but these errors were encountered: