-
Notifications
You must be signed in to change notification settings - Fork 10
/
types.go
59 lines (52 loc) · 2.92 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// Copyright 2019-present Open Networking Foundation.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package types
// NoOption empty struct.
type NoOption struct{}
// Configuration task configuration.
type Configuration struct {
Owner string `short:"o" description:"Repository owner. [required]"`
RepositoryName string `short:"r" long:"repo-name" description:"Repository name. [required]"`
Debug bool `long:"debug" description:"Debug mode."`
DockerfileURL string `short:"d" long:"dockerfile-url" description:"Use this Dockerfile when --dockerfile-name is not found. Can be a file path. [required]"`
DockerfileName string `long:"dockerfile-name" description:"Search and use this Dockerfile in the repository (in './docs/' or in './') for building documentation."`
ExperimentalBranchName string `long:"exp-branch" description:"Build a branch as experimental."`
DockerImageName string `long:"image-name" description:"Docker image name."`
Menu *MenuFiles `long:"menu" description:"Menu templates files."`
RequirementsURL string `long:"rqts-url" description:"Use this requirements.txt to merge with the current requirements.txt. Can be a file path."`
NoCache bool `long:"no-cache" description:"Set to 'true' to disable the Docker build cache."`
ForceEditionURI bool `long:"force-edit-url" description:"Add a dedicated edition URL for each version."`
}
// MenuFiles menu template files references
type MenuFiles struct {
JsURL string `long:"js-url" description:"URL of the template of the JS file use for the multi version menu."`
JsFile string `long:"js-file" description:"File path of the template of the JS file use for the multi version menu."`
CSSURL string `long:"css-url" description:"URL of the template of the CSS file use for the multi version menu."`
CSSFile string `long:"css-file" description:"File path of the template of the CSS file use for the multi version menu."`
}
// HasJsFile has JS file
func (m *MenuFiles) HasJsFile() bool {
return m != nil && len(m.JsFile) > 0 || len(m.JsURL) > 0
}
// HasCSSFile has CSS file
func (m *MenuFiles) HasCSSFile() bool {
return m != nil && len(m.CSSFile) > 0 || len(m.CSSURL) > 0
}
// VersionsInformation versions information
type VersionsInformation struct {
Current string
Latest string
Experimental string
CurrentPath string
}