English | Türkçe
This document describes the safe and reproducible process for publishing binance-clj to Clojars. The target Maven coordinate is:
io.github.ugurbay/binance-clj {:mvn/version "1.0.1"}
important
Never paste a Clojars deploy token into a chat message, issue, log, or repository file. The token must exist only in the environment of the PowerShell process that performs the release.
warning
Non-SNAPSHOT versions on Clojars are immutable and cannot be deployed again. Do not publish unless VERSION, the Git tag, and the generated POM match exactly.
ugurbay.io.github.ugurbay group for that account. The package therefore uses io.github.ugurbay/binance-clj.CLOJARS_USERNAME value.binance-clj-first-release.io.github.ugurbay/binance-clj or its group for future releases.The deploy token is not the Clojars account password. Release tooling passes it through the password field, hence the environment name CLOJARS_PASSWORD.
Run commands from the repository root:
cd 'C:\Users\ismailugur\Documents\ChatGPT\BINANCE CLOJURE API CONNECTOR\Clojure Binance Connector'
Review the version in VERSION. Select a previously unused Semantic Versioning value for every normal release. Validate without publishing:
.\scripts\verify-clojars-package.ps1
This check:
Then run the normal release gate:
.\scripts\verify-phase-9.ps1
To include live Testnet acceptance, use only Binance Spot Testnet credentials and explicitly opt in:
.\scripts\verify-phase-9.ps1 -RunFullTestnet
Clojars publication does not require a Binance API key or secret.
The publication script rejects a dirty worktree and an untagged commit. Merge the release commit into the main branch, then create and push the tag matching VERSION. For 1.0.1:
git status
git tag -a v1.0.1 -m 'binance-clj v1.0.1'
git push origin v1.0.1
Before tagging, git status must be clean and HEAD must be the exact commit to publish. If anything is uncertain and no artifact was published, stop the release and inspect Git history before changing tags.
Replace the placeholders only inside your own PowerShell window:
$env:CLOJARS_USERNAME='your-clojars-username'
$env:CLOJARS_PASSWORD='your-clojars-deploy-token'
Check presence without printing either value:
[bool]$env:CLOJARS_USERNAME
[bool]$env:CLOJARS_PASSWORD
Both commands must print True. Do not run commands such as Get-ChildItem Env: that dump the complete environment. Disable PowerShell transcription/logging before entering the token if it is enabled.
Publication cannot begin without the explicit confirmation switch:
.\scripts\publish-clojars.ps1 -ConfirmRelease
The script enforces, in order:
v<VERSION> tag pointing at HEAD;After success, remove credentials from the process environment:
Remove-Item Env:CLOJARS_USERNAME
Remove-Item Env:CLOJARS_PASSWORD
Closing the PowerShell window also removes these process-local values.
The artifact page should become available at:
https://clojars.org/io.github.ugurbay/binance-clj
Test actual Clojars resolution from a new, empty directory:
clojure -Srepro -Sdeps '{:deps {io.github.ugurbay/binance-clj {:mvn/version "1.0.1"}}}' -M -e "(require '[binance-clj.core :as core]) (println (core/runtime-info))"
The result should include at least :name "binance-clj", :phase 9, and :status :ready. Clojars/Maven indexes may take a short time to update. If resolution initially fails, never redeploy the same version; wait a few minutes and repeat only the consumer verification.
deps.edn:
{:deps
{io.github.ugurbay/binance-clj {:mvn/version "1.0.1"}}}
Leiningen:
:dependencies [[io.github.ugurbay/binance-clj "1.0.1"]]
Read Getting Started for Testnet-first usage and Disclaimer for legal and financial risks.
ugurbay GitHub account, and confirm io.github.ugurbay verification.VERSION if changes are required.Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |