package opam-query

  1. Overview
  2. Docs
A tool to query opam files from shell scripts

Install

Dune Dependency

Authors

Maintainers

Sources

v1.3.tar.gz
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 the tags: field, concatenated by .

  • --name-version prints the values of name: and version:, concatenated by ..

  • --archive will attempt to determine a public download URL based on the value of dev-repo: and version: fields. Currently, only GitHub is supported. --tag-format allows to customize the tag name; $(version) is replaced by the value of the verison: 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.