Point out your outdated dependencies.
Note
|
Antq requires Clojure 1.10.0 or later. |
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 |
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).
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
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
.
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
.
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.
Antq has timeouts for acquiring various information. See here for details.
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,
|
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
# Exclude version range of specified artifact
--exclude=com.github.liquidz/antq@0.13.x
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.
|
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 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.
|
If you want to focus the upgrade on specific version of dependency, you can use --focus=ARTIFACT_NAME[@VERSION]
.
E.g. --focus=com.github.liquidz/antq@50.2.0
Will set antq dep to version 50.2.0, even if that version doesn’t exist.
Skip to search specified project files.
Must be one of boot
, clojure-cli
, github-action
, pom
, shadow-cljs
and leiningen
.
E.g. --skip=pom
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. |
e.g. {{name}}{{#latest-name}} → {{.}}{{/latest-name}}
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. |
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 |
For java dependencies, ignore versions installed to your local Maven repository(~/.m2/
)
Detect all tools installed in ~/.clojure/tools
as dependencies.
You can also upgrade them with --upgrade
option.
Warning
|
DEPRECATED.
Please use --no-changes instead.
|
Skip checking diff between deps' versions. Disabled by default.
Show changes URLs in table.
This option is only available for table
reporter.
Disabed by default.
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 |
-
clojure-dependency-update-action: A simple GitHub Actions to create Pull Requests for outdated tools.deps dependencies
Copyright © 2020-2024 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.