Merge "v.io/jiri: set default profiles appropriately."
diff --git a/cmd/jiri/profile.go b/cmd/jiri/profile.go
index a472a09..aa78d3f 100644
--- a/cmd/jiri/profile.go
+++ b/cmd/jiri/profile.go
@@ -18,5 +18,5 @@
func init() {
profilescmdline.RegisterReaderCommands(cmdProfile, jiri.ProfilesDBDir)
- profilescmdline.RegisterManagementCommands(cmdProfile, "", jiri.ProfilesDBDir, jiri.ProfilesRootDir)
+ profilescmdline.RegisterManagementCommands(cmdProfile, true, "", jiri.ProfilesDBDir, jiri.ProfilesRootDir)
}
diff --git a/profile.go b/profile.go
index a472a09..aa78d3f 100644
--- a/profile.go
+++ b/profile.go
@@ -18,5 +18,5 @@
func init() {
profilescmdline.RegisterReaderCommands(cmdProfile, jiri.ProfilesDBDir)
- profilescmdline.RegisterManagementCommands(cmdProfile, "", jiri.ProfilesDBDir, jiri.ProfilesRootDir)
+ profilescmdline.RegisterManagementCommands(cmdProfile, true, "", jiri.ProfilesDBDir, jiri.ProfilesRootDir)
}
diff --git a/profiles/.api b/profiles/.api
index 88be259..b106611 100644
--- a/profiles/.api
+++ b/profiles/.api
@@ -15,7 +15,6 @@
pkg profiles, func NewTarget(string, ...string) (Target, error)
pkg profiles, func NewVersionInfo(string, map[string]interface{}, string) *VersionInfo
pkg profiles, func QualifiedProfileName(string, string) string
-pkg profiles, func RegisterProfilesFlag(*flag.FlagSet, *string)
pkg profiles, func RegisterTargetAndEnvFlags(*flag.FlagSet, *Target)
pkg profiles, func RegisterTargetFlag(*flag.FlagSet, *Target)
pkg profiles, func RemoveTarget(Targets, *Target) Targets
diff --git a/profiles/flags.go b/profiles/flags.go
index 53c1449..f426171 100644
--- a/profiles/flags.go
+++ b/profiles/flags.go
@@ -19,11 +19,6 @@
flags.Var(&target.commandLineEnv, "env", target.commandLineEnv.Usage())
}
-// RegisterProfilesFlag registers the --profiles flag
-func RegisterProfilesFlag(flags *flag.FlagSet, profiles *string) {
- flags.StringVar(profiles, "profiles", "base,jiri", "a comma separated list of profiles to use")
-}
-
// RegisterTargetFlag registers the commonly used --target flag with
// the supplied FlagSet.
func RegisterTargetFlag(flags *flag.FlagSet, target *Target) {
diff --git a/profiles/profilescmdline/.api b/profiles/profilescmdline/.api
index 9d99303..a435258 100644
--- a/profiles/profilescmdline/.api
+++ b/profiles/profilescmdline/.api
@@ -1,8 +1,7 @@
-pkg profilescmdline, const DefaultProfiles ideal-string
pkg profilescmdline, func HelpMsg() string
pkg profilescmdline, func IsFlagSet(*flag.FlagSet, string) bool
pkg profilescmdline, func RegisterDBPathFlag(*flag.FlagSet, *string, string)
-pkg profilescmdline, func RegisterManagementCommands(*cmdline.Command, string, string, string)
+pkg profilescmdline, func RegisterManagementCommands(*cmdline.Command, bool, string, string, string)
pkg profilescmdline, func RegisterMergePoliciesFlag(*flag.FlagSet, *profilesreader.MergePolicies)
pkg profilescmdline, func RegisterProfilesFlag(*flag.FlagSet, *string)
pkg profilescmdline, func RegisterReaderCommands(*cmdline.Command, string)
diff --git a/profiles/profilescmdline/internal/i1/i1.go b/profiles/profilescmdline/internal/i1/i1.go
index 1b3c1bc..4b1cc3e 100644
--- a/profiles/profilescmdline/internal/i1/i1.go
+++ b/profiles/profilescmdline/internal/i1/i1.go
@@ -28,7 +28,7 @@
func main() {
profilesmanager.Register(example.New("i1", "eg"))
- profilescmdline.RegisterManagementCommands(commandLineDriver, "i1", jiri.ProfilesDBDir, jiri.ProfilesRootDir)
+ profilescmdline.RegisterManagementCommands(commandLineDriver, true, "i1", jiri.ProfilesDBDir, jiri.ProfilesRootDir)
tool.InitializeRunFlags(&commandLineDriver.Flags)
cmdline.Main(commandLineDriver)
}
diff --git a/profiles/profilescmdline/internal/i2/i2.go b/profiles/profilescmdline/internal/i2/i2.go
index efb16be..70fd08b 100644
--- a/profiles/profilescmdline/internal/i2/i2.go
+++ b/profiles/profilescmdline/internal/i2/i2.go
@@ -29,7 +29,7 @@
func main() {
profilesmanager.Register(example.New("i2", "eg"))
- profilescmdline.RegisterManagementCommands(commandLineDriver, "i2", jiri.ProfilesDBDir, jiri.ProfilesRootDir)
+ profilescmdline.RegisterManagementCommands(commandLineDriver, true, "i2", jiri.ProfilesDBDir, jiri.ProfilesRootDir)
tool.InitializeRunFlags(&commandLineDriver.Flags)
cmdline.Main(commandLineDriver)
}
diff --git a/profiles/profilescmdline/manager_cmdline.go b/profiles/profilescmdline/manager_cmdline.go
index 110f9a3..95e8f59 100644
--- a/profiles/profilescmdline/manager_cmdline.go
+++ b/profiles/profilescmdline/manager_cmdline.go
@@ -254,11 +254,12 @@
updateFlags updateFlagValues
availableFlags availableFlagValues
profileInstaller string
+ runSubcommands bool
)
// RegisterManagementCommands registers the management subcommands:
// uninstall, install, update and cleanup.
-func RegisterManagementCommands(parent *cmdline.Command, installer, defaultDBPath, defaultProfilesPath string) {
+func RegisterManagementCommands(parent *cmdline.Command, useSubcommands bool, installer, defaultDBPath, defaultProfilesPath string) {
cmdInstall := newCmdInstall()
cmdUninstall := newCmdUninstall()
cmdUpdate := newCmdUpdate()
@@ -271,9 +272,13 @@
initAvailableCommand(&cmdAvailable.Flags, installer, defaultDBPath, defaultProfilesPath)
parent.Children = append(parent.Children, cmdInstall, cmdUninstall, cmdUpdate, cmdCleanup, cmdAvailable)
profileInstaller = installer
+ runSubcommands = useSubcommands
}
func findProfileSubcommands(jirix *jiri.X) []string {
+ if !runSubcommands {
+ return []string{}
+ }
fi, err := os.Stat(filepath.Join(jirix.Root, jiri.ProfilesDBDir))
if err == nil && fi.IsDir() {
env := cmdline.EnvFromOS()
diff --git a/profiles/profilescmdline/manager_test.go b/profiles/profilescmdline/manager_test.go
index 26c05c8..38cd5d7 100644
--- a/profiles/profilescmdline/manager_test.go
+++ b/profiles/profilescmdline/manager_test.go
@@ -30,7 +30,7 @@
func TestManagerArgs(t *testing.T) {
profilescmdline.Reset()
p := parent
- profilescmdline.RegisterManagementCommands(&p, "", "", jiri.ProfilesRootDir)
+ profilescmdline.RegisterManagementCommands(&p, false, "", "", jiri.ProfilesRootDir)
if got, want := len(p.Children), 5; got != want {
t.Errorf("got %v, want %v", got, want)
}
diff --git a/profiles/profilescmdline/reader_cmdline.go b/profiles/profilescmdline/reader_cmdline.go
index e273510..e5436f3 100644
--- a/profiles/profilescmdline/reader_cmdline.go
+++ b/profiles/profilescmdline/reader_cmdline.go
@@ -12,6 +12,7 @@
"bytes"
"flag"
"fmt"
+ "os"
"path/filepath"
"strings"
"text/template"
@@ -24,8 +25,6 @@
"v.io/x/lib/textutil"
)
-const DefaultProfiles = "base,jiri"
-
// IsFlagSet returns true if the specified flag has been set on
// the command line.
func IsFlagSet(fs *flag.FlagSet, name string) bool {
@@ -133,7 +132,17 @@
// RegisterProfilesFlag registers the --profiles flag
func RegisterProfilesFlag(flags *flag.FlagSet, profiles *string) {
- flags.StringVar(profiles, "profiles", DefaultProfiles, "a comma separated list of profiles to use")
+ // TODO(cnicolaou): delete this when the new profiles are in use.
+ root := jiri.FindRoot()
+ fi, err := os.Stat(filepath.Join(root, jiri.ProfilesDBDir))
+ defaultProfiles := "base,jiri"
+ if err == nil && fi.IsDir() {
+ // TODO(cnicolaou): we need a better way of setting the default profiles,
+ // ideally via the profiles db, or some other config. Provide a command
+ // line tool for setting the default profiles.
+ defaultProfiles = "v23:base,jiri"
+ }
+ flags.StringVar(profiles, "profiles", defaultProfiles, "a comma separated list of profiles to use")
}
// RegisterMergePoliciesFlag registers the --merge-policies flag