Liking cljdoc? Tell your friends :D

Antq

Point out your outdated dependencies.

GitHub Actions for test workflow GitHub Actions for lint workflow GitHub Actions for dependencies workflow codecov

Clojars Project GitHub Container Registry

Antq requires Clojure 1.9.0 or later.
If you’d like to use with 1.8.0 or earlier, please see here.

Supported files

FileTool/ServiceNote

deps.edn

Clojure CLI

shadow-cljs.edn

Shadow-cljs

project.clj

Leiningen

Provides 2 ways of program and plug-in.

build.boot

Boot

pom.xml

Maven

.github/workflows/*.yml

GitHub Actions

bb.edn

Babashka

build.gradle

Gradle

Experimental. gradle command must be installed.

~/.clojure/tools

Clojure CLI Tools

Disabled by default. See --check-clojure-tools option.

Usage

Clojure CLI (deps.edn)

Run the following command for trial.

clojure -Sdeps '{:deps {com.github.liquidz/antq {:mvn/version "RELEASE"}}}' -M -m antq.core

Or add the following alias to your $HOME/.clojure/deps.edn.

{
 :aliases
 {:outdated {:extra-deps {com.github.liquidz/antq {:mvn/version "RELEASE"}}
             :main-opts ["-m" "antq.core"]}}
 }

Then, run clojure -M:outdated. (run clojure -A:outdated for Clojure CLI Tool 1.10.1.645 or earlier).

Clojure CLI Tools (1.10.3.933 or later)

From Clojure CLI ver 1.10.3.933, tool installation is supported.

# install
clojure -Ttools install com.github.liquidz/antq '{:git/tag "1.6.2"}' :as antq
# uninstall
clojure -Ttools remove :tool antq
# execute
clojure -Tantq outdated
# execute with parameter
clojure -Tantq outdated :upgrade true
# help
clojure -A:deps -Tantq help/doc
# upgrade
clojure -Tantq outdated :check-clojure-tools true :upgrade true

Leiningen (as a main program)

Add the following dependency and alias to your $HOME/.lein/profiles.clj.

{
 :user
 {:dependencies [[com.github.liquidz/antq "RELEASE"]]
  :aliases {"outdated" ["run" "-m" "antq.core"]}
  }
 }

Then, run lein outdated.

Leiningen (as a plugin)

The 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). However the :upgrade option will not be supported (since the plugin cannot always know if a given dependency came from a specific profile, middleware, etc).

In order to use it, add the following plugin to your project.clj (or $HOME/.lein/profiles.clj):

 :plugins [[com.github.liquidz/antq "RELEASE"]]
 ;; optional - you can add antq options here:
 :antq {}

Then, run lein antq.

GitHub Actions

Antq can work with GitHub Actions. See antq’s workflow for concrete example.

In another way, you can use the following action.

Gradle

Antq experimentally supports Gradle. See here for details.

Options

--upgrade

Upgrade outdated versions interactively. You can use --force option for upgrading without confirmation, and --download option for downloading upgraded dependencies on the fly.

For now, --upgrade option only supports following files.

  • deps.edn

  • shadow-cljs.edn

  • project.clj

  • build.boot

  • pom.xml

--exclude=ARTIFACT_NAME[@VERSION]

Skip version checking for specified artifacts or versions.

E.g.

# Exclude all versions of specified artifact
--exclude=com.github.liquidz/antq
# Exclude specific version of specified artifact
--exclude=com.github.liquidz/antq@0.13.0

When you specified a version number, antq will report the latest version excluding only the specified version.

You must specify groupId/artifactId for Java dependencies.

--directory=DIRECTORY

Add search path for projects. Current directory(.) is added by default.

E.g. -d foo --directory=bar:baz will search "foo", "baz" and "bar" directories.

--focus=ARTIFACT_NAME

Focus version checking for specified artifacts.

E.g. --focus=com.github.liquidz/antq

You must specify groupId/artifactId for Java dependencies.
focus option is prefer than exclude option.

--skip=PROJECT_TYPE

Skip to search specified project files. Must be one of boot, clojure-cli, github-action, pom, shadow-cljs and leiningen.

E.g. --skip=pom

--error-format=ERROR_FORMAT

Customize outputs for outdated dependencies.

E.g. --error-format="::error file={{file}}::{{message}}"

You can use following variables:

Variable NameDescription

{{file}}

A filename containing outdated dependencies.

{{name}}

The artifact name.

{{version}}

The current version.

{{latest-version}}

The latest version.

{{latest-name}}

The latest artifact name. See details: Clojars Verified Group Names policy.

{{diff-url}}

The diff URL for Version Control System. (Nullable)

{{message}}

Default error message.

--reporter=REPORTER

Reporter NameDescription

table (default)

Report results in a table.

format

Report results with a custom format. When you use --error-format option, this reporter will be used automatically.

json

Report results as a JSON format.

edn

Report results as a EDN format.

--download

If download is set and updated dependencies are found, download them at the same time as a convenience. The default action is not to download anything.

antq only downloads upgraded dependencies by --upgrade option.

If you upgrade manually or without the --download option and the version is changed to the latest, the new version will not be downloaded even if you specify the --download option later (because antq does not detect differences).

--ignore-locals

For java dependencies, ignore versions installed to your local Maven repository(~/.m2/)

--check-clojure-tools

Detect all tools installed in ~/.clojure/tools as dependencies. You can also upgrade them with --upgrade option.

Projects using antq

License

Copyright © 2020-2022 Masashi Iizuka

This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.

This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.

Can you improve this documentation? These fine people already did:
liquidz, David Harrigan, Björn Ebbinghaus, Iizuka Masashi, vemv & Travis Jefferson
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close