mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-04-20 19:38:39 +00:00
Only small amount of required checks is enabled, plan is to enable more linters as issues are fixed in the code.
64 lines
1.5 KiB
Go
64 lines
1.5 KiB
Go
package cmd
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/smira/commander"
|
|
"github.com/smira/flag"
|
|
)
|
|
|
|
func aptlyRepoShow(cmd *commander.Command, args []string) error {
|
|
var err error
|
|
if len(args) != 1 {
|
|
cmd.Usage()
|
|
return commander.ErrCommandError
|
|
}
|
|
|
|
name := args[0]
|
|
|
|
repo, err := context.CollectionFactory().LocalRepoCollection().ByName(name)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to show: %s", err)
|
|
}
|
|
|
|
err = context.CollectionFactory().LocalRepoCollection().LoadComplete(repo)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to show: %s", err)
|
|
}
|
|
|
|
fmt.Printf("Name: %s\n", repo.Name)
|
|
fmt.Printf("Comment: %s\n", repo.Comment)
|
|
fmt.Printf("Default Distribution: %s\n", repo.DefaultDistribution)
|
|
fmt.Printf("Default Component: %s\n", repo.DefaultComponent)
|
|
if repo.Uploaders != nil {
|
|
fmt.Printf("Uploaders: %s\n", repo.Uploaders)
|
|
}
|
|
fmt.Printf("Number of packages: %d\n", repo.NumPackages())
|
|
|
|
withPackages := context.Flags().Lookup("with-packages").Value.Get().(bool)
|
|
if withPackages {
|
|
ListPackagesRefList(repo.RefList())
|
|
}
|
|
|
|
return err
|
|
}
|
|
|
|
func makeCmdRepoShow() *commander.Command {
|
|
cmd := &commander.Command{
|
|
Run: aptlyRepoShow,
|
|
UsageLine: "show <name>",
|
|
Short: "show details about local repository",
|
|
Long: `
|
|
Show command shows full information about local package repository.
|
|
|
|
ex:
|
|
$ aptly repo show testing
|
|
`,
|
|
Flag: *flag.NewFlagSet("aptly-repo-show", flag.ExitOnError),
|
|
}
|
|
|
|
cmd.Flag.Bool("with-packages", false, "show list of packages")
|
|
|
|
return cmd
|
|
}
|