An open API service indexing awesome lists of open source software.

https://github.com/palantir/conjure-rust

Conjure support for Rust
https://github.com/palantir/conjure-rust

octo-correct-managed

Last synced: 2 months ago
JSON representation

Conjure support for Rust

Awesome Lists containing this project

README

        


Autorelease

# Conjure-Rust

[![CircleCI](https://circleci.com/gh/palantir/conjure-rust.svg?style=shield)](https://circleci.com/gh/palantir/conjure-rust) [![Bintray](https://img.shields.io/bintray/v/palantir/releases/conjure-rust.svg)](https://bintray.com/palantir/releases/conjure-rust/_latestVersion) [![License](https://img.shields.io/badge/License-Apache%202.0-lightgrey.svg)](https://opensource.org/licenses/Apache-2.0)

_[Conjure](https://github.com/palantir/conjure) support for Rust._

## conjure-rust

`conjure-rust` is an [RFC 002](
https://github.com/palantir/conjure/blob/master/docs/rfc/002-contract-for-conjure-generators.md)-compliant CLI, which can
be used via a build tool like [gradle-conjure](https://github.com/palantir/gradle-conjure), or manually:

```
Generate Rust code from a conjure IR file

Usage: conjure-rust generate [OPTIONS]

Arguments:
Path to a JSON-formatted Conjure IR file
Directory to place generated code

Options:
--exhaustive[=]
Generate exhaustively matchable enums and unions [default: false] [possible values: true, false]
--serializeEmptyCollections[=]
Include empty collection fields in serialized output [default: false] [possible values: true, false]
--stripPrefix
Strip a prefix from types's package paths
--productName
The name of the product
--productVersion
The version of the product
--crateVersion
The version of the generated crate. Defaults to `--productVersion`
-h, --help
Print help
```

## conjure-codegen

[Documentation](https://docs.rs/conjure-codegen)

`conjure-codegen` is the library which turns a Conjure IR file into Rust code. It powers the `conjure-rust` CLI, but
can also be used on its own in e.g. build scripts as an alternative approach. See its documentation for more details, as
well as examples of generated code.

## conjure-error

[Documentation](https://docs.rs/conjure-error)

`conjure-error` is the runtime support library that the errors generated by `conjure-codegen` depend on. It defines
various standard error types and functionality to serialize and deserialize errors.

## conjure-http

[Documentation](https://docs.rs/conjure-http)

`conjure-http` is the runtime support library that the service clients and resources generated by `conjure-codegen`
depend on. It defines interfaces used by the underlying client and server implementations.

## conjure-object

[Documentation](https://docs.rs/conjure-object)

`conjure-object` is the runtime support library that the objects generated by `conjure-codegen` depend on. It reexports
the various third party types that correspond to Conjure primitives.

## conjure-serde

[Documentation](https://docs.rs/conjure-serde)

`conjure-serde` provides wrapper types for serde `Serializer`s and `Deserializer`s which adjust behavior to match
Conjure's expectations around binary data, non-finite floating point values, and unknown fields.