SemanticSearchPOC / tools /gen-code-from-swagger.sh
KevinStephenson
Adding in weaviate code
b110593
raw
history blame
2.02 kB
#!/bin/bash
set -eou pipefail
# Version of go-swagger to use.
version=v0.30.4
# Always points to the directory of this script.
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
SWAGGER=$DIR/swagger-${version}
GOARCH=$(go env GOARCH)
GOOS=$(go env GOOS)
if [ ! -f "$SWAGGER" ]; then
if [ "$GOOS" = "linux" ]; then
curl -o "$SWAGGER" -L'#' https://github.com/go-swagger/go-swagger/releases/download/$version/swagger_"$(echo `uname`|tr '[:upper:]' '[:lower:]')"_"$GOARCH"
else
curl -o "$SWAGGER" -L'#' https://github.com/go-swagger/go-swagger/releases/download/$version/swagger_"$(echo `uname`|tr '[:upper:]' '[:lower:]')"_amd64
fi
chmod +x "$SWAGGER"
fi
# Always install goimports to ensure that all parties use the same version
go install golang.org/x/tools/cmd/[email protected]
# Explicitly get yamplc package
(go get github.com/go-openapi/runtime/[email protected])
# Remove old stuff.
(cd "$DIR"/..; rm -rf entities/models client adapters/handlers/rest/operations/)
(cd "$DIR"/..; $SWAGGER generate server --name=weaviate --model-package=entities/models --server-package=adapters/handlers/rest --spec=openapi-specs/schema.json -P models.Principal --default-scheme=https --struct-tags=yaml --struct-tags=json)
(cd "$DIR"/..; $SWAGGER generate client --name=weaviate --model-package=entities/models --spec=openapi-specs/schema.json -P models.Principal --default-scheme=https)
echo Generate Deprecation code...
(cd "$DIR"/..; GO111MODULE=on go generate ./deprecations)
echo Now add the header to the generated code too.
(cd "$DIR"/..; GO111MODULE=on go run ./tools/license_headers/main.go)
# goimports and exlucde hidden files and proto auto generate files
(cd "$DIR"/..; goimports -w $(find . -type f -name '*.go' -not -name '*pb.go' -not -path './vendor/*' -not -path "./.*/*"))
CHANGED=$(git status -s | wc -l)
if [ "$CHANGED" -gt 0 ]; then
echo "There are changes in the files that need to be committed:"
git status -s
fi
echo Success