{"id":32191287,"url":"https://github.com/bnert-land/publicize","last_synced_at":"2026-07-12T22:31:17.388Z","repository":{"id":214234233,"uuid":"736009711","full_name":"bnert-land/publicize","owner":"bnert-land","description":"Publish your deps.edn based clojure project to clojars.","archived":false,"fork":false,"pushed_at":"2023-12-26T19:17:44.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-22T01:36:57.438Z","etag":null,"topics":["clojure","clojure-cli","clojure-library","deploy-tool"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bnert-land.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-26T18:10:15.000Z","updated_at":"2023-12-27T05:09:52.000Z","dependencies_parsed_at":"2023-12-26T20:59:49.603Z","dependency_job_id":"ac7fd376-dced-4ae9-b2f9-4fbf7e5a017a","html_url":"https://github.com/bnert-land/publicize","commit_stats":null,"previous_names":["bnert-land/publicize"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bnert-land/publicize","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnert-land%2Fpublicize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnert-land%2Fpublicize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnert-land%2Fpublicize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnert-land%2Fpublicize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bnert-land","download_url":"https://codeload.github.com/bnert-land/publicize/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnert-land%2Fpublicize/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35404819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","clojure-cli","clojure-library","deploy-tool"],"created_at":"2025-10-22T01:36:30.691Z","updated_at":"2026-07-12T22:31:17.376Z","avatar_url":"https://github.com/bnert-land.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# publicize\n\n[![Clojars Project](https://img.shields.io/clojars/v/land.bnert/publicize.svg)](https://clojars.org/land.bnert/publicize)\n\nMicro-library for publishing to clojars from deps.edn + tools.build.\n\nThis library is scoped to be for library authors which utilize\ntools.build in their workflow.\n\n\n## Overview\n\nI wanted a more \"bare-bones\" library for publishing to clojars which\nI can hook into `tools.build`. This is \"bare-bones\" as it get's, given\nit is a single function which wraps `pomegranate` and provides some\nbasic checks against inputs.\n\nIf you need extra functionality, or want more of a \"batteries included\" solution, check out the Alternatives at the bottom of the README.\n\n\n## Getting Started\n\n### Install\nAdd dependency to deps.edn `:build` alias (may differ for your project):\n```\n{:aliases\n {:build\n  {:extra-deps {io.github.clojure/tools.build {:mvn/version \"...\"}\n                ; Add as an extra dep to :build alias\n                land.bnert/publicize {:mvn/version \"0.4.0\"}}\n   :ns-default build}}}\n```\n\n### Usage\n\nAdd the following to your `build.clj` file (or the equivalent in your project):\n```clojure\n(ns build\n  (:require\n    [clojure.tools.build.api :as b]\n    [publicize.core :as p]))\n\n(defn clean [_]\n  (b/delete {:path \"target\"}))\n\n(defn jar [_]\n  (clean nil)\n  (let [b (b/create-basis {:project \"deps.edn\"})\n        ; Optional, though recommended.\n        ;\n        ; Will clean clojure version from deps,\n        ; which in turn will exclude the clojure version from the\n        ; generated pom.xml\n        b (p/clean-clojure-dep b)]\n    (b/write-pom\n      {:basis     basis\n       :class-dir \"target/classes\"\n       :lib       'myorg.mygroup/mylib\n       :src-dirs  (get basis :paths [\"src\"])\n       :version   \"0.1.0\"\n       :pom-data  [[:licenses\n                    [:license\n                     [:name \"Name of license\"]\n                     [:url  \"https://...\"]]]]}\n       ; Optional\n       :scm       {:url \"https://...\"})\n    (b/copy-dir\n      {:src-dirs   (get basis :paths [\"src\"])\n       :target-dir \"target/classes\"})\n    (b/jar\n      {:class-dir class-dir\n       :jar-file  \"target/mylib.jar\"})))\n\n(defn publicize [_]\n  (let [pom-path (b/pom-path\n                   {:class-dir \"\", :lib 'myorg.mygroup/mylib})]\n    (jar nil)\n    (p/publicize\n      {:lib      'myorg.mygroup/mylib\n       :version  \"0.1.0\"\n       :jar-file \"target/mylib.jar\"\n       :pom-path pom-path})))\n```\n\nThen, call via cli:\n```\n$ CLOJARS_USERNAME=... CLOJARS_PASSWORD=... clj -T:build publicize\n```\n\n## Alternatives/Prior Work\n- [`slipset/deps-deploy`](https://github.com/slipset/deps-deploy)\n  - More of a \"bundled\" approach which handles jar packaging for you.\n- [`applied-science/deps-library`](https://github.com/applied-science/deps-library)\n  - Is a super-set of `deps-deploy` with some nifty features (if I am interpretting the README correctly). Check it out if you need more functionailty than what is here.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbnert-land%2Fpublicize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbnert-land%2Fpublicize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbnert-land%2Fpublicize/lists"}