This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-07-04
Channels
- # aleph (1)
- # aws-lambda (2)
- # beginners (30)
- # boot (2)
- # cider (7)
- # cljs-dev (65)
- # clojure (130)
- # clojure-denmark (1)
- # clojure-france (1)
- # clojure-germany (2)
- # clojure-greece (1)
- # clojure-italy (19)
- # clojure-kc (2)
- # clojure-nl (12)
- # clojure-poland (1)
- # clojure-russia (11)
- # clojure-spain (1)
- # clojure-spec (20)
- # clojure-uk (176)
- # clojurescript (65)
- # css (3)
- # cursive (8)
- # datomic (26)
- # editors (94)
- # emacs (10)
- # fulcro (66)
- # graphql (5)
- # midje (1)
- # off-topic (48)
- # om-next (2)
- # overtone (1)
- # re-frame (15)
- # reagent (6)
- # reitit (10)
- # shadow-cljs (68)
- # sql (3)
@funyako.funyao156 I think using clj
and deps.edn
is a simpler experience -- but most tutorials talk about lein
because it's been around longer.
Over time, I think more and more people starting out with Clojure will use clj
and may rarely need to use lein
or boot
...
...at work we've got a lot of build/test infrastructure based on boot
but I've started looking at what we can move to clj
and deps.edn
... for new projects, I'd use clj
and deps.edn
at this point.
so is clj
built into the Clojure install? Was trying to figure out what clj
and deps.edn
are.. and not finding a whole lot written about them? Any good links? (I've always used lein
)
@ryan.russell011 Getting Started talks about them https://clojure.org/guides/getting_started
Then there's a guide about them https://clojure.org/guides/deps_and_cli
And here's the reference manual for them https://clojure.org/reference/deps_and_cli
This is new core tooling that Cognitect have produced recently to support changes introduced in Clojure 1.9.0 (splitting Clojure into core + specs + core.specs).
@seancorfield awesome! thx!
Good morning. Created an app with >lein new app, and inported it to IntelliJ IDEA 2018.1.2 (Community Edition) with Cursive installed.
Added [org.clojure/tools.cli "0.3.7"] in project.clj and made a (:require [clojure.tools.cli :refer [parse-opts]]) in the core.clj file following the examle.
IntelliJ (Cursive?) gives a warning [Incorrect arity 2 for clojure.core/parse-opts] underlining parse-opts with red. But the project can be built and run on the command line with >lein uberjar, >java -jar ....
Though when I try to run the progem from within IntelliJ the following error are reported:
Hey @tamszagot, I don't use Cursive, but just wanted to mention that there's also a #cursive channel. Might be worth asking there directly.
I encountered a similar problem in Cursive. I solved it by using Atom.😝 I do miss the refactoring and save everything features of IntelliJ, but overall it has been a pleasant experience for me.
@seancorfield Nice, right now I can only think of clj
being used for managing dependency. I'm waiting when it can be use to run task like boot
.
nobody stops you from writing you custom tasks in special namespaces with a -main function)
https://github.com/clojure/tools.deps.alpha/wiki/Tools there are some examples
I don't think anyone plans on making clj a build tool
so... can using lein
be considered a crutch? I'm now contemplating if I should move away from it in lieu of something like boot
or just clj
... I get that lein
does some cool stuff, but it does seem heavily opinionated ... meh.. anyway... just curious as to the thoughts of those here.
Check this repository for one way to give yourself tasks in a clj deps project. https://github.com/PEZ/deps-edn-figwheel
@funyako.funyao156 Take a look at my .clojure/deps.edn
file for examples of "tasks" run via aliases.
@ryan.russell011 If you're happy using lein
, continue doing so. But I would certainly recommend learning about clj
as well. As for boot
, it lives in the same space as lein
-- a full build system -- but takes a very different approach. We started out with lein
at work but switched to boot
in late 2015 because we needed something more "programmable". You can read about our switch to Boot and some of the stuff we've done with it since http://corfield.org/blog/categories/boot/
If we were starting out fresh today, we would probably try to stick with clj
and the tooling that is building up around that, at least for the core of our dev/test/build/run workflow.
my goal is to learn as much as I can... I will admit that since using lein
, I never really think about what it is doing since it is automagical... the hard part at the moment is when walking through tutorial projects, every single one of them uses lein
. I will definitely look into clj
as I grow into Clojure (which is super slow going at the moment 😕 ) and start developing my own projects.
For the most part, if you have simple projects with project.clj
files, you can create deps.edn
files for those from the :dependencies
vector. Leiningen profiles become clj
aliases. And you can always ask questions if you're not sure @ryan.russell011