Extending Leiningen to Make it Do What you Want
summary
Explains how to add concrete Leiningen features: use aliases to run a project main (example: a DB migration that maps migrate → lein run -m clojars.db.migrate), use eval-in-project to run code inside the project JVM, and create plugins that hook into lifecycle via robert.hook to wrap tasks (example: cljsbuild wrapping compile) or inspect dependency resolution (line-pedantic aborts on downgrades). Covers prep-tasks, injections for embedding the project map into resources, and templates built with lein.new.templates and mustache sanitize rules.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 5:05Example
- 8:10Task Resolution
- 11:15Ring
- 12:35Metadata
- 13:18abort
- 16:23prep tasks
- 17:31injections
- 18:41hooks
- 20:15Robert Hooke
- 22:41Middleware
- 23:20Middleware Example
- 26:00Template Example
- 29:22multisegment
- 30:30Summary
- 31:39Questions
related talks
35mWhat's New in Leiningen
21mLLMs + Clojure = Who needs frameworks?
55mTransforming Enterprise Development With Clojure
24mBuilding Intelligible Systems
26mWrapping Clojure Tooling in Containers
40mProgramming Clojure, Smalltalk-Style
38mLearning Clojure: Next Steps
44m(Neal's) Master Plan for Clojure Enterprise Mindshare Domination
