1
1
WEBROOT=${K8S_WEBROOT}
2
2
K8SROOT=${K8S_ROOT}
3
- MINOR_VERSION =${K8S_RELEASE}
3
+ K8SRELEASE =${K8S_RELEASE}
4
4
5
- APISRC=gen-apidocs/generators
6
- APIDST=$(WEBROOT)/static/docs/reference/generated/kubernetes-api/v1.$(MINOR_VERSION)
7
- APISRCFONT=$(APISRC)/build/node_modules/font-awesome
8
- APIDSTFONT=$(APIDST)/node_modules/font-awesome
5
+ # change <major>.<minor> to <major>_<minor>
6
+ getversion:
7
+ echo $(K8SRELEASE) | sed "s/\./_/g" > b.tmp
8
+
9
+ K8SVERDIR=$(shell cat b.tmp)
10
+
11
+ sepversion: getversion
12
+ echo $(K8SVERDIR) | sed "s/[0-9]_//g" > minor.tmp
13
+ echo $(K8SVERDIR) | sed "s/_[0-9]*//g" > major.tmp
14
+
15
+ MINOR_VERSION := $(shell cat minor.tmp)
16
+ MAJOR_VERSION := $(shell cat major.tmp)
17
+ ONE := 1
18
+ PREV_MINOR_VERSION := $(shell echo $$(( $(MINOR_VERSION) - $(ONE) )))
19
+
20
+ cleantmp:
21
+ rm minor.tmp; rm major.tmp; rm b.tmp
22
+
23
+ APISRC=gen-apidocs
24
+ APIDST=$(WEBROOT)/static/docs/reference/generated/kubernetes-api/v$(K8SRELEASE)
9
25
10
26
CLISRC=gen-kubectldocs/generators/build
11
27
CLIDST=$(WEBROOT)/static/docs/reference/generated/kubectl
12
28
CLISRCFONT=$(CLISRC)/node_modules/font-awesome
13
29
CLIDSTFONT=$(CLIDST)/node_modules/font-awesome
14
30
15
31
default:
16
- @echo "Support commands:\ncli api comp copycli copyapi copycomp updateapispec"
32
+ @echo "Support commands:\ncli api comp copycli copyapi updateapispec"
33
+
34
+ # Set up versioned directories for new release
35
+ # kubectl-command static-includes, toc.yaml
36
+ createkubectldir: sepversion
37
+ @echo version $(K8SVERDIR)
38
+ mkdir -p $(shell pwd)/gen-kubectldocs/generators/v$(K8SVERDIR)
39
+ if ! [ -f "$(shell pwd)/gen-kubectldocs/generators/v1_$(PREV_MINOR_VERSION)/config.yaml" ]; then \
40
+ cp -r $(shell pwd)/gen-kubectldocs/generators/v1_15/* $(shell pwd)/gen-kubectldocs/generators/v$(K8SVERDIR)/; \
41
+ else \
42
+ cp -r $(shell pwd)/gen-kubectldocs/generators/v1_$(PREV_MINOR_VERSION)/* $(shell pwd)/gen-kubectldocs/generators/v$(K8SVERDIR)/; \
43
+ fi
44
+
45
+ # api-ref versioned dir, swagger.json, config.yaml
46
+ createapidir: sepversion
47
+ @echo version $(K8SVERDIR)
48
+ mkdir -p $(shell pwd)/gen-apidocs/config/v$(K8SVERDIR)
49
+ # config.yaml
50
+ if ! [ -f "$(APISRC)/config/v1_$(MINOR_VERSION)/config.yaml" ]; then \
51
+ if [ -f "$(shell pwd)/gen-apidocs/config/v1_$(PREV_MINOR_VERSION)/config.yaml" ]; then \
52
+ cp $(shell pwd)/gen-apidocs/config/v1_$(PREV_MINOR_VERSION)/config.yaml $(APISRC)/config/v1_$(MINOR_VERSION)/config.yaml; \
53
+ echo "Using config file: $(shell pwd)/gen-apidocs/config/v1_$(PREV_MINOR_VERSION)/config.yaml"; \
54
+ else \
55
+ cp $(APISRC)/config/config.yaml $(APISRC)/config/v1_$(MINOR_VERSION)/config.yaml; \
56
+ fi \
57
+ fi
58
+ # swagger.json
59
+ if ! [ -f "$(APISRC)/config/v1_$(MINOR_VERSION)/swagger.json" ]; then \
60
+ cp $(K8SROOT)/api/openapi-spec/swagger.json $(APISRC)/config/v1_$(MINOR_VERSION)/swagger.json; \
61
+ fi
62
+
63
+ # copy versioned files to the base config dir before generating api ref
64
+ stageapifiles: createapidir
65
+ cp $(APISRC)/config/v1_$(MINOR_VERSION)/config.yaml $(APISRC)/config/config.yaml
66
+ cp $(APISRC)/config/v1_$(MINOR_VERSION)/swagger.json $(APISRC)/config/swagger.json
17
67
18
68
# Build kubectl docs
19
69
cleancli:
@@ -22,9 +72,7 @@ cleancli:
22
72
sudo rm -rf $(shell pwd)/gen-kubectldocs/generators/build
23
73
sudo rm -rf $(shell pwd)/gen-kubectldocs/generators/manifest.json
24
74
25
- cli: cleancli
26
- mkdir -p $(shell pwd)/gen-kubectldocs/generators/v1_$(MINOR_VERSION)
27
- cp -r $(shell pwd)/gen-kubectldocs/generators/v1_15/* $(shell pwd)/gen-kubectldocs/generators/v1_$(MINOR_VERSION)
75
+ cli: createkubectldir cleancli
28
76
go run gen-kubectldocs/main.go --kubernetes-version v1_$(MINOR_VERSION)
29
77
docker run -v $(shell pwd)/gen-kubectldocs/generators/includes:/source -v $(shell pwd)/gen-kubectldocs/generators/build:/build -v $(shell pwd)/gen-kubectldocs/generators/:/manifest pwittrock/brodocs
30
78
@@ -40,7 +88,7 @@ copycli: cli
40
88
cp $(CLISRC)/node_modules/jquery/dist/jquery.min.js $(CLIDST)/node_modules/jquery/dist/jquery.min.js
41
89
cp $(CLISRCFONT)/css/font-awesome.min.css $(CLIDSTFONT)/css/font-awesome.min.css
42
90
43
- # Build kube component docs
91
+ # Build kube component,tool docs
44
92
cleancomp:
45
93
rm -rf $(shell pwd)/gen-compdocs/build
46
94
@@ -55,46 +103,26 @@ comp: cleancomp
55
103
go run gen-compdocs/main.go gen-compdocs/build kubeadm
56
104
go run gen-compdocs/main.go gen-compdocs/build kubectl
57
105
58
- copycomp:
59
- cp $(shell pwd)/gen-compdocs/build/* $(WEBROOT)/docs/reference/generated/
60
-
61
106
# Build api docs
62
107
updateapispec:
63
- cp $(K8SROOT)/api/openapi-spec/swagger.json gen-apidocs/generators/openapi-spec /swagger.json
108
+ cp $(K8SROOT)/api/openapi-spec/swagger.json gen-apidocs/config /swagger.json
64
109
65
- api: cleanapi
66
- go run gen-apidocs/main.go --config -dir=gen-apidocs/generators --munge-groups=false
110
+ api: cleanapi stageapifiles
111
+ go run gen-apidocs/main.go --work -dir=gen-apidocs --munge-groups=false
67
112
68
- # NOTE: The following "sudo" may go away when we remove docker based api doc generator
69
113
cleanapi:
70
- sudo rm -rf $(shell pwd)/gen-apidocs/generators/build
71
- sudo rm -rf $(shell pwd)/gen-apidocs/generators/includes
114
+ rm -rf $(shell pwd)/gen-apidocs/build
72
115
73
- copyapi:
116
+ copyapi: api
117
+ mkdir -p $(APIDST)
74
118
cp $(APISRC)/build/index.html $(APIDST)/index.html
75
- cp $(APISRC)/build/navData.js $(APIDST)/navData.js
76
- cp $(APISRC)/static/scroll.js $(APIDST)/scroll.js
119
+ # copy scroll.js, jquery.scrollTo.min.js and the new navData.js
120
+ mkdir -p $(APIDST)/js
121
+ cp $(APISRC)/build/navData.js $(APIDST)/js/
122
+ cp $(APISRC)/static/js/* $(APIDST)/js/
123
+ # copy stylesheet.css, bootstrap.min.css, font-awesome.min.css
77
124
mkdir -p $(APIDST)/css
78
- cp $(APISRC)/static/stylesheet.css $(APIDST)/css/stylesheet.css
79
- cp $(APISRC)/static/bootstrap.min.css $(APIDST)/css/bootstrap.min.css
80
- cp $(APISRC)/static/jquery.scrollTo.min.js $(APIDST)/jquery.scrollTo.min.js
81
- cp $(APISRC)/static/font-awesome.min.css $(APIDST)/css/font-awesome.min.css
125
+ cp $(APISRC)/static/css/* $(APIDST)/css/
126
+ # copy fonts data
82
127
mkdir -p $(APIDST)/fonts
83
- cp $(APISRC)/static/FontAwesome.otf $(APIDST)/fonts/FontAwesome.otf
84
- cp $(APISRC)/static/fontawesome-webfont.eot $(APIDST)/fonts/fontawesome-webfont.eot
85
- cp $(APISRC)/static/fontawesome-webfont.svg $(APIDST)/fonts/fontawesome-webfont.svg
86
- cp $(APISRC)/static/fontawesome-webfont.ttf $(APIDST)/fonts/fontawesome-webfont.ttf
87
- cp $(APISRC)/static/fontawesome-webfont.woff $(APIDST)/fonts/fontawesome-webfont.woff
88
- cp $(APISRC)/static/fontawesome-webfont.woff2 $(APIDST)/fonts/fontawesome-webfont.woff2
89
-
90
- # Build resource docs
91
- resource: cleanapi
92
- go run gen-apidocs/main.go --build-operations=false --munge-groups=false --config-dir=gen-apidocs/generators
93
- docker run -v $(shell pwd)/gen-apidocs/generators/includes:/source -v $(shell pwd)/gen-apidocs/generators/build:/build -v $(shell pwd)/gen-apidocs/generators/:/manifest pwittrock/brodocs
94
-
95
- copyresource: resource
96
- rm -rf gen-apidocs/generators/build/documents/
97
- rm -rf gen-apidocs/generators/build/runbrodocs.sh
98
- rm -rf gen-apidocs/generators/build/manifest.json
99
- rm -rf $(WEBROOT)/docs/resources-reference/v1.$(MINOR_VERSION)/*
100
- cp -r gen-apidocs/generators/build/* $(WEBROOT)/docs/resources-reference/v1.$(MINOR_VERSION)/
128
+ cp $(APISRC)/static/fonts/* $(APIDST)/fonts/
0 commit comments