Skip to content

add-project-dependency does not work with boot #238

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

Closed
mbuczko opened this issue Sep 26, 2015 · 10 comments
Closed

add-project-dependency does not work with boot #238

mbuczko opened this issue Sep 26, 2015 · 10 comments

Comments

@mbuczko
Copy link
Contributor

mbuczko commented Sep 26, 2015

unfortunately this extremely useful function expects a project.clj. boot bases on build.boot where it holds all project dependencies (actually in the same way as leiningen does, so maybe it's not as hard to fix it).

would be great to have this function working, as boot gets more and more popularity nowadays :)

@expez
Copy link
Member

expez commented Sep 26, 2015

None of the maintainers are boot users and due to the architecture of boot some stuff currently isn't working .e.g rename-file-or-dir and some other stuff is only working through luck when the faux classpath and the real classpath are identical (like find-usages and renaming). Until boot explicitly adds tooling support which grants access to the real files, instead of their faux classpath version, boot will always be unattractive to me.

Given all that, if you want to start adding some boot support I'll happily merge the pull requests :)

I suspect that this is real easy to fix, and a good way to get into emacs hacking!

@expez
Copy link
Member

expez commented Oct 17, 2015

Do you know if alembic works with boot @mbuczko? We might be able to update build.boot but unless alembic works with boot hotloading won't work.

@alexander-yakushev
Copy link
Member

I would be perfectly fine if clj-refactor just spitted [library "version"] at the current point if it detected it is inside *.boot file.

Right now my workflow is:

  1. Go to build.boot file.
  2. Execute cljr-add-dependency, select the library, glimpse at its latest version, and then C-g.
  3. Write down the dependency vector manually, into the correct place in boot file.
  4. Execute cljr-hotload-dependency hovering over the newly typed in vector.

@expez expez closed this as completed in 7d5da89 Nov 28, 2015
@expez
Copy link
Member

expez commented Nov 28, 2015

@alexander-yakushev or @mbuczko: I'd love a verification that this actually works as intended.

@alexander-yakushev
Copy link
Member

@expez It almost works. Please see #268.

@mbuczko
Copy link
Contributor Author

mbuczko commented Nov 29, 2015

@expez just checked it out - dependencies are added to build.boot perfectly.
thanks for all the effort to make it working :)

@alexander-yakushev
Copy link
Member

Indeed, thank you Lars!

@expez
Copy link
Member

expez commented Nov 29, 2015

I just added boot support to cljr-clean-ns, cljr-update-project-dependency, cljr-update-project-dependencies and cljr-sort-project-dependencies.

@alexander-yakushev
Copy link
Member

👍

@mbuczko
Copy link
Contributor Author

mbuczko commented Nov 29, 2015

awesome! now I feel almost like @magnars doing his magic in "parens of the dead" :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants