@@ -443,17 +443,19 @@ verify inputName = case mkPackageName (pack inputName) of
443
443
444
444
traverse_ (verifyPackage db paths) packages
445
445
446
- verifyPackageSet :: IO ()
447
- verifyPackageSet = do
446
+ verifyPackageSet :: Maybe Text -> IO ()
447
+ verifyPackageSet after = do
448
448
pkg <- readPackageFile
449
449
db <- readPackageSet pkg
450
- echoT (" Verifying " <> pack (show (Map. size db)) <> " packages." )
450
+
451
+ let filtered = maybe db (\ after_ -> Map. filterWithKey (\ k _ -> runPackageName k >= after_) db) after
452
+ echoT (" Verifying " <> pack (show (Map. size filtered)) <> " packages." )
451
453
echoT " Warning: this could take some time!"
452
454
453
455
let installOrUpdate' (name, pkgInfo) = (name, ) <$> installOrUpdate (set pkg) name pkgInfo
454
456
paths <- Map. fromList <$> traverse installOrUpdate' (Map. toList db)
455
457
456
- for_ (Map. toList db ) $ \ (name, _) -> verifyPackage db paths name
458
+ for_ (Map. toList filtered ) $ \ (name, _) -> verifyPackage db paths name
457
459
458
460
verifyPackage :: PackageSet -> Map. Map PackageName Turtle. FilePath -> PackageName -> IO ()
459
461
verifyPackage db paths name = do
@@ -525,7 +527,7 @@ main = do
525
527
(Opts. info (checkForUpdates <$> apply <*> applyMajor Opts. <**> Opts. helper)
526
528
(Opts. progDesc " Check all packages in the package set for new releases" ))
527
529
, Opts. command " verify-set"
528
- (Opts. info (pure verifyPackageSet)
530
+ (Opts. info (verifyPackageSet <$> optional (fromString <$> after) )
529
531
(Opts. progDesc " Verify that the packages in the package set build correctly" ))
530
532
, Opts. command " verify"
531
533
(Opts. info (verify <$> pkg Opts. <**> Opts. helper)
@@ -565,3 +567,7 @@ main = do
565
567
Opts. long " sort"
566
568
<> Opts. short ' s'
567
569
<> Opts. help " Sort packages in dependency order"
570
+
571
+ after = Opts. strOption $
572
+ Opts. long " after"
573
+ <> Opts. help " Skip packages before this package during verification"
0 commit comments