The library(prolog_pack)
provides the SWI-Prolog package
manager. This library lets you inspect installed packages, install
packages, remove packages, etc. This library complemented by the
built-in predicates such as attach_packs/2
that makes installed packages available as libraries.
The important functionality of this library is encapsulated in the app
pack
. For help, run
swipl pack help
Options processed:
installed(true)
.
|
false)false
, do not contact the server. This implies
installed(true)
. Otherwise, use the given pack server.
Hint: ?- pack_list('').
lists all known packages.
The predicates pack_list/1
and pack_search/1
are synonyms. Both contact the package server at https://www.swi-prolog.org
to find available packages. Contacting the server can be avoided using
the
server(false)
option.
http(s)
URL of an archive file name. This URL may
contain a star (*) for the version. In this case pack_install/1
asks for the directory content and selects the latest version.
file://
URL
'.'
, in which case a relative symlink is created to the
current directory (all other options for Spec make a copy of
the files). Installation using a symlink is normally used during
development of the pack.
pack_install(Pack, [upgrade(true)])
.true
delete dependencies without asking.
?- pack_publish('.', []).
Alternatively, an archive file has been uploaded to a public location. In this scenario we can publish the pack using
?- pack_publish(URL, [])
In both scenarios, pack_publish/2 by default creates an isolated environment and installs the package in this directory from the public URL. On success it triggers the pack server to register the URL as a new pack or a new release of a pack.
Packs may also be published using the app pack
,
e.g.
swipl pack publish .
Options:
true
, and Spec is a git managed directory,
install using the remote repo.
git tag -s <tag>
.
git tag -f <tag>
.
false
(default true
), perform the
installation, but do not upload to the server. This can be used for
testing.
true
(default), install and build all packages in an
isolated package directory. If false
, use other packages
installed for the environment. The latter may be used to speedup
debugging.
true
(default), clean the destination directory first
README
file (if present)
TODO
file (if present)