package dune-release

  1. Overview
  2. Docs

Description

dune-release is a tool to streamline the release of Dune packages in opam. It supports only projects be built with Dune and released on GitHub.

Published: 10 Jul 2018

README

dune-release: release dune packages in opam

dune-release is a tool to streamline the release of Dune packages in opam. It supports only projects be built with Dune and released on GitHub.

Installation

dune-release can be installed with opam:

opam install dune-release

Documentation

A basic introduction and API reference is automatically generated by odoc from the interfaces. It can be consulted online.

The dune-release command line tool is extensively documented in man pages available through it's help system. Type:

dune-release help release # for help about releasing your package
dune-release help         # for more help

For instance:

$ dune-release help release

NAME
       dune-release - How to release a (dune) package

DESCRIPTION
       The basic release script is the following. Each step is refined and
       explained with more details below.

       dune-release status        # Review the changes since last version
       dune-release log edit      # Write the release notes
       dune-release log commit    # Commit the release notes
       dune-release tag           # Tag the distribution with a version
       dune-release distrib       # Create the distribution archive
       dune-release publish       # Publish it on the WWW with its documentation
       dune-release opam pkg      # Create an opam package
       dune-release opam submit   # Submit it to OCaml's opam repository

       The last four steps can be performed via a single invocation to
       dune-release-bistro(1).

Important Notes

Most of the code in this repository has been written and has already been released part of the topkg tool.

The main differences between dune-release and topkg are:

  • Remove pkg/pkg.ml;

  • Assume the project is built with dune;

  • Bundle everything as a single binary;

  • Use of Astring, Logs, Fpath andBos;

  • Remove the IPC layer (which is used between topkg and topkg-care);

Dependencies (10)

  1. odoc
  2. logs
  3. rresult
  4. opam-format
  5. re
  6. cmdliner < "1.1.0"
  7. bos
  8. fmt < "0.8.7"
  9. jbuilder >= "1.0+beta7"
  10. ocaml >= "4.06.0"

Dev Dependencies

None

Used by (3)

  1. kicadsch >= "0.4.0" & < "0.5.1"
  2. plotkicadsch >= "0.4.0" & < "0.5.1"
  3. spectrum < "0.2.0"

Conflicts

None