From f148100b073b5de990b69fe374db9d361b16a623 Mon Sep 17 00:00:00 2001 From: Tibor Vass Date: Sat, 3 Jun 2017 01:51:00 +0000 Subject: [PATCH] Add scripts and targets for manpages and yamldocs Signed-off-by: Tibor Vass (cherry picked from commit ff615dbc4d01b0115e4658ee1a0ed6809b5f88ae) --- components/cli/.gitignore | 4 ++++ components/cli/Makefile | 14 ++++++++++++-- components/cli/docker.Makefile | 10 ++++++++++ .../generate.sh => scripts/docs/generate-man.sh} | 10 ++++++++++ components/cli/scripts/docs/generate-yaml.sh | 5 +++++ 5 files changed, 41 insertions(+), 2 deletions(-) rename components/cli/{man/generate.sh => scripts/docs/generate-man.sh} (53%) create mode 100755 components/cli/scripts/docs/generate-yaml.sh diff --git a/components/cli/.gitignore b/components/cli/.gitignore index 4a65c2279c..61ba554f2d 100644 --- a/components/cli/.gitignore +++ b/components/cli/.gitignore @@ -2,3 +2,7 @@ /build/ cli/winresources/rsrc_386.syso cli/winresources/rsrc_amd64.syso +/man/man1/ +/man/man5/ +/man/man8/ +/docs/yaml/gen/ diff --git a/components/cli/Makefile b/components/cli/Makefile index 5fa928f50b..cda2229dee 100644 --- a/components/cli/Makefile +++ b/components/cli/Makefile @@ -7,13 +7,13 @@ all: binary # remove build artifacts .PHONY: clean clean: - @rm -rf ./build/* cli/winresources/rsrc_* + @rm -rf ./build/* cli/winresources/rsrc_* ./man/man[1-9] docs/yaml/gen # run go test # the "-tags daemon" part is temporary .PHONY: test test: - @go test -tags daemon -v $(shell go list ./... | grep -v /vendor/) + @go test -tags daemon -v $(shell go list ./... | grep -v '/vendor/') .PHONY: lint lint: @@ -42,6 +42,16 @@ vendor: vendor.conf @vndr 2> /dev/null @scripts/validate/check-git-diff vendor +## generate man pages from go source and markdown +.PHONY: manpages +manpages: + @scripts/docs/generate-man.sh + +## generate documentation YAML files consumed by docs repo +.PHONY: yamldocs +yamldocs: + @scripts/docs/generate-yaml.sh + cli/compose/schema/bindata.go: cli/compose/schema/data/*.json go generate github.com/docker/cli/cli/compose/schema diff --git a/components/cli/docker.Makefile b/components/cli/docker.Makefile index 6781a78e5c..cd98e19467 100644 --- a/components/cli/docker.Makefile +++ b/components/cli/docker.Makefile @@ -68,5 +68,15 @@ lint: build_linter_image vendor: build_docker_image vendor.conf @docker run -ti --rm $(MOUNTS) $(DEV_DOCKER_IMAGE_NAME) make vendor +## generate man pages from go source and markdown +.PHONY: manpages +manpages: build_docker_image + @docker run -ti --rm $(MOUNTS) $(DEV_DOCKER_IMAGE_NAME) make manpages + +## Generate documentation YAML files consumed by docs repo +.PHONY: yamldocs +yamldocs: build_docker_image + @docker run -ti --rm $(MOUNTS) $(DEV_DOCKER_IMAGE_NAME) make yamldocs + dynbinary: build_cross_image docker run --rm $(ENVVARS) $(MOUNTS) $(CROSS_IMAGE_NAME) make dynbinary diff --git a/components/cli/man/generate.sh b/components/cli/scripts/docs/generate-man.sh similarity index 53% rename from components/cli/man/generate.sh rename to components/cli/scripts/docs/generate-man.sh index 905b2d7baf..e955130559 100755 --- a/components/cli/man/generate.sh +++ b/components/cli/scripts/docs/generate-man.sh @@ -7,6 +7,16 @@ set -eu mkdir -p ./man/man1 +MD2MAN_REPO=github.com/cpuguy83/go-md2man +MD2MAN_COMMIT=$(grep -F "$MD2MAN_REPO" vendor.conf | cut -d' ' -f2) + +( + go get -d "$MD2MAN_REPO" + cd "$GOPATH"/src/"$MD2MAN_REPO" + git checkout "$MD2MAN_COMMIT" &> /dev/null + go install "$MD2MAN_REPO" +) + # Generate man pages from cobra commands go build -o /tmp/gen-manpages ./man /tmp/gen-manpages --root . --target ./man/man1 diff --git a/components/cli/scripts/docs/generate-yaml.sh b/components/cli/scripts/docs/generate-yaml.sh new file mode 100755 index 0000000000..c322071bcf --- /dev/null +++ b/components/cli/scripts/docs/generate-yaml.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +go build -o build/yaml-docs-generator github.com/docker/cli/docs/yaml +mkdir docs/yaml/gen +build/yaml-docs-generator --root $(pwd) --target $(pwd)/docs/yaml/gen