Skip to content

Commit e8fd628

Browse files
committed
Added no-deps flag in lib install command
1 parent 9b2d953 commit e8fd628

File tree

1 file changed

+31
-18
lines changed

1 file changed

+31
-18
lines changed

Diff for: cli/lib/install.go

+31-18
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,14 @@ func initInstallCommand() *cobra.Command {
4242
Args: cobra.MinimumNArgs(1),
4343
Run: runInstallCommand,
4444
}
45+
installCommand.Flags().BoolVar(&installFlags.noDeps, "no-deps", false, "Do not install dependencies.")
4546
return installCommand
4647
}
4748

49+
var installFlags struct {
50+
noDeps bool
51+
}
52+
4853
func runInstallCommand(cmd *cobra.Command, args []string) {
4954
instance := instance.CreateInstaceIgnorePlatformIndexErrors()
5055
libRefs, err := globals.ParseLibraryReferenceArgs(args)
@@ -54,28 +59,36 @@ func runInstallCommand(cmd *cobra.Command, args []string) {
5459
}
5560

5661
toInstall := map[string]*rpc.LibraryDependencyStatus{}
57-
for _, libRef := range libRefs {
58-
depsResp, err := lib.LibraryResolveDependencies(context.Background(), &rpc.LibraryResolveDependenciesReq{
59-
Instance: instance,
60-
Name: libRef.Name,
61-
Version: libRef.Version,
62-
})
63-
if err != nil {
64-
feedback.Errorf("Error resolving dependencies for %s: %s", libRef, err)
62+
if installFlags.noDeps {
63+
for _, libRef := range libRefs {
64+
toInstall[libRef.Name] = &rpc.LibraryDependencyStatus{
65+
Name: libRef.Name,
66+
VersionRequired: libRef.Version,
67+
}
6568
}
66-
for _, dep := range depsResp.GetDependencies() {
67-
feedback.Printf("%s depends on %s@%s", libRef, dep.GetName(), dep.GetVersionRequired())
68-
if existingDep, has := toInstall[dep.GetName()]; has {
69-
if existingDep.GetVersionRequired() != dep.GetVersionRequired() {
70-
// TODO: make a better error
71-
feedback.Errorf("The library %s is required in two different versions: %s and %s",
72-
dep.GetName(), dep.GetVersionRequired(), existingDep.GetVersionRequired())
73-
os.Exit(errorcodes.ErrGeneric)
69+
} else {
70+
for _, libRef := range libRefs {
71+
depsResp, err := lib.LibraryResolveDependencies(context.Background(), &rpc.LibraryResolveDependenciesReq{
72+
Instance: instance,
73+
Name: libRef.Name,
74+
Version: libRef.Version,
75+
})
76+
if err != nil {
77+
feedback.Errorf("Error resolving dependencies for %s: %s", libRef, err)
78+
}
79+
for _, dep := range depsResp.GetDependencies() {
80+
feedback.Printf("%s depends on %s@%s", libRef, dep.GetName(), dep.GetVersionRequired())
81+
if existingDep, has := toInstall[dep.GetName()]; has {
82+
if existingDep.GetVersionRequired() != dep.GetVersionRequired() {
83+
// TODO: make a better error
84+
feedback.Errorf("The library %s is required in two different versions: %s and %s",
85+
dep.GetName(), dep.GetVersionRequired(), existingDep.GetVersionRequired())
86+
os.Exit(errorcodes.ErrGeneric)
87+
}
7488
}
89+
toInstall[dep.GetName()] = dep
7590
}
76-
toInstall[dep.GetName()] = dep
7791
}
78-
feedback.Print()
7992
}
8093

8194
for _, library := range toInstall {

0 commit comments

Comments
 (0)