package opam-query
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=3582fdebbc65e7262a44689156672f52b9e213c1d6f26b632152f781912e5a0d
md5=3b0ce3651024dd85a21cdf281c51f5ac
README.md.html
opam-query
opam-query is a tool that allows querying the OPAM package description files from shell scripts, similar to oasis query
.
Installation
opam-query can be installed via OPAM:
$ opam install opam-query
Usage
opam-query reads the OPAM package description from the provided filename (opam
from the current directory by default) and prints the requested fields, one per line.
--name
,--version
and--dev-repo
print the value of the correponding field.--maintainer
,--author
,--homepage
,--bug-report
and--license
print the values of the correponding field, concatenated by,
.--tags
prints the values of thetags:
field, concatenated by--name-version
prints the values ofname:
andversion:
, concatenated by.
.--archive
will attempt to determine a public download URL based on the value ofdev-repo:
andversion:
fields. Currently, only GitHub is supported.--tag-format
allows to customize the tag name;$(version)
is replaced by the value of theverison:
field.
Automating package releases
opam-query can be used together with opam-publish to automate the process of releasing OPAM packages. For example, if you have a Makefile
and are using GitHub, the following snippet will require nothing more than modifying the version:
field and running make release
.
VERSION := $$(opam query --version)
NAME_VERSION := $$(opam query --name-version)
ARCHIVE := $$(opam query --archive)
release:
git tag -a v$(VERSION) -m "Version $(VERSION)."
git push origin v$(VERSION)
opam publish prepare $(NAME_VERSION) $(ARCHIVE)
opam publish submit $(NAME_VERSION)
rm -rf $(NAME_VERSION)
.PHONY: release
License
opam-query is distributed under the terms of MIT license.