What's the difference between Leiningen and Clojure CLI tools and how should I use them?










7














I'm playing around with Clojure recently. The most loved dependency management tool in the Clojure ecosystem is Leiningen to my knowledge. But I also found Clojure has provided CLI tools which probably could replace Leiningen. Due to the limitation of experience in Clojure, I do not quite understand the difference between Leiningen and those CLI tools. I heard those CLI tools is much lightweight, what does it mean? How should I use them?










share|improve this question


























    7














    I'm playing around with Clojure recently. The most loved dependency management tool in the Clojure ecosystem is Leiningen to my knowledge. But I also found Clojure has provided CLI tools which probably could replace Leiningen. Due to the limitation of experience in Clojure, I do not quite understand the difference between Leiningen and those CLI tools. I heard those CLI tools is much lightweight, what does it mean? How should I use them?










    share|improve this question
























      7












      7








      7


      0





      I'm playing around with Clojure recently. The most loved dependency management tool in the Clojure ecosystem is Leiningen to my knowledge. But I also found Clojure has provided CLI tools which probably could replace Leiningen. Due to the limitation of experience in Clojure, I do not quite understand the difference between Leiningen and those CLI tools. I heard those CLI tools is much lightweight, what does it mean? How should I use them?










      share|improve this question













      I'm playing around with Clojure recently. The most loved dependency management tool in the Clojure ecosystem is Leiningen to my knowledge. But I also found Clojure has provided CLI tools which probably could replace Leiningen. Due to the limitation of experience in Clojure, I do not quite understand the difference between Leiningen and those CLI tools. I heard those CLI tools is much lightweight, what does it mean? How should I use them?







      clojure leiningen






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 11 '18 at 14:46









      theJian

      556520




      556520






















          1 Answer
          1






          active

          oldest

          votes


















          2














          CLI tools are more limited in scope than Leiningen - it's a small too which you can use to launch a REPL quickly. Combined with tools.deps.alpha it can be used to run code and pull in 3rd party dependencies. You can read more about it here: https://clojure.org/reference/deps_and_cli



          Leiningen can do all of that, plus:



          • create deployment artifacts (uberjars)

          • start a REPL server or connect to a running one

          • manage mixed projects (for example Clojure + Java or Clojure + Clojurescript)

          • run arbitrary tasks in your project

          • manage dependencies

          • plugin support (linters, deployment tools)

          • integrate with Maven

          Sample project.clj is a bit overwhelming but shows all the things Lein can do.



          At this point, Lein is more useful for building applications and libraries - as it has all the features you might need to do that. That said, CLI tools + tools.deps is quickly gaining traction and there are projects which add all the missing bits from Leiningen.






          share|improve this answer




















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53249836%2fwhats-the-difference-between-leiningen-and-clojure-cli-tools-and-how-should-i-u%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            CLI tools are more limited in scope than Leiningen - it's a small too which you can use to launch a REPL quickly. Combined with tools.deps.alpha it can be used to run code and pull in 3rd party dependencies. You can read more about it here: https://clojure.org/reference/deps_and_cli



            Leiningen can do all of that, plus:



            • create deployment artifacts (uberjars)

            • start a REPL server or connect to a running one

            • manage mixed projects (for example Clojure + Java or Clojure + Clojurescript)

            • run arbitrary tasks in your project

            • manage dependencies

            • plugin support (linters, deployment tools)

            • integrate with Maven

            Sample project.clj is a bit overwhelming but shows all the things Lein can do.



            At this point, Lein is more useful for building applications and libraries - as it has all the features you might need to do that. That said, CLI tools + tools.deps is quickly gaining traction and there are projects which add all the missing bits from Leiningen.






            share|improve this answer

























              2














              CLI tools are more limited in scope than Leiningen - it's a small too which you can use to launch a REPL quickly. Combined with tools.deps.alpha it can be used to run code and pull in 3rd party dependencies. You can read more about it here: https://clojure.org/reference/deps_and_cli



              Leiningen can do all of that, plus:



              • create deployment artifacts (uberjars)

              • start a REPL server or connect to a running one

              • manage mixed projects (for example Clojure + Java or Clojure + Clojurescript)

              • run arbitrary tasks in your project

              • manage dependencies

              • plugin support (linters, deployment tools)

              • integrate with Maven

              Sample project.clj is a bit overwhelming but shows all the things Lein can do.



              At this point, Lein is more useful for building applications and libraries - as it has all the features you might need to do that. That said, CLI tools + tools.deps is quickly gaining traction and there are projects which add all the missing bits from Leiningen.






              share|improve this answer























                2












                2








                2






                CLI tools are more limited in scope than Leiningen - it's a small too which you can use to launch a REPL quickly. Combined with tools.deps.alpha it can be used to run code and pull in 3rd party dependencies. You can read more about it here: https://clojure.org/reference/deps_and_cli



                Leiningen can do all of that, plus:



                • create deployment artifacts (uberjars)

                • start a REPL server or connect to a running one

                • manage mixed projects (for example Clojure + Java or Clojure + Clojurescript)

                • run arbitrary tasks in your project

                • manage dependencies

                • plugin support (linters, deployment tools)

                • integrate with Maven

                Sample project.clj is a bit overwhelming but shows all the things Lein can do.



                At this point, Lein is more useful for building applications and libraries - as it has all the features you might need to do that. That said, CLI tools + tools.deps is quickly gaining traction and there are projects which add all the missing bits from Leiningen.






                share|improve this answer












                CLI tools are more limited in scope than Leiningen - it's a small too which you can use to launch a REPL quickly. Combined with tools.deps.alpha it can be used to run code and pull in 3rd party dependencies. You can read more about it here: https://clojure.org/reference/deps_and_cli



                Leiningen can do all of that, plus:



                • create deployment artifacts (uberjars)

                • start a REPL server or connect to a running one

                • manage mixed projects (for example Clojure + Java or Clojure + Clojurescript)

                • run arbitrary tasks in your project

                • manage dependencies

                • plugin support (linters, deployment tools)

                • integrate with Maven

                Sample project.clj is a bit overwhelming but shows all the things Lein can do.



                At this point, Lein is more useful for building applications and libraries - as it has all the features you might need to do that. That said, CLI tools + tools.deps is quickly gaining traction and there are projects which add all the missing bits from Leiningen.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 12 '18 at 18:57









                lukaszkorecki

                1,03911116




                1,03911116



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53249836%2fwhats-the-difference-between-leiningen-and-clojure-cli-tools-and-how-should-i-u%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    這個網誌中的熱門文章

                    How to read a connectionString WITH PROVIDER in .NET Core?

                    Node.js Script on GitHub Pages or Amazon S3

                    Museum of Modern and Contemporary Art of Trento and Rovereto