-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Add support for Elixir #10
Conversation
064a304
to
ca403cc
Compare
helpers/elixir/bin/run.exs
Outdated
@@ -0,0 +1,65 @@ | |||
defmodule MixfileParser do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know enough Elixir to know if this is possible, but is there any way we could piggy-back off of the parsers within Mix itself, rather than having to roll our own? For example, in Python we can just nick the parse_requirements
method from pip.req.req_file
(see https://github.com/hmarr/dependabot-core/pull/17/files#diff-894615e139b303f40cb5c0d8ed295021R7)
Looks like a good start! Anything I can do to help? |
Update: @stevedomin and I are going to make this happen on Wednesday 18th. 🎉 |
e3f0a94
to
1a402ca
Compare
@stevedomin - what's the best next step on this? Don't want it to lose momentum. Can you push whatever you've got on your machine and add a TODO list of what's remaining? |
b9fa580
to
7a392a9
Compare
@greysteil please before pulling this branch again can you make sure you checkout your local branch to a temp branch, I accidentally removed your commits around metadata. |
Thanks @greysteil! :) |
04c822b
to
0280cdc
Compare
@greysteil got the |
That's awesome! And yep, that sounds right to me. Want me to take a look through what's here now? |
helpers/elixir/bin/run.exs
Outdated
end | ||
end | ||
|
||
# %Mix.Dep{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is going to go away before we merge into master
Yep, go for it! |
I'm going to need to do a big rebase on this (makes sense for it to be me as I know the changes in the master best). Can you let me know when everything you've got is pushed up, and I'll get it done? |
b30f9ff
to
843ade3
Compare
^^^ It worked!! OK, remaining TODOs:
@stevedomin - are you OK to do the Also, what's happening under the hood in the UpdateChecker? Is Dependabot doing a full install, or just piggy-backing off of mix's resolution logic. Because if it's the former it could be really slow... |
Awesome @greysteil, thank you so much! Right now, it's doing a full install but I'm working on a version without it. I wanted to get something out of the door, been trying to get it working without the install for way too long. We can definitely make it work without doing a full install but I'll need to make some changes to the Are you ok with getting a working version like this and then once it's out we can figure out to do this without the full install? I'll do the FileUpdater and add specs to the parser. |
Makes sense to me - if you get the FileUpdater done I’m 👍 on shipping |
Awesome! |
|
@stevedomin - I've added a |
@stevedomin - added a couple of failing specs for you. Only thing needed now is the Elixir code to update the lockfile, which I think you can basically pinch from what you wrote for the |
@stevedomin - I think this is all working, so I'm going to merge and release. Would love your help improving and testing it, though! |
Awesome work and thanks @greysteil. I'll add it to my repos tomorrow. And I'll check the codebase to see what we can improve. At the very least I'd like to change UpdateChecker so that it doesn't pull the dependencies. |
That would be a huge improvement! 🎉 |
@stevedomin could I get an IP assignment comment from you, just so it's explicit what your intentions were with this PR? Ideally the following text would be amazing:
Thanks. ❤️ |
I'm gifting the IP of the contents of this PR and all previous and future contributions to dependabot-core to Dependabot for it to be used however Dependabot wishes. |
From @greysteil's PR gocardless/bump-core#57