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:
Erik Hollensbe
2021-07-28 20:30:03 -07:00
parent ba793acbe3
commit dd21259227
3 changed files with 37 additions and 7 deletions
+18
View File
@@ -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]
+3 -5
View File
@@ -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
View File
@@ -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