(dependency [group-artifact version &
{:keys [scope optional exclusions]
:as opts
:or {scope "compile" optional false}} :as dep-spec])
Produces an Aether Dependency instance from Pomegranate-style dependency information
Produces an Aether Dependency instance from Pomegranate-style dependency information
(dependency-files graph)
Given a dependency graph obtained from resolve-dependencies
, returns a seq of
files from the dependencies' metadata.
Given a dependency graph obtained from `resolve-dependencies`, returns a seq of files from the dependencies' metadata.
(dependency-hierarchy root-coordinates dep-graph)
Returns a dependency hierarchy based on the provided dependency graph
(as returned by resolve-dependencies
) and the coordinates that should
be the root(s) of the hierarchy. Siblings are sorted alphabetically.
Returns a dependency hierarchy based on the provided dependency graph (as returned by `resolve-dependencies`) and the coordinates that should be the root(s) of the hierarchy. Siblings are sorted alphabetically.
(deploy & {:keys [coordinates artifact-map jar-file pom-file] :as opts})
Deploy the jar-file kwarg using the pom-file kwarg and coordinates kwarg to the repository kwarg.
:coordinates - [group/name "version"] :artifact-map - a map from partial coordinates to file path or File :jar-file - a file pointing to the jar :pom-file - a file pointing to the pom :repository - {name url} | {name settings} settings: :url - URL of the repository :snapshots - use snapshots versions? (default true) :releases - use release versions? (default true) :username - username to log in with :password - password to log in with :passphrase - passphrase to log in wth :private-key-file - private key file to log in with :update - :daily (default) | :always | :never :checksum - :fail (default) | :ignore | :warn
:local-repo - path to the local repository (defaults to ~/.m2/repository) :transfer-listener - same as provided to resolve-dependencies
:proxy - proxy configuration, can be nil, the host scheme and type must match :host - proxy hostname :type - http (default) | http | https :port - proxy port :non-proxy-hosts - The list of hosts to exclude from proxying, may be null :username - username to log in with, may be null :password - password to log in with, may be null :passphrase - passphrase to log in wth, may be null :private-key-file - private key file to log in with, may be null
Deploy the jar-file kwarg using the pom-file kwarg and coordinates kwarg to the repository kwarg. :coordinates - [group/name "version"] :artifact-map - a map from partial coordinates to file path or File :jar-file - a file pointing to the jar :pom-file - a file pointing to the pom :repository - {name url} | {name settings} settings: :url - URL of the repository :snapshots - use snapshots versions? (default true) :releases - use release versions? (default true) :username - username to log in with :password - password to log in with :passphrase - passphrase to log in wth :private-key-file - private key file to log in with :update - :daily (default) | :always | :never :checksum - :fail (default) | :ignore | :warn :local-repo - path to the local repository (defaults to ~/.m2/repository) :transfer-listener - same as provided to resolve-dependencies :proxy - proxy configuration, can be nil, the host scheme and type must match :host - proxy hostname :type - http (default) | http | https :port - proxy port :non-proxy-hosts - The list of hosts to exclude from proxying, may be null :username - username to log in with, may be null :password - password to log in with, may be null :passphrase - passphrase to log in wth, may be null :private-key-file - private key file to log in with, may be null
(deploy-artifacts &
{:keys [files repository local-repo transfer-listener proxy
repository-session-fn]})
Deploy the artifacts kwarg to the repository kwarg.
:files - map from artifact vectors to file paths or java.io.File objects where the file to be deployed for each artifact is to be found An artifact vector is e.g. '[group/artifact "1.0.0"] or '[group/artifact "1.0.0" :extension "pom"]. All artifacts should have the same version and group and artifact IDs :repository - {name url} | {name settings} settings: :url - URL of the repository :snapshots - use snapshots versions? (default true) :releases - use release versions? (default true) :username - username to log in with :password - password to log in with :passphrase - passphrase to log in wth :private-key-file - private key file to log in with :update - :daily (default) | :always | :never :checksum - :fail (default) | :ignore | :warn :local-repo - path to the local repository (defaults to ~/.m2/repository) :transfer-listener - same as provided to resolve-dependencies
:proxy - proxy configuration, can be nil, the host scheme and type must match :host - proxy hostname :type - http (default) | http | https :port - proxy port :non-proxy-hosts - The list of hosts to exclude from proxying, may be null :username - username to log in with, may be null :password - password to log in with, may be null :passphrase - passphrase to log in wth, may be null :private-key-file - private key file to log in with, may be null
Deploy the artifacts kwarg to the repository kwarg. :files - map from artifact vectors to file paths or java.io.File objects where the file to be deployed for each artifact is to be found An artifact vector is e.g. '[group/artifact "1.0.0"] or '[group/artifact "1.0.0" :extension "pom"]. All artifacts should have the same version and group and artifact IDs :repository - {name url} | {name settings} settings: :url - URL of the repository :snapshots - use snapshots versions? (default true) :releases - use release versions? (default true) :username - username to log in with :password - password to log in with :passphrase - passphrase to log in wth :private-key-file - private key file to log in with :update - :daily (default) | :always | :never :checksum - :fail (default) | :ignore | :warn :local-repo - path to the local repository (defaults to ~/.m2/repository) :transfer-listener - same as provided to resolve-dependencies :proxy - proxy configuration, can be nil, the host scheme and type must match :host - proxy hostname :type - http (default) | http | https :port - proxy port :non-proxy-hosts - The list of hosts to exclude from proxying, may be null :username - username to log in with, may be null :password - password to log in with, may be null :passphrase - passphrase to log in wth, may be null :private-key-file - private key file to log in with, may be null
(install & {:keys [coordinates artifact-map jar-file pom-file] :as opts})
Install the artifacts specified by the jar-file or file-map and pom-file kwargs using the coordinates kwarg.
:coordinates - [group/name "version"] :artifact-map - a map from partial coordinates to file path or File :jar-file - a file pointing to the jar :pom-file - a file pointing to the pom :local-repo - path to the local repository (defaults to ~/.m2/repository) :transfer-listener - same as provided to resolve-dependencies
Install the artifacts specified by the jar-file or file-map and pom-file kwargs using the coordinates kwarg. :coordinates - [group/name "version"] :artifact-map - a map from partial coordinates to file path or File :jar-file - a file pointing to the jar :pom-file - a file pointing to the pom :local-repo - path to the local repository (defaults to ~/.m2/repository) :transfer-listener - same as provided to resolve-dependencies
(install-artifacts &
{:keys [files local-repo transfer-listener
repository-session-fn]})
Deploy the file kwarg using the coordinates kwarg to the repository kwarg.
:files - same as with deploy-artifacts :local-repo - path to the local repository (defaults to ~/.m2/repository) :transfer-listener - same as provided to resolve-dependencies
Deploy the file kwarg using the coordinates kwarg to the repository kwarg. :files - same as with deploy-artifacts :local-repo - path to the local repository (defaults to ~/.m2/repository) :transfer-listener - same as provided to resolve-dependencies
(make-repository [id settings] proxy)
Produces an Aether RemoteRepository instance from Pomegranate-style repository information
Produces an Aether RemoteRepository instance from Pomegranate-style repository information
(merge-versions-from-managed-coords coordinates managed-coordinates)
Given a vector of coordinates (e.g. [[group/name <"version"> & settings] ..]) where the version field is optional or can be nil, and a vector of managed coordinates, returns an updated vector of coordinates with version numbers merged in from the managed-coordinates vector as necessary.
Given a vector of coordinates (e.g. [[group/name <"version"> & settings] ..]) where the version field is optional or can be nil, and a vector of managed coordinates, returns an updated vector of coordinates with version numbers merged in from the managed-coordinates vector as necessary.
(register-wagon-factory! scheme factory-fn)
Registers a new no-arg factory function for the given scheme. The function must return an implementation of org.apache.maven.wagon.Wagon.
Registers a new no-arg factory function for the given scheme. The function must return an implementation of org.apache.maven.wagon.Wagon.
(repository-session {:keys [repository-system local-repo offline?
transfer-listener mirror-selector]})
(resolve-artifacts & args)
Same as resolve-artifacts*
, but returns a sequence of dependencies; each
artifact's metadata contains the source Aether result object, and the
artifact's :file on disk.
Same as `resolve-artifacts*`, but returns a sequence of dependencies; each artifact's metadata contains the source Aether result object, and the artifact's :file on disk.
(resolve-artifacts* &
{:keys [repositories coordinates files retrieve local-repo
transfer-listener offline? proxy mirrors
repository-session-fn]
:or {retrieve true}})
Resolves artifacts for the coordinates kwarg, using repositories from the
:repositories
kwarg.
Retrieval of dependencies can be disabled by providing :retrieve false
as a
kwarg.
Returns an sequence of either org.eclipse.aether.VersionResult
if :retrieve false
, or org.eclipse.aether.ArtifactResult
if
:retrieve true
(the default).
If you don't want to mess with the Aether implementation classes, then use
resolve-artifacts
instead.
:coordinates - [[group/name "version" & settings] ..] settings: :extension - the maven extension (type) to require :classifier - the maven classifier to require :scope - the maven scope for the dependency (default "compile") :optional - is the dependency optional? (default "false") :exclusions - which sub-dependencies to skip : [group/name & settings] settings: :classifier (default "") :extension (default "")
:repositories - {name url ..} | {name settings ..} (defaults to {"central" "https://repo1.maven.org/maven2/"} settings: :url - URL of the repository :snapshots - use snapshots versions? (default true) :releases - use release versions? (default true) :username - username to log in with :password - password to log in with :passphrase - passphrase to log in wth :private-key-file - private key file to log in with :update - :daily (default) | :always | :never :checksum - :fail (default) | :ignore | :warn
:local-repo - path to the local repository (defaults to ~/.m2/repository) :offline? - if true, no remote repositories will be contacted :transfer-listener - the transfer listener that will be notifed of dependency resolution and deployment events. Can be: - nil (the default), i.e. no notification of events - :stdout, corresponding to a default listener implementation that writes notifications and progress indicators to stdout, suitable for an interactive console program - a function of one argument, which will be called with a map derived from each event. - an instance of org.eclipse.aether.transfer.TransferListener
:proxy - proxy configuration, can be nil, the host scheme and type must match :host - proxy hostname :type - http (default) | http | https :port - proxy port :non-proxy-hosts - The list of hosts to exclude from proxying, may be null :username - username to log in with, may be null :password - password to log in with, may be null :passphrase - passphrase to log in wth, may be null :private-key-file - private key file to log in with, may be null
:mirrors - {matches settings ..} matches - a string or regex that will be used to match the mirror to candidate repositories. Attempts will be made to match the string/regex to repository names and URLs, with exact string matches preferred. Wildcard mirrors can be specified with a match-all regex such as #".+". Excluding a repository from mirroring can be done by mapping a string or regex matching the repository in question to nil. settings include these keys, and all those supported by :repositories: :name - name/id of the mirror :repo-manager - whether the mirror is a repository manager
Resolves artifacts for the coordinates kwarg, using repositories from the `:repositories` kwarg. Retrieval of dependencies can be disabled by providing `:retrieve false` as a kwarg. Returns an sequence of either `org.eclipse.aether.VersionResult` if `:retrieve false`, or `org.eclipse.aether.ArtifactResult` if `:retrieve true` (the default). If you don't want to mess with the Aether implementation classes, then use `resolve-artifacts` instead. :coordinates - [[group/name "version" & settings] ..] settings: :extension - the maven extension (type) to require :classifier - the maven classifier to require :scope - the maven scope for the dependency (default "compile") :optional - is the dependency optional? (default "false") :exclusions - which sub-dependencies to skip : [group/name & settings] settings: :classifier (default "*") :extension (default "*") :repositories - {name url ..} | {name settings ..} (defaults to {"central" "https://repo1.maven.org/maven2/"} settings: :url - URL of the repository :snapshots - use snapshots versions? (default true) :releases - use release versions? (default true) :username - username to log in with :password - password to log in with :passphrase - passphrase to log in wth :private-key-file - private key file to log in with :update - :daily (default) | :always | :never :checksum - :fail (default) | :ignore | :warn :local-repo - path to the local repository (defaults to ~/.m2/repository) :offline? - if true, no remote repositories will be contacted :transfer-listener - the transfer listener that will be notifed of dependency resolution and deployment events. Can be: - nil (the default), i.e. no notification of events - :stdout, corresponding to a default listener implementation that writes notifications and progress indicators to stdout, suitable for an interactive console program - a function of one argument, which will be called with a map derived from each event. - an instance of org.eclipse.aether.transfer.TransferListener :proxy - proxy configuration, can be nil, the host scheme and type must match :host - proxy hostname :type - http (default) | http | https :port - proxy port :non-proxy-hosts - The list of hosts to exclude from proxying, may be null :username - username to log in with, may be null :password - password to log in with, may be null :passphrase - passphrase to log in wth, may be null :private-key-file - private key file to log in with, may be null :mirrors - {matches settings ..} matches - a string or regex that will be used to match the mirror to candidate repositories. Attempts will be made to match the string/regex to repository names and URLs, with exact string matches preferred. Wildcard mirrors can be specified with a match-all regex such as #".+". Excluding a repository from mirroring can be done by mapping a string or regex matching the repository in question to nil. settings include these keys, and all those supported by :repositories: :name - name/id of the mirror :repo-manager - whether the mirror is a repository manager
(resolve-dependencies & args)
Same as resolve-dependencies*
, but returns a graph of dependencies; each
dependency's metadata contains the source Aether Dependency object, and
the dependency's :file on disk. Please refer to resolve-dependencies*
for details
on usage, or use it if you need access to Aether dependency resolution objects.
Same as `resolve-dependencies*`, but returns a graph of dependencies; each dependency's metadata contains the source Aether Dependency object, and the dependency's :file on disk. Please refer to `resolve-dependencies*` for details on usage, or use it if you need access to Aether dependency resolution objects.
(resolve-dependencies* &
{:keys [repositories coordinates managed-coordinates
files retrieve local-repo transfer-listener
offline? proxy mirrors repository-session-fn]
:or {retrieve true}})
Collects dependencies for the coordinates kwarg, using repositories from the
:repositories
kwarg.
Retrieval of dependencies can be disabled by providing :retrieve false
as a kwarg.
Returns an instance of either org.eclipse.aether.collection.CollectResult
if
:retrieve false
or org.eclipse.aether.resolution.DependencyResult
if
:retrieve true
(the default). If you don't want to mess with the Aether
implementation classes, then use resolve-dependencies
instead.
:coordinates - [[group/name <"version"> & settings] ..] settings: :extension - the maven extension (type) to require :classifier - the maven classifier to require :scope - the maven scope for the dependency (default "compile") :optional - is the dependency optional? (default "false") :exclusions - which sub-dependencies to skip : [group/name & settings] settings: :classifier (default "") :extension (default "")
:managed-coordinates - [[group/name "version"] ..]
Used to determine version numbers for any entries in :coordinates
that
don't explicitly specify them.
:repositories - {name url ..} | {name settings ..} (defaults to {"central" "https://repo1.maven.org/maven2/"} settings: :url - URL of the repository :snapshots - use snapshots versions? (default true) :releases - use release versions? (default true) :username - username to log in with :password - password to log in with :passphrase - passphrase to log in wth :private-key-file - private key file to log in with :update - :daily (default) | :always | :never :checksum - :fail (default) | :ignore | :warn
:local-repo - path to the local repository (defaults to ~/.m2/repository) :offline? - if true, no remote repositories will be contacted :transfer-listener - the transfer listener that will be notifed of dependency resolution and deployment events. Can be: - nil (the default), i.e. no notification of events - :stdout, corresponding to a default listener implementation that writes notifications and progress indicators to stdout, suitable for an interactive console program - a function of one argument, which will be called with a map derived from each event. - an instance of org.eclipse.aether.transfer.TransferListener
:proxy - proxy configuration, can be nil, the host scheme and type must match :host - proxy hostname :type - http (default) | http | https :port - proxy port :non-proxy-hosts - The list of hosts to exclude from proxying, may be null :username - username to log in with, may be null :password - password to log in with, may be null :passphrase - passphrase to log in wth, may be null :private-key-file - private key file to log in with, may be null
:mirrors - {matches settings ..} matches - a string or regex that will be used to match the mirror to candidate repositories. Attempts will be made to match the string/regex to repository names and URLs, with exact string matches preferred. Wildcard mirrors can be specified with a match-all regex such as #".+". Excluding a repository from mirroring can be done by mapping a string or regex matching the repository in question to nil. settings include these keys, and all those supported by :repositories: :name - name/id of the mirror :repo-manager - whether the mirror is a repository manager
Collects dependencies for the coordinates kwarg, using repositories from the `:repositories` kwarg. Retrieval of dependencies can be disabled by providing `:retrieve false` as a kwarg. Returns an instance of either `org.eclipse.aether.collection.CollectResult` if `:retrieve false` or `org.eclipse.aether.resolution.DependencyResult` if `:retrieve true` (the default). If you don't want to mess with the Aether implementation classes, then use `resolve-dependencies` instead. :coordinates - [[group/name <"version"> & settings] ..] settings: :extension - the maven extension (type) to require :classifier - the maven classifier to require :scope - the maven scope for the dependency (default "compile") :optional - is the dependency optional? (default "false") :exclusions - which sub-dependencies to skip : [group/name & settings] settings: :classifier (default "*") :extension (default "*") :managed-coordinates - [[group/name "version"] ..] Used to determine version numbers for any entries in `:coordinates` that don't explicitly specify them. :repositories - {name url ..} | {name settings ..} (defaults to {"central" "https://repo1.maven.org/maven2/"} settings: :url - URL of the repository :snapshots - use snapshots versions? (default true) :releases - use release versions? (default true) :username - username to log in with :password - password to log in with :passphrase - passphrase to log in wth :private-key-file - private key file to log in with :update - :daily (default) | :always | :never :checksum - :fail (default) | :ignore | :warn :local-repo - path to the local repository (defaults to ~/.m2/repository) :offline? - if true, no remote repositories will be contacted :transfer-listener - the transfer listener that will be notifed of dependency resolution and deployment events. Can be: - nil (the default), i.e. no notification of events - :stdout, corresponding to a default listener implementation that writes notifications and progress indicators to stdout, suitable for an interactive console program - a function of one argument, which will be called with a map derived from each event. - an instance of org.eclipse.aether.transfer.TransferListener :proxy - proxy configuration, can be nil, the host scheme and type must match :host - proxy hostname :type - http (default) | http | https :port - proxy port :non-proxy-hosts - The list of hosts to exclude from proxying, may be null :username - username to log in with, may be null :password - password to log in with, may be null :passphrase - passphrase to log in wth, may be null :private-key-file - private key file to log in with, may be null :mirrors - {matches settings ..} matches - a string or regex that will be used to match the mirror to candidate repositories. Attempts will be made to match the string/regex to repository names and URLs, with exact string matches preferred. Wildcard mirrors can be specified with a match-all regex such as #".+". Excluding a repository from mirroring can be done by mapping a string or regex matching the repository in question to nil. settings include these keys, and all those supported by :repositories: :name - name/id of the mirror :repo-manager - whether the mirror is a repository manager
(within? [dep version & opts :as coord] [sdep sversion & sopts :as scoord])
Determines if the first coordinate would be a version in the second coordinate. The first coordinate is not allowed to contain a version range.
Determines if the first coordinate would be a version in the second coordinate. The first coordinate is not allowed to contain a version range.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close