Antq
Point out your outdated dependencies.
Note
|
Antq requires Clojure 1.10.0 or later. |
Supported files
File | Tool/Service | Note |
---|---|---|
deps.edn |
||
shadow-cljs.edn |
||
project.clj |
Provides 2 ways of program and plug-in. |
|
build.boot |
||
pom.xml |
||
.github/workflows/*.yml |
||
bb.edn |
||
build.gradle |
Experimental. |
|
~/.clojure/tools |
Disabled by default. See |
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 {;; Note that it is `:deps`, not `:extra-deps`
: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).
1.11.1.1139
or later)
Clojure CLI Tools (From Clojure CLI ver 1.11.1.1139
, tool installation is supported.
# Install tool
clojure -Ttools install-latest :lib com.github.liquidz/antq :as antq
# Uninstall tool
clojure -Ttools remove :tool antq
# Update tool
clojure -Ttools install-latest :tool antq
# Execute
clojure -Tantq outdated
# Execute with parameter
clojure -Tantq outdated :upgrade true
# Show help
clojure -A:deps -Tantq help/doc
# Upgrade oudated dependencies
clojure -Tantq outdated :check-clojure-tools true :upgrade true
main
program)
Leiningen (as a Add the following dependency and alias to your $HOME/.lein/profiles.clj
.
{
:user
{:aliases {"outdated" ["with-profile" "antq" "run" "-m" "antq.core"]}}
:antq
{:dependencies [[com.github.liquidz/antq "RELEASE"]]}
}
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.
-
To show errors as annotations, please set this option:
--error-format="::error file={{file}}::{{message}}"
In another way, you can use the following action.
Timeouts
Antq has timeouts for acquiring various information. 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.
Warning
|
For now,
|
--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/[email protected]
# Exclude version range of specified artifact
--exclude=com.github.liquidz/[email protected]
When you specified a version number, antq will report the latest version excluding only the specified version.
You could also specify dependencies to exclude with :antq/exclude
metadata.
See Exclusions for more information.
Note
|
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
Note
|
You must specify groupId/artifactId for Java dependencies.
|
Warning
|
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 Name | Description | ||
---|---|---|---|
|
A filename containing outdated dependencies. |
||
|
The artifact name. |
||
|
The current version. |
||
|
The latest version. |
||
|
The latest artifact name. See details: Clojars Verified Group Names policy. |
||
|
The changes URL in Version Control System. (Nullable) |
||
|
The diff URL for Version Control System. (Nullable) |
||
|
Default error message. |
--reporter=REPORTER
Reporter Name | Description |
---|---|
|
Report results in a table. |
|
Report results with a custom format.
When you use |
|
Report results as a JSON format. |
|
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.
Warning
|
antq only downloads upgraded dependencies by If you upgrade manually or without the |
--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.
--no-changes
Skip checking changes between deps' versions. Disabled by default.
--no-diff
Warning
|
DEPRECATED.
Please use --no-changes instead.
|
Skip checking diff between deps' versions. Disabled by default.
--transitive
Scan outdated transitive dependencies. Disabled by default.
Note
|
The default scan depth is |
Warning
|
With this option, the number of reported dependencies tends to be very large, so it is recommended to use it with the |
Projects using antq
-
clojure-dependency-update-action: A simple GitHub Actions to create Pull Requests for outdated tools.deps dependencies
Tips
License
Copyright Β© 2020-2023 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.