@@ -24,7 +24,6 @@ module Security.Advisories.Filesystem
2424 , forAdvisory
2525 , listAdvisories
2626 , advisoryFromFile
27- , parseComponentIdentifier
2827 ) where
2928
3029#if MIN_VERSION_base(4,18,0)
@@ -37,18 +36,16 @@ import Data.Semigroup (Max(Max, getMax))
3736import Data.Traversable (for )
3837
3938import Control.Monad.IO.Class (MonadIO , liftIO )
40- import qualified Data.Text as T
4139import qualified Data.Text.IO as T
42- import System.FilePath ((</>) , splitDirectories )
40+ import System.FilePath ((</>) )
4341import System.Directory (doesDirectoryExist , listDirectory )
4442import Validation (Validation (.. ))
4543
46- import Security.Advisories (Advisory , AttributeOverridePolicy (NoOverrides ), OutOfBandAttributes (.. ), ParseAdvisoryError , parseAdvisory , ComponentIdentifier ( .. ) )
44+ import Security.Advisories (Advisory , AttributeOverridePolicy (NoOverrides ), OutOfBandAttributes (.. ), ParseAdvisoryError , parseAdvisory )
4745import Security.Advisories.Core.HsecId (HsecId , parseHsecId , placeholder )
4846import Security.Advisories.Git (firstAppearanceCommitDate , getAdvisoryGitInfo , lastModificationCommitDate )
4947import Control.Monad.Except (runExceptT , ExceptT (ExceptT ), withExceptT )
50- import Security.Advisories.Parse (OOBError (GitHasNoOOB , PathHasNoComponentIdentifier ))
51- import Security.Advisories.Core.Advisory (ghcComponentFromText )
48+ import Security.Advisories.Parse (OOBError (GitHasNoOOB ))
5249
5350
5451dirNameAdvisories :: FilePath
@@ -140,14 +137,12 @@ advisoryFromFile
140137 :: (MonadIO m )
141138 => FilePath -> m (Validation ParseAdvisoryError Advisory )
142139advisoryFromFile advisoryPath = do
143- oob <- runExceptT $ do
144- ecosystem <- parseComponentIdentifier advisoryPath
140+ oob <- runExceptT $
145141 withExceptT GitHasNoOOB $ do
146142 gitInfo <- ExceptT $ liftIO $ getAdvisoryGitInfo advisoryPath
147143 pure OutOfBandAttributes
148144 { oobPublished = firstAppearanceCommitDate gitInfo
149145 , oobModified = lastModificationCommitDate gitInfo
150- , oobComponentIdentifier = ecosystem
151146 }
152147 fileContent <- liftIO $ T. readFile advisoryPath
153148 pure
@@ -173,10 +168,3 @@ _forFilesByYear root go = do
173168 Nothing -> pure mempty
174169 Just hsid -> go (yearDir </> file) hsid
175170 else pure mempty
176-
177- parseComponentIdentifier :: Monad m => FilePath -> ExceptT OOBError m (Maybe ComponentIdentifier )
178- parseComponentIdentifier fp = ExceptT . pure $ case drop 1 $ reverse $ splitDirectories fp of
179- package : " hackage" : _ -> pure (Just $ Hackage $ T. pack package)
180- component : " ghc" : _ | Just ghc <- ghcComponentFromText (T. pack component) -> pure (Just $ GHC ghc)
181- _ : _ : " advisories" : _ -> Left PathHasNoComponentIdentifier
182- _ -> pure Nothing
0 commit comments