mirror of
https://github.com/linka-cloud/d2vm.git
synced 2025-06-27 23:52:27 +00:00
docs: add hidden docs command to generate markdown cli reference
tests: fail if the docs need to be regenerated Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
This commit is contained in:
43
cmd/d2vm/docs.go
Normal file
43
cmd/d2vm/docs.go
Normal file
@ -0,0 +1,43 @@
|
||||
// Copyright 2022 Linka Cloud All rights reserved.
|
||||
//
|
||||
// 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 main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/cobra/doc"
|
||||
)
|
||||
|
||||
var docsCmd = &cobra.Command{
|
||||
Use: "docs",
|
||||
Short: "Generate documentation",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Hidden: true,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
if err := os.MkdirAll(args[0], 0755); err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
cmd.Root().DisableAutoGenTag = true
|
||||
if err := doc.GenMarkdownTree(cmd.Root(), args[0]); err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
rootCmd.AddCommand(docsCmd)
|
||||
}
|
@ -23,7 +23,7 @@ import (
|
||||
var (
|
||||
runCmd = &cobra.Command{
|
||||
Use: "run",
|
||||
Short: "run the converted virtual machine",
|
||||
Short: "Run the virtual machine image",
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -51,9 +51,10 @@ var (
|
||||
hetznerRemove = false
|
||||
|
||||
HetznerCmd = &cobra.Command{
|
||||
Use: "hetzner [options] image-path",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: Hetzner,
|
||||
Use: "hetzner [options] image-path",
|
||||
Short: "Run the virtual machine image on Hetzner Cloud",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: Hetzner,
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -41,9 +41,10 @@ var (
|
||||
usbEnabled bool
|
||||
|
||||
QemuCmd = &cobra.Command{
|
||||
Use: "qemu [options] [image-path]",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: Qemu,
|
||||
Use: "qemu [options] [image-path]",
|
||||
Short: "Run the virtual machine image with qemu",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: Qemu,
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -20,9 +20,10 @@ import (
|
||||
|
||||
var (
|
||||
VboxCmd = &cobra.Command{
|
||||
Use: "vbox [options] image-path",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: Vbox,
|
||||
Use: "vbox [options] image-path",
|
||||
Short: "Run the virtual machine image with Virtualbox",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: Vbox,
|
||||
}
|
||||
|
||||
vboxmanageFlag string
|
||||
|
Reference in New Issue
Block a user