practicalli / practicalli/clojure

Deploying Clojure project to Clojars

Open
#271 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Makefile
Stars
117
Forks
36
PR merge metrics
No merged PRs in 30d

Description

https://github.com/clojars/clojars-web/wiki/Tutorial

Depstar for Clojure CLI projects

https://juxt.pro/blog/pack-maven

Write a tutorial for CLI projects?

https://clojureverse.org/t/please-how-do-you-configure-gpg-and-clojars/606

To AOT or not AOT
Difference between jar and uberjar, what to publish and what to deploy. (deploy uberjar and publish jar)

Short answer: deploy uberjars, publish jarsWhen deploying to a server / container, the uberjar has everything it needs, except for the Java runtime. So its possible to run the uberjar just using a java command (essentially what the Clojure CLI tool wraps).Clojars are a collection of library dependencies, each of which can be added to another project. When adding a library to a project, any dependencies the library contains will be downloaded when running the project. Therefore its is encouraged that libraries have no more dependencies that really needed.
Uberjars shouldnt be published to Clojars as this would be very inefficient and a potential cause of dependency conflicts.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked Clojars wiki tutorial, Depstar article, and ClojureVerse discussion. Define the tutorial structure for Clojure CLI projects and cover GPG configuration, AOT, jars versus uberjars, and what to publish or deploy; done means these deployment choices are explained clearly for newcomers.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.