Browse Source

Merge pull request #28215 from dnephin/validate-swagger-gen

Add validate/swagger-gen
Brian Goff 8 years ago
parent
commit
9e2d4f91d4
2 changed files with 31 additions and 0 deletions
  1. 1 0
      hack/validate/default
  2. 30 0
      hack/validate/swagger-gen

+ 1 - 0
hack/validate/default

@@ -10,6 +10,7 @@ export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 . $SCRIPTDIR/lint
 . $SCRIPTDIR/pkg-imports
 . $SCRIPTDIR/swagger
+. $SCRIPTDIR/swagger-gen
 . $SCRIPTDIR/test-imports
 . $SCRIPTDIR/toml
 . $SCRIPTDIR/vet

+ 30 - 0
hack/validate/swagger-gen

@@ -0,0 +1,30 @@
+#!/bin/bash
+
+export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source "${SCRIPTDIR}/.validate"
+
+IFS=$'\n'
+files=( $(validate_diff --diff-filter=ACMR --name-only -- 'api/types/' || true) )
+unset IFS
+
+if [ ${#files[@]} -gt 0 ]; then
+	# We run vndr to and see if we have a diff afterwards
+	${SCRIPTDIR}/../generate-swagger-api.sh 2> /dev/null
+	# Let see if the working directory is clean
+	diffs="$(git status --porcelain -- api/types/ 2>/dev/null)"
+	if [ "$diffs" ]; then
+		{
+			echo 'The result of hack/geneate-swagger-api.sh differs'
+			echo
+			echo "$diffs"
+			echo
+			echo 'Please update api/swagger.yaml with any api changes, then '
+			echo 'run `hack/geneate-swagger-api.sh`.'
+		} >&2
+		false
+	else
+		echo 'Congratulations! All api changes are done the right way.'
+	fi
+else
+    echo 'No api/types/ changes in diff.'
+fi