-
Notifications
You must be signed in to change notification settings - Fork 46
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Ronald Holshausen
committed
Jul 7, 2021
1 parent
2e6c446
commit 21b2a70
Showing
2 changed files
with
157 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,75 @@ | ||
# pact-reference | ||
[](https://github.com/pact-foundation/pact-reference/actions?query=workflow%3A%22Pact-Rust+Build%22) | ||
 | ||
|
||
[](https://github.com/pact-foundation/pact-reference/actions?query=workflow%3A%22Pact-Rust+Build%22) | ||
[](https://ci.appveyor.com/project/pact-foundation/pact-reference) | ||
|
||
Reference implementations for Pact Specification | ||
# Pact Reference Implementation | ||
> Reference implementations for Pact Specification written in Rust | ||
This project contains a reference implementation of the [Pact specifications](https://github.com/pact-foundation/pact-specification) | ||
written in Rust, as well as example projects in JavaScript and C (and a few others) that use the mock server library. | ||
|
||
## Usage | ||
|
||
### Rust | ||
|
||
For Rust projects, you can use the Rust crates from this library in your project directly. Refer to the [Rust project | ||
readme](rust/README.md). | ||
|
||
### Other languages | ||
|
||
This project contains dynamic libraries that expose the core functionality through FFI (Foreign Function Interface). | ||
|
||
For examples: | ||
* [Javascript](javascript) | ||
* [C](c/consumer-verification) | ||
* [Ruby](ruby/example_consumer_spec) | ||
* [PHP](php) | ||
|
||
## Building | ||
|
||
To build the libraries in this project, you need a working Rust environment. Refer to the [Rust Guide](https://www.rust-lang.org/learn/get-started). | ||
|
||
The build tool used is `cargo`. | ||
|
||
```shell | ||
cd rust | ||
cargo build | ||
``` | ||
|
||
This will compile all the libraries and put the generated files in `rust/target/debug`. | ||
|
||
## Contributing | ||
|
||
When you publish something open source, one of the greatest motivations is that | ||
anyone can just jump in and start contributing to your project. | ||
|
||
These paragraphs are meant to welcome those kind souls to feel that they are | ||
needed. You should state something like: | ||
|
||
"If you'd like to contribute, please fork the repository and use a feature | ||
branch. Pull requests are warmly welcome." | ||
|
||
If there's anything else the developer needs to know (e.g. the code style | ||
guide), you should link it here. If there's a lot of things to take into | ||
consideration, it is common to separate this section to its own file called | ||
`CONTRIBUTING.md` (or similar). If so, you should say that it exists here. | ||
|
||
## Documentation | ||
|
||
Rust library documentation is published to the Rust documentation site. Refer to the [Rust project README](rust/README.md). | ||
|
||
This project contains a reference implementations of the [Pact specifications](https://github.com/pact-foundation/pact-specification) | ||
written in Rust, as well as example projects in JavaScript and C that use the mock server library. | ||
Additional documentation can be found at the main [Pact website](https://pact.io). | ||
|
||
This is the [V3 implementation](https://github.com/pact-foundation/pact-specification/tree/version-3). For [V1 Specification implementation](https://github.com/pact-foundation/pact-specification/tree/version-1) go to the [v1-spec branch](https://github.com/pact-foundation/pact-reference/tree/v1-spec), and for [V1.1 Specification implementation](https://github.com/pact-foundation/pact-specification/tree/version-1.1) go to the [v1.1-spec branch](https://github.com/pact-foundation/pact-reference/tree/v1.1-spec). For [V2 Pact specification](https://github.com/pact-foundation/pact-specification/tree/version-2), | ||
have a look at the [V2 Branch](https://github.com/pact-foundation/pact-reference/tree/v2-spec) | ||
## Contact | ||
|
||
[Rust Implementation](rust) | ||
Join us in slack: [](https://slack.pact.io) | ||
|
||
[JavaScript Example](javascript) | ||
or | ||
|
||
[C Example](c/consumer-verification) | ||
- Twitter: [@pact_up](https://twitter.com/pact_up) | ||
- Stack Overflow: [stackoverflow.com/questions/tagged/pact](https://stackoverflow.com/questions/tagged/pact) | ||
|
||
[Ruby Example](ruby/example_consumer_spec) | ||
## Licensing | ||
|
||
[PHP Example](php) | ||
The code in this project is licensed under a MIT license. See [LICENSE](LICENSE). |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.