39 lines
943 B
Bash
39 lines
943 B
Bash
#!/bin/bash
|
|
|
|
# 1. Check and install swagger if not exists
|
|
if ! command -v swagger &> /dev/null; then
|
|
echo "swagger not found, installing from GitHub..."
|
|
# Using go-swagger installation method
|
|
go install github.com/go-swagger/go-swagger/cmd/swagger@latest
|
|
if [ $? -ne 0 ]; then
|
|
echo "Failed to install swagger"
|
|
exit 1
|
|
fi
|
|
echo "swagger installed successfully"
|
|
else
|
|
echo "swagger already installed"
|
|
fi
|
|
|
|
mkdir bin output
|
|
|
|
export GOBIN=$(pwd)/bin
|
|
|
|
# 2. Install latest goctl version
|
|
go install ../../..
|
|
if [ $? -ne 0 ]; then
|
|
echo "Failed to install goctl"
|
|
exit 1
|
|
fi
|
|
echo "goctl installed successfully"
|
|
|
|
# 3. Generate swagger files
|
|
echo "Generating swagger files..."
|
|
./bin/goctl api swagger --api example.api --dir output
|
|
if [ $? -ne 0 ]; then
|
|
echo "Failed to generate swagger files"
|
|
exit 1
|
|
fi
|
|
|
|
# 4. Start swagger server
|
|
echo "Starting swagger server..."
|
|
swagger serve ./output/example.json |