Go to file
Wolfgang Bumiller b0ef405186 api: add test-harness feature
If enabled, the Schema type implements Eq and PartialEq for
testing the api macro better.

Note that these implementations don't make all too much
since since they also compare `dyn Fn` types which do not
implement Eq. Since they're also `&'static` they can't
really be runtime closures, so this should be fine, we know
they'll always point to some regular function.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-08 10:38:30 +01:00
.cargo cargo: switch to use packaged crates by default 2020-01-03 09:39:52 +01:00
proxmox version bump 2020-01-02 14:42:28 +01:00
proxmox-api api: add test-harness feature 2020-01-08 10:38:30 +01:00
proxmox-api-macro api-macro: support empty api macro on structs 2020-01-08 10:09:42 +01:00
proxmox-sortable-macro proxmox-sortable-macro: initial packaging 2019-12-20 09:39:45 +01:00
proxmox-sys version bump 2020-01-02 14:42:28 +01:00
proxmox-tools tools: remove accidentally commited debian/files 2020-01-03 07:28:24 +01:00
.gitignore import Cargo.lock 2019-08-09 08:44:48 +02:00
Cargo.toml delete the old api macro stuff 2019-11-21 13:13:18 +01:00
Makefile run 'cargo fmt -- --check' in check target 2019-11-25 15:08:53 +01:00
README.rst cargo: switch to use packaged crates by default 2020-01-03 09:39:52 +01:00
rust-toolchain update toolchain to stable 2019-11-08 11:51:21 +01:00
rustfmt.toml initial import, starting with vec & io helpers 2019-06-06 14:00:25 +02:00

Versioning
==========

Note that the following applies *per crate*, since each crate is its own debian package:

The first commit after a release should bump the version to the next patch level with a ``-dev.1``
suffix for the crate *and for the proxmox crate*, as well as all crates depending on it. For
instance, ``proxmox-api`` depends on ``proxmox-tools``, so bumpgin ``proxmox-tools`` to a new `dev`
version also requires bumping ``proxmox-api`` to a new dev version, since cargo requires
pre-release versions to be selected explicitly:

    First commit after release: 0.1.0 -> 0.1.1-dev.1
    Version bump commit: 0.1.1-dev.1 -> 0.1.1

It is unlikely that we'll need more than one .dev version, but it may be useful at some point, so
we'll include teh ``.1``.

When releasing a crate, the final commit should be the one stripping the ``-dev`` version and
updating the ``debian/changelog``.

Local cargo config
==================

This repository ships with a ``.cargo/config`` that replaces the crates.io
registry with packaged crates located in ``/usr/share/cargo/registry``.

A similar config is also applied building with dh_cargo. Cargo.lock needs to be
deleted when switching between packaged crates and crates.io, since the
checksums are not compatible.

To reference new dependencies (or updated versions) that are not yet packaged,
the dependency needs to point directly to a path or git source.