func initUninstallCommand(flags *flag.FlagSet, installer, defaultDBPath, defaultProfilesPath string) { initCommon(flags, &uninstallFlags.commonFlagValues, installer, defaultDBPath, defaultProfilesPath) profiles.RegisterTargetFlag(flags, &uninstallFlags.target) flags.BoolVar(&uninstallFlags.allTargets, "all-targets", false, "apply to all targets for the specified profile(s)") flags.BoolVar(&uninstallFlags.verbose, "v", false, "print more detailed information") for _, name := range profilesmanager.Managers() { profilesmanager.LookupManager(name).AddFlags(flags, profiles.Uninstall) } }
func Init(defaultManifestFilename string) { targetFlag = profiles.DefaultTarget() var err error rootDir, err = project.JiriRoot() if err != nil { panic(err) } manifest := filepath.Join(rootDir, defaultManifestFilename) // Every sub-command accepts: --manifest for _, fs := range []*flag.FlagSet{ &cmdInstall.Flags, &cmdUpdate.Flags, &cmdCleanup.Flags, &cmdUninstall.Flags, &cmdEnv.Flags, &cmdList.Flags, &cmdRecreate.Flags} { profiles.RegisterManifestFlag(fs, &manifestFlag, manifest) } // install accepts: --target and, --env. profiles.RegisterTargetAndEnvFlags(&cmdInstall.Flags, &targetFlag) // uninstall and env accept: --target, for _, fs := range []*flag.FlagSet{ &cmdUninstall.Flags, &cmdEnv.Flags} { profiles.RegisterTargetFlag(fs, &targetFlag) } // uninstall accept --all-targets but with different defaults. cmdUninstall.Flags.BoolVar(&allFlag, "all-targets", false, "apply to all targets for the specified profile(s)") // update accepts --v cmdUpdate.Flags.BoolVar(&verboseFlag, "v", false, "print more detailed information") // list accepts --show-manifest, --availabe, --v cmdList.Flags.BoolVar(&showManifestFlag, "show-manifest", false, "print out the manifest file") cmdList.Flags.BoolVar(&availableFlag, "available", false, "print the list of available profiles") cmdList.Flags.BoolVar(&verboseFlag, "v", false, "print more detailed information") // env accepts --profile cmdEnv.Flags.StringVar(&profileFlag, "profile", "", "the profile whose environment is to be displayed") for _, mgr := range profiles.Managers() { profiles.LookupManager(mgr).AddFlags(&cmdInstall.Flags, profiles.Install) profiles.LookupManager(mgr).AddFlags(&cmdUninstall.Flags, profiles.Uninstall) } }