mirror of
https://github.com/zerotier/zerotier-rust-api.git
synced 2026-05-22 16:26:25 -07:00
Support better templating of the Cargo.toml
The one openapi-generator generates always has to be edited; so I came up with this solution for now. Usage: This will pull down the specs and build a fresh client based on them and the latest openapi-generator: VERSION=x.x.x make ['central' or 'service'] Notably, this template will need to be maintained to manage authors and dependencies. Signed-off-by: Erik Hollensbe <linux@hollensbe.org> Makefile: update to support descriptions Signed-off-by: Erik Hollensbe <linux@hollensbe.org> meh Signed-off-by: Erik Hollensbe <linux@hollensbe.org> asdf Signed-off-by: Erik Hollensbe <linux@hollensbe.org>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
[package]
|
||||
name = "@@PACKAGE@@"
|
||||
version = "@@VERSION@@"
|
||||
edition = "2018"
|
||||
description = "@@DESCRIPTION@@"
|
||||
authors = ["Erik Hollensbe <erik.hollensbe@zerotier.com>", "Adam Ierymenko <adam.ierymenko@zerotier.com>"]
|
||||
license = "BSD-3-Clause"
|
||||
|
||||
[dependencies]
|
||||
serde = "^1.0"
|
||||
serde_derive = "^1.0"
|
||||
serde_json = "^1.0"
|
||||
url = "^2.2"
|
||||
[dependencies.reqwest]
|
||||
version = "^0.11"
|
||||
features = ["json", "multipart"]
|
||||
|
||||
[dev-dependencies]
|
||||
@@ -1,9 +1,7 @@
|
||||
generate: central service
|
||||
|
||||
central:
|
||||
bash generate.sh central zerotier-central-api
|
||||
@DESCRIPTION="OpenAPI bindings to the ZeroTier Central (https:\/\/my.zerotier.com) service" bash generate.sh central zerotier-central-api
|
||||
|
||||
service:
|
||||
bash generate.sh service zerotier-one-api
|
||||
@DESCRIPTION="OpenAPI bindings to the ZeroTierOne JSON API" bash generate.sh service zerotier-one-api
|
||||
|
||||
.PHONY: generate central service
|
||||
.PHONY: central service
|
||||
|
||||
+16
-2
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -x -euo pipefail
|
||||
set -eo pipefail
|
||||
|
||||
if [ "x$1" = "x" ]
|
||||
then
|
||||
@@ -8,6 +8,18 @@ then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "x$VERSION" = "x" ]
|
||||
then
|
||||
echo "Please supply a version in VERSION= in plain semver format (e.g., 1.2.3)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "x$DESCRIPTION" = "x" ]
|
||||
then
|
||||
echo "Please supply a package description in DESCRIPTION="
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PACKAGE=$1
|
||||
PREFIX=$2
|
||||
|
||||
@@ -22,4 +34,6 @@ docker run --rm -u $(id -u):$(id -g) -v ${PWD}/${PREFIX}:/swagger openapitools/o
|
||||
-g rust \
|
||||
-o /swagger
|
||||
|
||||
grep -v default-features ${PREFIX}/Cargo.toml > tmp && mv tmp ${PREFIX}/Cargo.toml
|
||||
sed -e "s/@@PACKAGE@@/${PREFIX}/g" Cargo.toml.template | \
|
||||
sed -e "s/@@VERSION@@/${VERSION}/g" | \
|
||||
sed -e "s/@@DESCRIPTION@@/${DESCRIPTION}/g" > ${PREFIX}/Cargo.toml
|
||||
|
||||
Reference in New Issue
Block a user