@@ -155,12 +155,13 @@ loadPackageDB settings coreMap core deps = do
155 | otherwise = loop rest
155 | otherwise = loop rest
157 addPackage p v lbs pdb = do
157 addPackage p v lbs pdb = do
158− let (deps', hasTests, buildTools', mgpd, execs, mgithub) = parseDeps p lbs
158+ let (deps', hasTests, buildToolsExe', buildToolsOther', mgpd, execs, mgithub) = parseDeps p lbs
159 return $ mappend pdb $ PackageDB $ Map.singleton p PackageInfo
159 return $ mappend pdb $ PackageDB $ Map.singleton p PackageInfo
160 { piVersion = v
160 { piVersion = v
161 , piDeps = deps'
161 , piDeps = deps'
162 , piHasTests = hasTests
162 , piHasTests = hasTests
163− , piBuildTools = buildTools'
163+ , piBuildToolsExe = buildToolsExe'
164+ , piBuildToolsAll = buildToolsExe' `Set.union` buildToolsOther'
164 , piGPD = mgpd
165 , piGPD = mgpd
165 , piExecs = execs
166 , piExecs = execs
166 , piGithubUser = mgithub
167 , piGithubUser = mgithub
@@ -176,25 +177,29 @@ loadPackageDB settings coreMap core deps = do
176 else mconcat $ map (go gpd . snd) $ condTestSuites gpd
177 else mconcat $ map (go gpd . snd) $ condTestSuites gpd
177 , mconcat $ map (go gpd . snd) $ condBenchmarks gpd
178 , mconcat $ map (go gpd . snd) $ condBenchmarks gpd
178 ], not $ null $ condTestSuites gpd
179 ], not $ null $ condTestSuites gpd
179− , Set.fromList $ map depName $ allBuildInfo gpd
180+ , Set.fromList $ map depName $ libExeBuildInfo gpd
181+ , Set.fromList $ map depName $ testBenchBuildInfo gpd
180 , Just gpd
182 , Just gpd
181 , Set.fromList $ map (Executable . fst) $ condExecutables gpd
183 , Set.fromList $ map (Executable . fst) $ condExecutables gpd
182 , listToMaybe $ catMaybes
184 , listToMaybe $ catMaybes
183 $ parseGithubUserHP (homepage $ packageDescription gpd)
185 $ parseGithubUserHP (homepage $ packageDescription gpd)
184 : map parseGithubUserSR (sourceRepos $ packageDescription gpd)
186 : map parseGithubUserSR (sourceRepos $ packageDescription gpd)
186− _ -> (mempty, defaultHasTestSuites, Set.empty, Nothing, Set.empty, Nothing)
188+ _ -> (mempty, defaultHasTestSuites, Set.empty, Set.empty, Nothing, Set.empty, Nothing)
188− allBuildInfo gpd = concat
190+ allBuildInfo gpd = libExeBuildInfo gpd ++ testBenchBuildInfo gpd
191+ libExeBuildInfo gpd = concat
189 [ maybe mempty (goBI libBuildInfo) $ condLibrary gpd
192 [ maybe mempty (goBI libBuildInfo) $ condLibrary gpd
190 , concat $ map (goBI buildInfo . snd) $ condExecutables gpd
193 , concat $ map (goBI buildInfo . snd) $ condExecutables gpd
195+ testBenchBuildInfo gpd = concat
191− , if skipTests p
196+ [ if skipTests p
193 else concat $ map (goBI testBuildInfo . snd) $ condTestSuites gpd
198 else concat $ map (goBI testBuildInfo . snd) $ condTestSuites gpd
194 , concat $ map (goBI benchmarkBuildInfo . snd) $ condBenchmarks gpd
199 , concat $ map (goBI benchmarkBuildInfo . snd) $ condBenchmarks gpd
197− goBI f x = buildTools $ f $ condTreeData x
201+ goBI f x = buildTools $ f $ condTreeData x
198 depName (Dependency (PackageName pn) _) = Executable pn
203 depName (Dependency (PackageName pn) _) = Executable pn
199 go gpd tree
204 go gpd tree
200 = Map.filterWithKey (\k _ -> not $ ignoredDep k)
205 = Map.filterWithKey (\k _ -> not $ ignoredDep k)