package opam-publish

  1. Overview
  2. Docs
A tool to ease contributions to opam repositories

Install

Dune Dependency

Authors

Maintainers

Sources

2.0.2.tar.gz
md5=427f0b07fccf62a817557df4a2808f58
sha512=7e17847725af22e4cdee2c998b798010e0486c27321e4fcf61adf5306536b784e71814f36b39eb9931105939a8e5009494fcd2d4840203344cdfc59d1f294a48

Description

Opam-publish automates publishing packages to package repositories: it checks that the opam file is complete using opam lint, verifies and adds the archive URL and its checksum and files a GitHub pull request for merging it.

Published: 09 Dec 2019

README

opam-publish

A tool to ease contributions to opam repositories.

opam-publish takes package definition files of your projects, and submits them to opam package repositories (ocaml/opam-repository by default).

Prerequisites

This version is for opam 2.0.0, and should not be used with repositories in older formats. A Github account is required. opam repository is cloned over ssh, you need to have your ssh keys registered in your Github account.

Usage

Basic case, assuming your project is on Github

The same works for initial publications, new releases, and updates.

The following should be run from the source directory of your project

  1. Make sure you have an opam file, or NAME.opam files at the root of your project

  2. Create a tag: git tag -a TAG; git push origin TAG

  3. Run opam publish. This will install the tool if required.

You will be guided through the rest (creating a Github token the first time, reviewing the patch, etc.)

Additional possibilities

If your project is not on Github, you can specify the archive URL on the command-line.

If the opam files are not in the archive, or outdated, you can specify them on the command-line, or specify a directory where to look for them (e.g. opam publish URL .).

Submitting to other repositories is possible, as long as they are on Github. See the --repo option.

Updating already published packages is also allowed (as long as they don't use a files/ subdirectory)..

See opam publish --help for more options.

Dependencies (11)

  1. tls < "1.0.0"
  2. ssl = "0.5.5"
  3. github-unix >= "2.0.0" & < "4.3.0" | >= "4.3.2"
  4. github >= "2.0.0" & < "4.3.0" | >= "4.3.2"
  5. opam-state >= "2.0.0" & < "2.1"
  6. opam-format >= "2.0.0" & < "2.1"
  7. opam-core >= "2.0.0" & < "2.1"
  8. ocaml >= "4.03.0"
  9. lwt_ssl
  10. dune >= "1.0"
  11. cmdliner

Dev Dependencies

None

Used by (3)

  1. dune-release < "0.2.0"
  2. publish >= "0.3.4+transition"
  3. spectrum < "0.2.0"

Conflicts

None

OCaml

Innovation. Community. Security.