{"id":13760384,"url":"https://github.com/liquidz/antq","last_synced_at":"2025-05-14T11:08:52.071Z","repository":{"id":38017452,"uuid":"261032128","full_name":"liquidz/antq","owner":"liquidz","description":"Point out your outdated dependencies.","archived":false,"fork":false,"pushed_at":"2025-04-05T22:19:02.000Z","size":894,"stargazers_count":433,"open_issues_count":27,"forks_count":27,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-12T21:47:45.920Z","etag":null,"topics":["clojure","clojure-cli","github-actions","leiningen","maven","version-check"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liquidz.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGELOG.adoc","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"liquidz","patreon":"uochan","ko_fi":"uochan","custom":"https://paypal.me/uochan"}},"created_at":"2020-05-03T22:23:08.000Z","updated_at":"2025-05-09T09:30:38.000Z","dependencies_parsed_at":"2023-10-03T02:06:39.347Z","dependency_job_id":"6e577642-fd2e-4576-8eec-6f06ca419277","html_url":"https://github.com/liquidz/antq","commit_stats":{"total_commits":1099,"total_committers":25,"mean_commits":43.96,"dds":0.08189262966333033,"last_synced_commit":"11e3565fe2964dd2d1b98f78e9cf3730b48982af"},"previous_names":[],"tags_count":117,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidz%2Fantq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidz%2Fantq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidz%2Fantq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidz%2Fantq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liquidz","download_url":"https://codeload.github.com/liquidz/antq/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254129482,"owners_count":22019628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","github-actions","leiningen","maven","version-check"],"created_at":"2024-08-03T13:01:09.124Z","updated_at":"2025-05-14T11:08:52.047Z","avatar_url":"https://github.com/liquidz.png","language":"Clojure","funding_links":["https://github.com/sponsors/liquidz","https://patreon.com/uochan","https://ko-fi.com/uochan","https://paypal.me/uochan"],"categories":["Clojure"],"sub_categories":[],"readme":"= Antq\n:sym-yes: ✅\n:sym-no: ❌\n\nPoint out your outdated dependencies.\n\nimage:https://github.com/liquidz/antq/workflows/test/badge.svg[\"GitHub Actions for test workflow\", link=\"https://github.com/liquidz/antq/actions?query=workflow%3Atest\"]\nimage:https://github.com/liquidz/antq/workflows/lint/badge.svg[\"GitHub Actions for lint workflow\", link=\"https://github.com/liquidz/antq/actions?query=workflow%3Alint\"]\nimage:https://github.com/liquidz/antq/workflows/dependencies/badge.svg[\"GitHub Actions for dependencies workflow\", link=\"https://github.com/liquidz/antq/actions?query=workflow%3Adependencies\"]\nimage:https://codecov.io/gh/liquidz/antq/branch/master/graph/badge.svg[\"codecov\", link=\"https://codecov.io/gh/liquidz/antq\"]\n\nimage:https://cljdoc.org/badge/com.github.liquidz/antq[\"cljdoc\", link=\"https://cljdoc.org/d/com.github.liquidz/antq\"]\nimage:https://img.shields.io/clojars/v/com.github.liquidz/antq[\"Clojars Project\", link=\"https://clojars.org/com.github.liquidz/antq\"]\nimage:https://img.shields.io/badge/docker-automated-blue[\"GitHub Container Registry\", link=\"https://github.com/users/liquidz/packages/container/package/antq\"]\n\n[NOTE]\n====\nAntq requires Clojure 1.10.0 or later. +\nBasically, antq could work regardless of the Clojure version which your project depends. +\nIf you have a trouble, please see link:./doc/non-supported-clojure-version.adoc[here].\n====\n\n== Supported files\n\n|===\n| File | Tool/Service | Supports Upgrade? | Note\n\n| deps.edn\n| https://clojure.org/guides/deps_and_cli[Clojure CLI]\n| {sym-yes}\n|\n\n| shadow-cljs.edn\n| https://githur.com/thheller/shadow-cljs[Shadow-cljs]\n| {sym-yes}\n|\n| project.clj\n| https://leiningen.org[Leiningen]\n| {sym-yes}\n| Can specify as \u003c\u003cusage-lein-as-program, program\u003e\u003e or \u003c\u003cusage-lein-as-plugin, plugin\u003e\u003e.\n\n| build.boot\n| https://github.com/boot-clj/boot[Boot]\n| {sym-yes}\n|\n\n| pom.xml\n| https://maven.apache.org[Maven]\n| {sym-yes}\n|\n\n| .circleci/config.yml\n| https://circleci.com/[CircleCI]\n| {sym-yes}\n|\n\n| .github/workflows/*.yml\n| https://github.com/features/actions[GitHub Actions]\n| {sym-yes}\n|\n\n| bb.edn\n| https://book.babashka.org/index.html#_bb_edn[Babashka]\n| {sym-yes}\n|\n\n| build.gradle\n| https://gradle.org[Gradle]\n| {sym-no}\n| Experimental. `gradle` command must be installed.\n\n| ~/.clojure/tools\n| https://clojure.org/reference/clojure_cli#tools[Clojure CLI Tools]\n| {sym-yes}\n| Disabled by default. +\nSee \u003c\u003copt-check-clojure-tools\u003e\u003e option.\n\n|===\n\n== Usage\n\n[[usage-clojure-cli]]\n=== Clojure CLI (deps.edn)\n\nRun the following command to quickly try antq:\n[source,sh]\n----\nclojure -Sdeps '{:deps {com.github.liquidz/antq {:mvn/version \"RELEASE\"}}}' \\\n  -M -m antq.core\n----\n\nOr add the following alias to your project `deps.edn` or `$HOME/.clojure/deps.edn`.\n[source,clojure]\n----\n{\n :aliases\n {:outdated {;; Note that it is `:deps`, not `:extra-deps`\n             :deps {com.github.liquidz/antq {:mvn/version \"RELEASE\"}}\n             :main-opts [\"-m\" \"antq.core\"]}}\n}\n----\nThen, run `clojure -M:outdated`.\n(run `clojure -A:outdated` for Clojure CLI Tool 1.10.1.645 or earlier).\n\n[[usage-clojure-tool]]\n=== Clojure CLI Tools (`1.11.1.1139` or later)\n\nIf you are using Clojure CLI ver `1.11.1.1139` or later, you can install `antq` as a https://clojure.org/reference/clojure_cli#tools[tool].\n\n[source,sh]\n----\n# Install tool\nclojure -Ttools install-latest :lib com.github.liquidz/antq :as antq\n# Uninstall tool\nclojure -Ttools remove :tool antq\n# Update tool\nclojure -Ttools install-latest :tool antq\n\n# Execute\nclojure -Tantq outdated\n# Execute with parameter\nclojure -Tantq outdated :upgrade true\n# Show help\nclojure -A:deps -Tantq help/doc\n# Upgrade oudated dependencies\nclojure -Tantq outdated :check-clojure-tools true :upgrade true\n----\n\n[[usage-lein-as-program]]\n=== Leiningen (as a `main` program)\n\nAdd the following dependency and alias to your `project.clj` or `$HOME/.lein/profiles.clj`.\n[source,clojure]\n----\n{\n :user\n {:aliases {\"outdated\" [\"with-profile\" \"antq\" \"run\" \"-m\" \"antq.core\"]}}\n :antq\n {:dependencies [[com.github.liquidz/antq \"RELEASE\"]]}\n }\n----\nThen, run `lein outdated`.\n\n[[usage-lein-as-plugin]]\n=== Leiningen (as a plugin)\n\nThe Leiningen plugin is a newer offering. It tends to be more accurate (since it won't parse your project.clj, having it evaluated by Leiningen instead).\nHowever it does not check any other sources (deps.edn, etc), and the `:upgrade` option will not be supported (since the plugin cannot always know if a given dependency came from a specific profile, middleware, etc).\n\nIn order to use it, add the following plugin to your `project.clj` (or `$HOME/.lein/profiles.clj`):\n[source,clojure]\n----\n :plugins [[com.github.liquidz/antq \"RELEASE\"]]\n ;; optional - you can add antq options here:\n :antq {}\n----\nThen, run `lein antq`.\n\n\n=== GitHub Actions\n\nAntq can work with https://github.com/features/actions[GitHub Actions].\nSee antq's workflow for concrete example.\n\n* https://github.com/liquidz/antq/blob/master/.github/workflows/dependencies.yml[.github/workflows/dependencies.yml]\n* To show errors as annotations, please set this option: `--error-format=\"::error file={{file}}::{{message}}\"`\n\nOr if you prefer, you can use our ready-made GitHub action:\n\n* https://github.com/liquidz/antq-action\n\n=== Gradle\n\nAntq experimentally supports https://gradle.org[Gradle].\nSee link:./doc/gradle.adoc[our Gradle docs] for details.\n\n=== Timeouts\n\nAntq has timeouts for acquiring various information.\nSee link:./doc/timeout.adoc[Timeouts] for details.\n\n[[options]]\n== Options\n\n[TIP]\n====\n**Repeatable Options:**\nOptions documented with `...` at the end of their names can be specified multiple times.\nFor example, to \u003c\u003copt-exclude\u003e\u003e artifact `a` and `b`: +\n`--exclude=a --exclude=b`.\n====\n\n[NOTE]\n====\n**Option Syntaxes:**\nWe describe options here as they would be specified for \u003c\u003cusage-clojure-cli, clojure cli usage\u003e\u003e.\nAdapt as necessary when specifying for \u003c\u003cusage-clojure-tool, clojure tool usage\u003e\u003e or \u003c\u003cusage-lein-as-plugin, lein plugin :antq option usage\u003e\u003e.\nFor examples:\n\n* \u003c\u003copt-upgrade\u003e\u003e is specified as `:upgrade true` for both clojure tool and antq option usage\n* \u003c\u003copt-exclude,--exclude=ARTIFACT1 --exclude ARTIFACT2\u003e\u003e is specified as\n** `:exclude '[\"ARTIFACT1\" \"ARTFACT2\"]'` for clojure tool usage\n** `:exclude [\"ARTIFACT1\" \"ARTIFACT2\"]` as a lein plugin `:antq` option\n====\n\n[[opt-upgrade]]\n=== --upgrade\nUpgrade outdated versions interactively.\nYou can use the \u003c\u003copt-force\u003e\u003e option for upgrading without confirmation, and the \u003c\u003copt-download\u003e\u003e option to download upgraded dependencies on the fly.\n[WARNING]\n====\nThe `--upgrade` option does not support gradle files at this time.\n====\n\n[[opt-force]]\n=== --force\nUse with \u003c\u003copt-upgrade\u003e\u003e to non-interactive upgrade.\n\n[[opt-exclude]]\n=== --exclude=ARTIFACT_NAME[@VERSION] ...\nSkip version checking for specified artifacts or versions.\nSpecify multiple times for multiple artifacts.\n\nE.g.\n[source,sh]\n----\n# Exclude all versions of specified artifact\n--exclude=com.github.liquidz/antq\n# Exclude specific version of specified artifact\n--exclude=com.github.liquidz/antq@0.13.0\n# Exclude version range of specified artifact\n--exclude=com.github.liquidz/antq@0.13.x\n----\n\nWhen you specified a version number, antq will report the latest version excluding only the specified version.\n\nYou could also specify dependencies to exclude with `:antq/exclude` metadata.\nSee link:./doc/exclusions.adoc[Exclusions] for more information.\n\nNOTE: You must specify `groupId/artifactId` for Java dependencies.\n\n=== --directory=DIRECTORY ...\nAdd search path for projects.\nThe current directory (`.`) is added by default.\nSpecify multiple times for multiple directories.\n\nE.g. `-d foo --directory=bar:baz` will search \"foo\", \"baz\" and \"bar\" directories.\n\n=== --focus=ARTIFACT_NAME ...\nFocus version checking for specified artifacts.\nSpecify multiple times for multiple artifacts.\n\nE.g. `--focus=com.github.liquidz/antq`\n\nNOTE: You must specify `groupId/artifactId` for Java dependencies.\n\nWARNING: the `--focus` option takes precedence over the \u003c\u003copt-exclude,--exclude\u003e\u003e option.\n\nIf you want to focus the upgrade on specific version of dependency, you can use `--focus=ARTIFACT_NAME[@VERSION]`.\n\nE.g. `--focus=com.github.liquidz/antq@50.2.0`\n\nWill set antq dep to version 50.2.0, even if that version doesn't exist.\n\n=== --skip=PROJECT_TYPE ...\nSkip searching of specified project files.\nMust be one of `boot`, `clojure-cli`, `github-action`, `gradle`, `pom`, `shadow-cljs`, `leiningen` or `babashka`.\nSpecify multiple times to skip multiple project files.\n\nE.g. `--skip=pom --skip=leiningen`\n\n[[opt-error-format]]\n=== --error-format=ERROR_FORMAT\nCustomize outputs for outdated dependencies.\n\nE.g.  `--error-format=\"::error file={{file}}::{{message}}\"`\n\nYou can use following variables:\n\n[cols=\"50,50a\"]\n|===\n| Variable Name | Description\n\n| `{{file}}`\n| A filename containing outdated dependencies.\n\n| `{{name}}`\n| The artifact name.\n\n| `{{version}}`\n| The current version.\n\n| `{{latest-version}}`\n| The latest version.\n\n| `{{latest-name}}`\n| The latest artifact name.\nSee details: https://github.com/clojars/clojars-web/wiki/Verified-Group-Names[Clojars Verified Group Names policy].\n\n| `{{changes-url}}`\n| The changes URL in Version Control System. (Nullable)\n\n| `{{diff-url}}`\n| WARNING: DEPRECATED. +\nPlease use `{{changes-url}}` instead.\n\nThe diff URL for Version Control System. (Nullable)\n\n\n| `{{message}}`\n| Default error message.\n\n|===\n\nAntq uses https://github.com/athos/pogonos[Pogonos] as a template engine, so you can use http://mustache.github.io/[Mustache] features.\n\ne.g. `{{name}}{{#latest-name}} -\u003e {{.}}{{/latest-name}}`\n\n[[opt-reporter]]\n=== --reporter=REPORTER\n\n|===\n| Reporter Name | Description\n\n| `table` (default)\n| Report results in a table.\nSee also \u003c\u003copt-changes-in-table\u003e\u003e.\n\n| `format`\n| Report results with a custom format.\nWhen you use the \u003c\u003copt-error-format, --error-format\u003e\u003e option, this reporter will be used automatically.\n\n| `json`\n| Report results in JSON format.\n\n| `edn`\n| Report results in EDN format.\n\n|===\n\n[[opt-download]]\n=== --download\nIf `download` is set and updated dependencies are found,\ndownload them at the same time as a convenience. The default action\nis not to download anything.\n\n[WARNING]\n====\nantq only downloads **upgraded** dependencies with the \u003c\u003copt-upgrade\u003e\u003e option.\n\nIf you upgrade manually or without the `--download` option and the version is changed to the latest,\nthe new version will not be downloaded even if you specify the `--download` option later (because antq does not detect differences).\n====\n\n=== --ignore-locals\n\nFor java dependencies, ignore versions installed to your local Maven repository(`~/.m2/`). Disabled by default.\n\n[[opt-check-clojure-tools]]\n=== --check-clojure-tools\n\nDetect all tools installed in `~/.clojure/tools` as dependencies.\nYou can also upgrade them with \u003c\u003copt-upgrade\u003e\u003e option.\n\n[[opt-no-changes]]\n=== --no-changes\n\nSkip checking changes between deps' versions. Disabled by default.\n\n=== --no-diff\n\nWARNING: DEPRECATED.\nPlease use \u003c\u003copt-no-changes\u003e\u003e instead.\n\nSkip checking diff between deps' versions. Disabled by default.\n\n[[opt-changes-in-table]]\n=== --changes-in-table\n\nShow changes URLs in table.\nThis option is only recognized when using \u003c\u003copt-reporter,--reporter=table\u003e\u003e.\nDisabled by default.\n\n=== --transitive\n\nScan outdated transitive dependencies. Disabled by default.\n\n[NOTE]\n=====\nThe default scan depth is `5`, but it is customizable by the environmental variable `ANTQ_TRANSITIVE_MAX_DEPTH`.\n=====\n\n[WARNING]\n====\nWith this option, the number of reported dependencies tends to be very large, so it is recommended to use it with the \u003c\u003copt-no-changes\u003e\u003e option.\nOtherwise, it may take a long time for the results to be reported.\n====\n\n== Projects using antq\n\n* https://github.com/nnichols/clojure-dependency-update-action[clojure-dependency-update-action]: A simple GitHub Actions to create Pull Requests for outdated tools.deps dependencies\n\n== Tips\n\n* link:./doc/maven-s3-repos.adoc[Maven S3 repos]\n* link:./doc/avoid-slf4j-warnings.adoc[Quiet SLF4J logger warnings]\n* link:./doc/latest-version-of-a-specific-library.adoc[Find the latest version of a library]\n* link:./doc/non-supported-clojure-version.adoc[Antq on projects that use old versions of Clojure]\n* link:./doc/gradle.adoc[Working with Gradle]\n* link:./doc/proxy.adoc[Running behind a proxy]\n* link:./doc/timeout.adoc[Timeouts]\n* link:./doc/exclusions.adoc[Excluding dependencies]\n* link:./doc/use-as-library.adoc[Using antq as a library]\n\n== License\n\nCopyright © 2020-2025 https://scrapbox.io/uochan/uochan[Masashi Iizuka]\n\nThis program and the accompanying materials are made available under the\nterms of the Eclipse Public License 2.0 which is available at\nhttp://www.eclipse.org/legal/epl-2.0.\n\nThis Source Code may also be made available under the following Secondary\nLicenses when the conditions for such availability set forth in the Eclipse\nPublic License, v. 2.0 are satisfied: GNU General Public License as published by\nthe Free Software Foundation, either version 2 of the License, or (at your\noption) any later version, with the GNU Classpath Exception which is available\nat https://www.gnu.org/software/classpath/license.html.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliquidz%2Fantq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliquidz%2Fantq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliquidz%2Fantq/lists"}