@@ -51,6 +51,7 @@ import App.Fossa.Config.Analyze (
5151import App.Fossa.Config.Analyze qualified as Config
5252import App.Fossa.Config.Common (DestinationMeta (.. ), destinationApiOpts , destinationMetadata )
5353import App.Fossa.Ficus.Analyze (analyzeWithFicus )
54+ import App.Fossa.Ficus.Types (FicusAnalysisResults (vendoredDependencyScanResults ), FicusVendoredDependencyScanResults (FicusVendoredDependencyScanResults ))
5455import App.Fossa.FirstPartyScan (runFirstPartyScan )
5556import App.Fossa.Lernie.Analyze (analyzeWithLernie )
5657import App.Fossa.Lernie.Types (LernieResults (.. ))
@@ -103,7 +104,7 @@ import Data.Flag (Flag, fromFlag)
103104import Data.Foldable (traverse_ )
104105import Data.Functor (($>) )
105106import Data.List.NonEmpty qualified as NE
106- import Data.Maybe (fromMaybe , isJust , mapMaybe )
107+ import Data.Maybe (fromMaybe , isJust , mapMaybe , maybeToList )
107108import Data.String.Conversion (decodeUtf8 , toText )
108109import Data.Text.Extra (showT )
109110import Data.Traversable (for )
@@ -378,13 +379,22 @@ analyze cfg = Diag.context "fossa-analyze" $ do
378379 vsiResults' :: [SourceUnit ]
379380 vsiResults' = fromMaybe [] $ join (resultToMaybe vsiResults)
380381
382+ ficusResults' :: [SourceUnit ]
383+ ficusResults' =
384+ maybeToList $
385+ ficusResults
386+ >>= vendoredDependencyScanResults
387+ >>= \ (FicusVendoredDependencyScanResults maybeSrcUnit) -> maybeSrcUnit
388+
381389 additionalSourceUnits :: [SourceUnit ]
382- additionalSourceUnits = vsiResults' <> mapMaybe (join . resultToMaybe) [manualSrcUnits, binarySearchResults, dynamicLinkedResults]
390+ additionalSourceUnits = vsiResults' <> ficusResults' <> mapMaybe (join . resultToMaybe) [manualSrcUnits, binarySearchResults, dynamicLinkedResults]
383391 traverse_ (Diag. flushLogs SevError SevDebug ) [manualSrcUnits, binarySearchResults, dynamicLinkedResults]
384392 -- Flush logs using the original Result from VSI.
385393 traverse_ (Diag. flushLogs SevError SevDebug ) [vsiResults]
386394 -- Flush logs from lernie
387395 traverse_ (Diag. flushLogs SevError SevDebug ) [maybeLernieResults]
396+ -- Flush logs from ficus
397+ traverse_ (Diag. flushLogs SevError SevDebug ) [maybeFicusResults]
388398
389399 maybeFirstPartyScanResults <-
390400 Diag. errorBoundaryIO . diagToDebug $
0 commit comments