on master help sign in
Always update registry first on `elm install`
e37cb37Evan Czaplicki
builder/src/Elm/Install.hs+9−10
@@ -36,14 +36,15 @@ import qualified Reporting.Task as Task
36install :: Pkg.Name -> Task.Task ()
36install :: Pkg.Name -> Task.Task ()
37install pkg =
37install pkg =
38 do (root, oldProject) <- Root.unsafeGet
38 do (root, oldProject) <- Root.unsafeGet
39+ registry <- Cache.optionalUpdate
39
40
40 case oldProject of
41 case oldProject of
41 Project.App info ->
42 Project.App info ->
42− do changes <- makeAppPlan pkg info
43+ do changes <- makeAppPlan registry pkg info
43 attemptElmJsonChange root oldProject Pkg.versionToString changes
44 attemptElmJsonChange root oldProject Pkg.versionToString changes
44
45
45 Project.Pkg info ->
46 Project.Pkg info ->
46− do changes <- makePkgPlan pkg info
47+ do changes <- makePkgPlan registry pkg info
47 attemptElmJsonChange root oldProject Con.toString changes
48 attemptElmJsonChange root oldProject Con.toString changes
48
49
49
50
@@ -106,8 +107,8 @@ data Changes vsn
106 | Changes (Map.Map Pkg.Name (Change vsn)) Project.Project
107 | Changes (Map.Map Pkg.Name (Change vsn)) Project.Project
107
108
108
109
109−makeAppPlan :: Pkg.Name -> Project.AppInfo -> Task.Task (Changes Pkg.Version)
110+makeAppPlan :: Cache.PackageRegistry -> Pkg.Name -> Project.AppInfo -> Task.Task (Changes Pkg.Version)
110−makeAppPlan pkg info@(Project.AppInfo elm srcDirs deps test trans) =
111+makeAppPlan registry pkg info@(Project.AppInfo elm srcDirs deps test trans) =
111 if Map.member pkg deps then
112 if Map.member pkg deps then
112 return AlreadyInstalled
113 return AlreadyInstalled
113 else
114 else
@@ -123,8 +124,7 @@ makeAppPlan pkg info@(Project.AppInfo elm srcDirs deps test trans) =
123 Project.AppInfo elm srcDirs (Map.insert pkg vsn deps) test (Map.delete pkg trans)
124 Project.AppInfo elm srcDirs (Map.insert pkg vsn deps) test (Map.delete pkg trans)
124
125
125 Nothing ->
126 Nothing ->
126− do registry <- Cache.optionalUpdate
127− changes <- addToApp registry pkg info
127+ do changes <- addToApp registry pkg info
128
128
129 let news = Map.mapMaybe keepNew changes
129 let news = Map.mapMaybe keepNew changes
130 let newDeps = addNews (Just pkg) news deps
130 let newDeps = addNews (Just pkg) news deps
@@ -135,8 +135,8 @@ makeAppPlan pkg info@(Project.AppInfo elm srcDirs deps test trans) =
135 Project.AppInfo elm srcDirs newDeps newTest newTrans
135 Project.AppInfo elm srcDirs newDeps newTest newTrans
136
136
137
137
138−makePkgPlan :: Pkg.Name -> Project.PkgInfo -> Task.Task (Changes Constraint)
138+makePkgPlan :: Cache.PackageRegistry -> Pkg.Name -> Project.PkgInfo -> Task.Task (Changes Constraint)
139−makePkgPlan pkg info@(Project.PkgInfo _ _ _ _ _ deps test _) =
139+makePkgPlan registry pkg info@(Project.PkgInfo _ _ _ _ _ deps test _) =
140 if Map.member pkg deps then
140 if Map.member pkg deps then
141 return AlreadyInstalled
141 return AlreadyInstalled
142 else
142 else
@@ -149,8 +149,7 @@ makePkgPlan pkg info@(Project.PkgInfo _ _ _ _ _ deps test _) =
149 }
149 }
150
150
151 Nothing ->
151 Nothing ->
152− do registry <- Cache.optionalUpdate
153− changes <- addToPkg registry pkg info
152+ do changes <- addToPkg registry pkg info
154 let news = Map.mapMaybe keepNew changes
153 let news = Map.mapMaybe keepNew changes
155 return $ Changes changes $ Project.Pkg $
154 return $ Changes changes $ Project.Pkg $
156 info
155 info