diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 6219174..6cac7eb 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -52,7 +52,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: readme - path: README.adoc + path: README.md - name: Collect quality artifacts uses: anotherdaniel/quevee@v0.2.0 @@ -133,7 +133,7 @@ jobs: id: upload_readme with: repo_token: ${{ secrets.GITHUB_TOKEN }} - file: README.adoc + file: README.md tag: ${{ github.ref }} - name: Gets latest created release info diff --git a/Cargo.lock b/Cargo.lock index e405255..61d6bbb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1334,7 +1334,7 @@ dependencies = [ [[package]] name = "up-rust" -version = "0.1.0" +version = "0.1.1" dependencies = [ "async-trait", "bytes", diff --git a/Cargo.toml b/Cargo.toml index a889a4e..6346265 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,10 +30,10 @@ exclude = [ keywords = ["uProtocol", "SDK", "communication"] license = "Apache-2.0" name = "up-rust" -readme = "README.adoc" +readme = "README.md" repository = "https://github.com/eclipse-uprotocol/up-rust" rust-version = "1.74.1" -version = "0.1.0" +version = "0.1.1" [features] default = ["communication"] diff --git a/README.adoc b/README.adoc deleted file mode 100644 index 1410062..0000000 --- a/README.adoc +++ /dev/null @@ -1,75 +0,0 @@ -= Eclipse uProtocol Rust library -:toc: preamble -:sectnums: -:source-highlighter: highlight.js - ----- -SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation - -See the NOTICE file(s) distributed with this work for additional -information regarding copyright ownership. - -This program and the accompanying materials are made available under -the terms of the Apache License Version 2.0 which is available at -https://www.apache.org/licenses/LICENSE-2.0 - -SPDX-FileType: DOCUMENTATION -SPDX-License-Identifier: Apache-2.0 ----- -== Overview - -This crate is the https://github.com/eclipse-uprotocol/uprotocol-spec/blob/main/languages.adoc[uProtocol Language Library] for the Rust programming language. - -The crate can be used to - -* implement uEntities that communicate with each other using the uProtocol https://github.com/eclipse-uprotocol/up-spec/blob/main/up-l2/api.adoc[Communication Layer API] over one of the supported transport protocols. -* implement support for an additional transport protocol by means of implementing the https://github.com/eclipse-uprotocol/up-spec/blob/main/up-l1/README.adoc[Transport Layer API]. - -[.specitem,oft-sid="uman~up-language-building~1",oft-covers="req~up-language-documentation~1"] -== Building - -[.specitem,oft-sid="impl~use-cargo-build-system~1",oft-covers="req~up-language-build-sys~1,req~up-language-build-deps~1"] --- -The crate can be built using the https://doc.rust-lang.org/cargo/[Cargo package manager] from the root folder: - -[example] ----- -cargo build ----- --- - -The build requires an active connection to the internet because it needs to download and compile https://github.com/eclipse-uprotocol/up-spec/tree/main/up-core-api[uProtocol protobuf files] which define many of the core types used throughout the library. - -The crate has some (optional) _features_ as documented in link:src/lib.rs[lib.rs]). - -VSCode can be instructed to build all features automatically by means of putting the following into `./vscode/settings.json`: - -[source,json] ----- -{ - "rust-analyzer.cargo.features": "all" -} ----- - -=== Generating API Documentation - -The API documentation can be generated using - -[example] ----- -cargo doc --no-deps --all-features --open ----- - -[.specitem,oft-sid="uman~up-language-using~1",oft-covers="req~up-language-documentation~1"] -== Using the Crate - -The crate needs to be added to the `[dependencies]` section of the `Cargo.toml` file: - -[source,toml] ----- -[dependencies] -up-rust = { version = "0.1" } ----- - -Most developers will want to use the Communication Level API and its default implementation -which are provided by `communication` module. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1aadeb4 --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# Eclipse uProtocol Rust library + +This is the [uProtocol v1.6.0-alpha.2 Language Library](https://github.com/eclipse-uprotocol/uprotocol-spec/blob/v1.6.0-alpha.2/languages.adoc) for the Rust programming language. + +The crate can be used to + +* implement uEntities that communicate with each other using the uProtocol [Communication Layer API](https://github.com/eclipse-uprotocol/up-spec/blob/v1.6.0-alpha.2/up-l2/api.adoc) over one of the supported transport protocols. +* implement support for an additional transport protocol by means of implementing the [Transport Layer API](https://github.com/eclipse-uprotocol/up-spec/blob/v1.6.0-alpha.2/up-l1/README.adoc). + +## Building + + +The crate can be built using the [Cargo package manager](https://doc.rust-lang.org/cargo/) from the root folder: + + +```sh +cargo build +``` + +The build requires an active connection to the internet because it needs to download and compile [uProtocol protobuf files](https://github.com/eclipse-uprotocol/up-spec/tree/v1.6.0-alpha.2/up-core-api) which define many of the core types used throughout the library. + +The crate has some (optional) _features_ as documented in [lib.rs](src/lib.rs). + +VSCode can be instructed to build all features automatically by means of putting the following into `./vscode/settings.json`: + +```json +{ + "rust-analyzer.cargo.features": "all" +} +``` + +### Generating API Documentation + +The API documentation can be generated using + +```sh +cargo doc --no-deps --all-features --open +``` + +## Using the Crate + +The crate needs to be added to the `[dependencies]` section of the `Cargo.toml` file: + +```toml +[dependencies] +up-rust = { version = "0.1" } +``` + +Most developers will want to use the Communication Level API and its default implementation +which are provided by `communication` module. + +## License + +The crate is published under the terms of the [Apache License 2.0](LICENSE). + +## Contributing + +Contributions are more than welcome. Please refer to the [Contribution Guide](CONTRIBUTING.md).