LEININGEN(1)

πŸ“¦
version 2.13.0 Β· 2 versions
  • 2.13.0 Β· alpine 3.24, arch rolling, debian bookworm, debian trixie, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 2.9.1 Β· ubuntu jammy
, in alpine 3.24, arch rolling, debian bookworm, debian trixie, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– LEININGEN πŸ’–

okay bestie, welcome to the LEININGEN(1) manual page, aka the group chat lore drop for lein β€” the Clojure automation bestie you've been looking for πŸ’…


✨ NAME ✨

lein β€” Automate Clojure projects πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

lein [-o] [-U] [TASK [ARGS]]
lein [-h|--help]
lein [-v|--version]

🌸 DESCRIPTION 🌸

Leiningen is for automating Clojure projects without setting your hair on fire πŸ”₯😭 β€” like, that's the whole brand, no cap.

Working on Clojure projects with tools designed for Java can be an exercise in frustration. With Leiningen, you just write Clojure. that's it. that's the vibe. periodt ✨


πŸ‘‘ TASKS πŸ‘‘

lein help will show the complete list of tasks, while lein help TASK shows usage for a specific one.

lein help tutorial has a detailed walk-through of the various tasks, but the most commonly-used are:

  • lein new NAME β€” generate a new project skeleton 🐣
  • lein test [TESTS] β€” run the tests in the TESTS namespaces, or all tests
  • lein repl β€” launch an interactive REPL session in a networked REPL server πŸ’¬
  • lein uberjar β€” package up the project and its dependencies as a standalone .jar file πŸ“¦
  • lein install β€” install a project into your local repository
  • lein deploy [REPOSITORY] β€” deploy a library to a remote repository πŸš€

Other tasks available include:

  • lein change β€” Rewrite project.clj by applying a function.
  • lein check β€” Check syntax and warn on reflection.
  • lein classpath β€” Print the classpath of the current project.
  • lein clean β€” Remove all files from project's target-path.
  • lein compile β€” Compile Clojure source into .class files.
  • lein deps β€” Download all dependencies.
  • lein do [TASK], ... β€” Higher-order task to perform other tasks in succession.
  • lein jar β€” Package up all the project's files into a jar file.
  • lein javac β€” Compile Java source files.
  • lein pom β€” Write a pom.xml file to disk for Maven interoperability.
  • lein release β€” Perform :release-tasks.
  • lein retest β€” Run only the test namespaces which failed last time around. (the redemption arc 😀)
  • lein run β€” Run a -main function with optional command-line arguments.
  • lein search β€” Search remote maven repositories for matching jars.
  • lein show-profiles β€” List all available profiles or display one if given an argument.
  • lein trampoline [TASK] β€” Run a task without nesting the project's JVM inside Leiningen's.
  • lein update-in β€” Perform arbitrary transformations on your project map.
  • lein vcs β€” Interact with the version control system.
  • lein version β€” Print version for Leiningen and the current JVM.
  • lein with-profile [PROFILE] [TASK] β€” Apply the given task with the profile(s) specified.

πŸ’… OPTIONS πŸ’…

  • -o β€” Run a task offline. airplane mode but make it build tool ✈️
  • -U β€” Run a task after forcing update of snapshots.
  • -h, --help β€” Print this help or help for a specific task.
  • -v, --version β€” Print Leiningen's version.

🧚 CONFIGURATION 🧚

Leiningen reads its configuration from the project.clj file in your project root. Either use lein new to create a fresh project from which to work, or see the exhaustive list of configuration options with lein help sample.

You can customize your project map further with profiles; see lein help profiles. 🫢


πŸ’€ BUGS πŸ’€

Check https://codeberg.org/leiningen/leiningen/issues to see if your problem is a known issue. If not, please open a new issue on that site. Please include the output of lein version as well as your project.clj file and as much of the relevant code from your project as possible.

ngl, bug reports without lein version output are giving "help me help you (derogatory)" 😭 drop the details and the maintainers will love you forever, fr fr πŸ’œ

🌈 COPYING 🌈

Copyright (C) 2009-2017 Phil Hagelberg and contributors.

Distributed under the Eclipse Public License, the same as Clojure uses. See the file /usr/share/doc/leiningen/copyright.


⭐ AUTHOR ⭐

This manpage is written by Phil Hagelberg <technomancy@gmail.com> β€” absolute icon, we stan πŸ‘‘


and that's the whole page bestie!! this was the LEININGEN(1) manual, 2017 August 10 edition β€” go forth and automate ur Clojure projects without any hair fires πŸ’–βœ¨πŸŽ€