packages feed

stan 0.1.1.0 → 0.1.2.0

raw patch · 5 files changed

+52/−21 lines, 5 files

Files

CHANGELOG.md view
@@ -3,6 +3,10 @@ `stan` uses [PVP Versioning][1]. The change log is available [on GitHub][2]. +## 0.1.2.0++* Added `runStan`, `getAnalysis`, `getStanConfig`+ ## 0.1.1.0  * Fix [bug #541](https://github.com/kowainik/stan/issues/541)
src/Stan.hs view
@@ -8,6 +8,9 @@  module Stan     ( run+    , runStan+    , getAnalysis+    , getStanConfig        -- ** Internal     , createCabalExtensionsMap@@ -26,7 +29,7 @@ import Stan.Cabal (createCabalExtensionsMap, usedCabalFiles) import Stan.Cli (CliToTomlArgs (..), InspectionArgs (..), ReportArgs (..), StanArgs (..),                  StanCommand (..), TomlToCliArgs (..), runStanCli)-import Stan.Config (ConfigP (..), applyConfig, configToCliCommand, defaultConfig, finaliseConfig)+import Stan.Config (ConfigP (..), applyConfig, configToCliCommand, defaultConfig, finaliseConfig, Config) import Stan.Config.Pretty (prettyConfigCli) import Stan.Core.Id (Id (..)) import Stan.EnvVars (EnvVars (..), envVarsToText, getEnvVars)@@ -52,9 +55,8 @@     StanCliToToml cliToTomlArgs -> runCliToToml cliToTomlArgs     StanInspectionsToMd -> putTextLn $ inspectionsMd inspections -runStan :: StanArgs -> IO ()-runStan StanArgs{..} = do-    let notJson = not stanArgsJsonOut+getStanConfig :: StanArgs -> Bool -> IO (Trial Text Config, Bool, EnvVars)+getStanConfig StanArgs{..} notJson = do     -- ENV vars     env@EnvVars{..} <- getEnvVars     let defConfTrial = envVarsUseDefaultConfigFile <> stanArgsUseDefaultConfigFile@@ -68,14 +70,26 @@     when notJson $ do         infoMessage "The following Configurations are used:\n"         putTextLn $ indent $ prettyTrialWith (toString . prettyConfigCli) configTrial+    pure (configTrial, useDefConfig, env)++getAnalysis :: StanArgs -> Bool -> Config -> [HieFile] -> IO Analysis+getAnalysis StanArgs{..} notJson config hieFiles = do+    -- create cabal default extensions map+    cabalExtensionsMap <- createCabalExtensionsMap notJson stanArgsCabalFilePath hieFiles+    -- get checks for each file+    let checksMap = applyConfig (map hie_hs_file hieFiles) config++    let analysis = runAnalysis cabalExtensionsMap checksMap (configIgnored config) hieFiles+    -- show what observations are ignored+    pure analysis++runStan :: StanArgs -> IO ()+runStan stanArgs@StanArgs{..} = do+    let notJson = not stanArgsJsonOut+    (configTrial, useDefConfig, env) <- getStanConfig stanArgs notJson     whenResult_ configTrial $ \warnings config -> do         hieFiles <- readHieFiles stanArgsHiedir-        -- create cabal default extensions map-        cabalExtensionsMap <- createCabalExtensionsMap notJson stanArgsCabalFilePath hieFiles-        -- get checks for each file-        let checksMap = applyConfig (map hie_hs_file hieFiles) config--        let analysis = runAnalysis cabalExtensionsMap checksMap (configIgnored config) hieFiles+        analysis <- getAnalysis stanArgs notJson config hieFiles         -- show what observations are ignored         when notJson $ putText $ indent $ prettyShowIgnoredObservations             (configIgnored config)@@ -119,8 +133,8 @@     getObservationSeverity :: Observation -> Severity     getObservationSeverity = inspectionSeverity . getInspectionById . observationInspectionId -    indent :: Text -> Text-    indent = unlines . map ("    " <>) . lines+indent :: Text -> Text+indent = unlines . map ("    " <>) . lines  runInspection :: InspectionArgs -> IO () runInspection InspectionArgs{..} = case inspectionArgsId of
+ stack-ghc-9.4.8.yaml view
@@ -0,0 +1,11 @@+resolver: lts-21.25 # GHC 9.4.8++extra-deps:+- clay-0.14.0@sha256:a50ba73137a39c55e89f24a7792107ec40ba07320b2c5ff7932049845c50ffc9,2204+- dir-traverse-0.2.3.0@sha256:adcc128f201ff95131b15ffe41365dc99c50dc3fa3a910f021521dc734013bfa,2137+- extensions-0.1.0.0@sha256:b8105dc43a57b0b3b54879e8dbb905676dfee3e8b59301fefbf2409a0fe95710,4447+- tomland-1.3.3.2@sha256:887dc39a8c9819deb8fcb6fde72e87dad4c94108b1736a5bf7215ccf3117bd0f,9474+- trial-0.0.0.0@sha256:ebd93f3485dd7f0ce8426fa46b500f26edbea285c2890150123e1b0f6a92c7db,4410+- trial-optparse-applicative-0.0.0.0@sha256:ee878dbf412849d4fb52d7bca93bec45a6392a93e03a46bd320109b9a0ff2a38,2540+- trial-tomland-0.0.0.0@sha256:c10c5c3f94e3dcfcad4a66cf70682ace77d5381596aff91fa2030636d07de977,2541+- validation-selective-0.2.0.0@sha256:e1ab5482dede8bf676d729a09109c7c5f798363b9d458e4197a27afb8b48fdd3,3907
stack.yaml view
@@ -1,11 +1,12 @@-resolver: lts-21.22 # GHC 9.4.8+resolver: lts-22.0 # GHC 9.6.3  extra-deps:-- clay-0.14.0@sha256:a50ba73137a39c55e89f24a7792107ec40ba07320b2c5ff7932049845c50ffc9,2204+- ansi-wl-pprint-0.6.9@sha256:fb737bc96e2aef34ad595d54ced7a73f648c521ebcb00fe0679aff45ccd49212,2448 - dir-traverse-0.2.3.0@sha256:adcc128f201ff95131b15ffe41365dc99c50dc3fa3a910f021521dc734013bfa,2137-- extensions-0.1.0.0@sha256:b8105dc43a57b0b3b54879e8dbb905676dfee3e8b59301fefbf2409a0fe95710,4447-- tomland-1.3.3.2@sha256:d18682d9ad9014cc42a12bd122ae7834a950a052a122388995f33d6f349ff60d,9235-- trial-0.0.0.0@sha256:7946afde7134db6c5c35b7ab611018e2925e9c9fbb8c0fcf9831f3c7020928f1,4416-- trial-optparse-applicative-0.0.0.0@sha256:92548124f12c746bd30bb19c2e57b8a1bcad5824980f04a387efb0b1487c053c,2478-- trial-tomland-0.0.0.0@sha256:77f63a62660f94774375b2c1a1b28d25e4791d9bcad05e33dd7597cff0e75beb,2547+- extensions-0.1.0.1@sha256:f365d1da5ea1c60edd11334113ecd0d78eb12b4186b31151322ff7175a9adef7,5108+- optparse-applicative-0.17.1.0@sha256:cb5f5f0dc9749846fc0e3df0041a8efee6368cc1cff07336acd4c3b02a951ed6,5147+- tomland-1.3.3.2@sha256:887dc39a8c9819deb8fcb6fde72e87dad4c94108b1736a5bf7215ccf3117bd0f,9474+- trial-0.0.0.0@sha256:ebd93f3485dd7f0ce8426fa46b500f26edbea285c2890150123e1b0f6a92c7db,4410+- trial-optparse-applicative-0.0.0.0@sha256:ee878dbf412849d4fb52d7bca93bec45a6392a93e03a46bd320109b9a0ff2a38,2540+- trial-tomland-0.0.0.0@sha256:c10c5c3f94e3dcfcad4a66cf70682ace77d5381596aff91fa2030636d07de977,2541 - validation-selective-0.2.0.0@sha256:e1ab5482dede8bf676d729a09109c7c5f798363b9d458e4197a27afb8b48fdd3,3907
stan.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.4 name:                stan-version:             0.1.1.0+version:             0.1.2.0 synopsis:            Haskell STatic ANalyser description:     Stan is a Haskell __ST__atic __AN__alysis CLI tool.@@ -17,8 +17,9 @@ stability:           experimental extra-doc-files:     README.md                      CHANGELOG.md-                     stack.yaml extra-source-files:  test/.stan-example.toml+                     stack-ghc-9.4.8.yaml+                     stack.yaml tested-with:         GHC == 8.8.4                      GHC == 8.10.7