diff --git a/Cargo.toml.template b/Cargo.toml.template new file mode 100644 index 0000000..2e81dc0 --- /dev/null +++ b/Cargo.toml.template @@ -0,0 +1,18 @@ +[package] +name = "@@PACKAGE@@" +version = "@@VERSION@@" +edition = "2018" +description = "@@DESCRIPTION@@" +authors = ["Erik Hollensbe ", "Adam Ierymenko "] +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] diff --git a/Makefile b/Makefile index ae77d6f..5ad9d59 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/generate.sh b/generate.sh index 4a77a25..ae18529 100644 --- a/generate.sh +++ b/generate.sh @@ -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