Skip to content

Commit

Permalink
Merge pull request #5844 from commercialhaskell/fix5323
Browse files Browse the repository at this point in the history
Fix #5323 New `--no-rsl-in-log` option (by default)
  • Loading branch information
mpilgrem authored Aug 28, 2022
2 parents 2c4103a + 7cbdcc6 commit 5a5149b
Show file tree
Hide file tree
Showing 14 changed files with 57 additions and 17 deletions.
3 changes: 3 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ Behavior changes:
there is only one `*.tix` file, in case a package has tested the library of
another package that has not tested its own library. See
[#5713](https://github.com/commercialhaskell/stack/issues/5713)
* `stack --verbose` no longer includes the lengthy raw snapshot layer (rsl) in
the debug output by default. The new `stack --[no-]rsl-in-log` flag enables or
disables the inclusion of the rsl in the debug output.

Other enhancements:

Expand Down
10 changes: 10 additions & 0 deletions doc/GUIDE_advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,16 @@ output (e.g. `0.35.0`) and quit.
Stack will report its numeric version to standard output (e.g. `2.7.5`) and
quit.

## The `stack --[no-]rsl-in-log` flag

(Since 2.7.6)

Default: Disabled

Enables/disables the logging of the raw snapshot layer (rsl) in debug output.
Information about the raw snapshot layer can be lengthy. If you do not need it,
it is best omitted from the debug output.

## The `stack --silent` flag

Equivalent to the `stack --verbosity silent` option.
Expand Down
4 changes: 2 additions & 2 deletions src/Stack/Lock.hs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import Data.ByteString.Builder (byteString)
import qualified Data.List.NonEmpty as NE
import qualified Data.Map as Map
import qualified Data.Yaml as Yaml
import Pantry
import Path (parent)
import Path.Extended (addExtension)
import Path.IO (doesFileExist)
Expand Down Expand Up @@ -117,8 +116,9 @@ lockCachedWanted stackFile resolver fillWanted = do
toMap = Map.fromList . map (\ll -> (llOriginal ll, llCompleted ll))
slocCache = toMap $ lckSnapshotLocations locked
pkgLocCache = toMap $ lckPkgImmutableLocations locked
debugRSL <- view rslInLogL
(snap, slocCompleted, pliCompleted) <-
loadAndCompleteSnapshotRaw resolver slocCache pkgLocCache
loadAndCompleteSnapshotRaw' debugRSL resolver slocCache pkgLocCache
let compiler = snapshotCompiler snap
snPkgs = Map.mapWithKey (\n p h -> snapToDepPackage h n p) (snapshotPackages snap)
(wanted, prjCompleted) <- fillWanted pkgLocCache compiler snPkgs
Expand Down
5 changes: 5 additions & 0 deletions src/Stack/Options/GlobalParser.hs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ globalOptsParser currentDir kind defLogLevel =
"time-in-log"
"inclusion of timings in logs, for the purposes of using diff with logs"
hide <*>
firstBoolFlagsFalse
"rsl-in-log"
"inclusion of raw snapshot layer (rsl) in logs"
hide <*>
configOptsParser currentDir kind <*>
optionalFirst (abstractResolverOptsParser hide0) <*>
pure (First Nothing) <*> -- resolver root is only set via the script command
Expand Down Expand Up @@ -87,6 +91,7 @@ globalOptsFromMonoid defaultTerminal GlobalOptsMonoid{..} = do
, globalDockerEntrypoint = getFirst globalMonoidDockerEntrypoint
, globalLogLevel = fromFirst defaultLogLevel globalMonoidLogLevel
, globalTimeInLog = fromFirstTrue globalMonoidTimeInLog
, globalRSLInLog = fromFirstFalse globalMonoidRSLInLog
, globalConfigMonoid = globalMonoidConfigMonoid
, globalResolver = resolver
, globalCompiler = getFirst globalMonoidCompiler
Expand Down
4 changes: 2 additions & 2 deletions src/Stack/SourceMap.hs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import Data.ByteString.Builder (byteString)
import qualified Data.Conduit.List as CL
import qualified Distribution.PackageDescription as PD
import Distribution.System (Platform(..))
import Pantry
import qualified Pantry.SHA256 as SHA256
import qualified RIO
import qualified RIO.Map as Map
Expand Down Expand Up @@ -263,7 +262,8 @@ loadProjectSnapshotCandidate ::
-> Bool
-> RIO env (SnapshotCandidate env)
loadProjectSnapshotCandidate loc printWarnings buildHaddocks = do
(snapshot, _, _) <- loadAndCompleteSnapshotRaw loc Map.empty Map.empty
debugRSL <- view rslInLogL
(snapshot, _, _) <- loadAndCompleteSnapshotRaw' debugRSL loc Map.empty Map.empty
deps <- Map.traverseWithKey (snapToDepPackage False) (snapshotPackages snapshot)
let wc = snapshotCompiler snapshot
globals <- Map.map GlobalPackageVersion <$> globalsFromHints wc
Expand Down
8 changes: 7 additions & 1 deletion src/Stack/Types/Config.hs
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ module Stack.Types.Config
-- ** GlobalOpts & GlobalOptsMonoid
,GlobalOpts(..)
,GlobalOptsMonoid(..)
,rslInLogL
,StackYamlLoc(..)
,stackYamlLocL
,LockFileBehavior(..)
Expand Down Expand Up @@ -513,6 +514,7 @@ data GlobalOpts = GlobalOpts
-- ^ Data used when stack is acting as a Docker entrypoint (internal use only)
, globalLogLevel :: !LogLevel -- ^ Log level
, globalTimeInLog :: !Bool -- ^ Whether to include timings in logs.
, globalRSLInLog :: !Bool -- ^ Whether to include raw snapshot layer (RSL) in logs.
, globalConfigMonoid :: !ConfigMonoid -- ^ Config monoid, for passing into 'loadConfig'
, globalResolver :: !(Maybe AbstractResolver) -- ^ Resolver override
, globalCompiler :: !(Maybe WantedCompiler) -- ^ Compiler override
Expand All @@ -523,6 +525,9 @@ data GlobalOpts = GlobalOpts
, globalLockFileBehavior :: !LockFileBehavior
} deriving (Show)

rslInLogL :: HasRunner env => SimpleGetter env Bool
rslInLogL = globalOptsL.to globalRSLInLog

-- | Location for the project's stack.yaml file.
data StackYamlLoc
= SYLDefault
Expand Down Expand Up @@ -590,6 +595,7 @@ data GlobalOptsMonoid = GlobalOptsMonoid
-- ^ Data used when stack is acting as a Docker entrypoint (internal use only)
, globalMonoidLogLevel :: !(First LogLevel) -- ^ Log level
, globalMonoidTimeInLog :: !FirstTrue -- ^ Whether to include timings in logs.
, globalMonoidRSLInLog :: !FirstFalse -- ^ Whether to include raw snaphot layer (RSL) in logs.
, globalMonoidConfigMonoid :: !ConfigMonoid -- ^ Config monoid, for passing into 'loadConfig'
, globalMonoidResolver :: !(First (Unresolved AbstractResolver)) -- ^ Resolver override
, globalMonoidResolverRoot :: !(First FilePath) -- ^ root directory for resolver relative path
Expand Down Expand Up @@ -1879,7 +1885,7 @@ globalOptsL :: HasRunner env => Lens' env GlobalOpts
globalOptsL = runnerL.lens runnerGlobalOpts (\x y -> x { runnerGlobalOpts = y })

-- | Class for environment values that can provide a 'Config'.
class (HasPlatform env, HasGHCVariant env, HasProcessContext env, HasPantryConfig env, HasTerm env, HasRunner env) => HasConfig env where
class ( HasPlatform env, HasGHCVariant env, HasProcessContext env, HasPantryConfig env, HasTerm env, HasRunner env) => HasConfig env where
configL :: Lens' env Config
default configL :: HasBuildConfig env => Lens' env Config
configL = buildConfigL.lens bcConfig (\x y -> x { bcConfig = y })
Expand Down
4 changes: 2 additions & 2 deletions stack-ghc-941.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ extra-deps:
- open-browser-0.2.1.0@sha256:e4be4a206f5ab6ddb5ae4fbb39101529196e20af5670c5d33326fea6eff886fd,1529
- optparse-applicative-0.17.0.0@sha256:0713e54cbb341e5cae979e2ac441eb3a5ff42e303001f432bd58c19e5638bdda,4967
- optparse-simple-0.1.1.4@sha256:833326c18a91f7d09e94167b39936835c772b40edf31ee6368da1ced7e1a2e8d,1851
- pantry-0.5.6@sha256:a8e3bb752b763aae79e418da00d0862b538cf49b5a8568d34a64b014c1862041,3913
- pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914
- parser-combinators-1.3.0@sha256:edd54ba56cbae8fadbcceebcfef31b2c70a835e92e5eda41151b939c40647281,1570
- path-0.9.2@sha256:2f2a7f01737cd350b30381b619e1a862601c83f10ede4d6935f76f66e63ae0c7,3273
- path-io-1.7.0@sha256:38b1dd6ccaf18ebbc1f3da1a48061c059aa49348ed99ac842a375a23346bb9bd,2059
Expand Down Expand Up @@ -158,7 +158,7 @@ extra-deps:
- th-compat-0.1.4@sha256:6ca77c4e80b4e4109e30549c269631a9cc295c8fc2431ce4123972a5f80f7bfc,3135
- th-expand-syns-0.4.10.0@sha256:4f0ae7278cf7b4485a37d550463bf8507e7550b93abcb085dc7bf41c3852def8,2130
- th-lift-0.8.2@sha256:f135f67b018c22889e68b094773273dcf8f9e16fcfa330bf4778f84fce8925e9,2677
- th-lift-instances-0.1.20
- th-lift-instances-0.1.20@sha256:c7886eb39760825b8861c68e48b2b5efb5eff8d2cb76201fdd0fb04bcbeff78e,2608
- th-reify-many-0.1.10@sha256:1827dcffb0c9f214e9739053fc808683336ea65c3749ff2d6148db189cbbd2a4,1753
- these-1.1.1.1@sha256:f069e766b8fed73d457fca20cc197f5c539bcdd03d7636e478ddf14dbb67684a,2748
- time-compat-1.9.6.1@sha256:42d8f2e08e965e1718917d54ad69e1d06bd4b87d66c41dc7410f59313dba4ed1,5033
Expand Down
8 changes: 4 additions & 4 deletions stack-ghc-941.yaml.lock
Original file line number Diff line number Diff line change
Expand Up @@ -730,12 +730,12 @@ packages:
original:
hackage: optparse-simple-0.1.1.4@sha256:833326c18a91f7d09e94167b39936835c772b40edf31ee6368da1ced7e1a2e8d,1851
- completed:
hackage: pantry-0.5.6@sha256:a8e3bb752b763aae79e418da00d0862b538cf49b5a8568d34a64b014c1862041,3913
hackage: pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914
pantry-tree:
sha256: 50dbc1e38c1e9d5daeb2ebab9c74e54f4a67ac53ad98d4c856633ea9399fb906
sha256: c96fe10d96d1b1a9439c473bf27eeb2d94ad2fdbb93ccc4d9f0c69643b868c6d
size: 2524
original:
hackage: pantry-0.5.6@sha256:a8e3bb752b763aae79e418da00d0862b538cf49b5a8568d34a64b014c1862041,3913
hackage: pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914
- completed:
hackage: parser-combinators-1.3.0@sha256:edd54ba56cbae8fadbcceebcfef31b2c70a835e92e5eda41151b939c40647281,1570
pantry-tree:
Expand Down Expand Up @@ -1029,7 +1029,7 @@ packages:
sha256: 0498495a69ca395d95b12a67b6884adaec4ca9ab76b9a62ca76ba064e35a08ff
size: 526
original:
hackage: th-lift-instances-0.1.20
hackage: th-lift-instances-0.1.20@sha256:c7886eb39760825b8861c68e48b2b5efb5eff8d2cb76201fdd0fb04bcbeff78e,2608
- completed:
hackage: th-reify-many-0.1.10@sha256:1827dcffb0c9f214e9739053fc808683336ea65c3749ff2d6148db189cbbd2a4,1753
pantry-tree:
Expand Down
4 changes: 2 additions & 2 deletions stack-ghc-942.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ extra-deps:
- open-browser-0.2.1.0@sha256:e4be4a206f5ab6ddb5ae4fbb39101529196e20af5670c5d33326fea6eff886fd,1529
- optparse-applicative-0.17.0.0@sha256:0713e54cbb341e5cae979e2ac441eb3a5ff42e303001f432bd58c19e5638bdda,4967
- optparse-simple-0.1.1.4@sha256:833326c18a91f7d09e94167b39936835c772b40edf31ee6368da1ced7e1a2e8d,1851
- pantry-0.5.6@sha256:a8e3bb752b763aae79e418da00d0862b538cf49b5a8568d34a64b014c1862041,3913
- pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914
- parser-combinators-1.3.0@sha256:edd54ba56cbae8fadbcceebcfef31b2c70a835e92e5eda41151b939c40647281,1570
- path-0.9.2@sha256:2f2a7f01737cd350b30381b619e1a862601c83f10ede4d6935f76f66e63ae0c7,3273
- path-io-1.7.0@sha256:38b1dd6ccaf18ebbc1f3da1a48061c059aa49348ed99ac842a375a23346bb9bd,2059
Expand Down Expand Up @@ -158,7 +158,7 @@ extra-deps:
- th-compat-0.1.4@sha256:6ca77c4e80b4e4109e30549c269631a9cc295c8fc2431ce4123972a5f80f7bfc,3135
- th-expand-syns-0.4.10.0@sha256:4f0ae7278cf7b4485a37d550463bf8507e7550b93abcb085dc7bf41c3852def8,2130
- th-lift-0.8.2@sha256:f135f67b018c22889e68b094773273dcf8f9e16fcfa330bf4778f84fce8925e9,2677
- th-lift-instances-0.1.20
- th-lift-instances-0.1.20@sha256:c7886eb39760825b8861c68e48b2b5efb5eff8d2cb76201fdd0fb04bcbeff78e,2608
- th-reify-many-0.1.10@sha256:1827dcffb0c9f214e9739053fc808683336ea65c3749ff2d6148db189cbbd2a4,1753
- these-1.1.1.1@sha256:f069e766b8fed73d457fca20cc197f5c539bcdd03d7636e478ddf14dbb67684a,2748
- time-compat-1.9.6.1@sha256:42d8f2e08e965e1718917d54ad69e1d06bd4b87d66c41dc7410f59313dba4ed1,5033
Expand Down
8 changes: 4 additions & 4 deletions stack-ghc-942.yaml.lock
Original file line number Diff line number Diff line change
Expand Up @@ -730,12 +730,12 @@ packages:
original:
hackage: optparse-simple-0.1.1.4@sha256:833326c18a91f7d09e94167b39936835c772b40edf31ee6368da1ced7e1a2e8d,1851
- completed:
hackage: pantry-0.5.6@sha256:a8e3bb752b763aae79e418da00d0862b538cf49b5a8568d34a64b014c1862041,3913
hackage: pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914
pantry-tree:
sha256: 50dbc1e38c1e9d5daeb2ebab9c74e54f4a67ac53ad98d4c856633ea9399fb906
sha256: c96fe10d96d1b1a9439c473bf27eeb2d94ad2fdbb93ccc4d9f0c69643b868c6d
size: 2524
original:
hackage: pantry-0.5.6@sha256:a8e3bb752b763aae79e418da00d0862b538cf49b5a8568d34a64b014c1862041,3913
hackage: pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914
- completed:
hackage: parser-combinators-1.3.0@sha256:edd54ba56cbae8fadbcceebcfef31b2c70a835e92e5eda41151b939c40647281,1570
pantry-tree:
Expand Down Expand Up @@ -1029,7 +1029,7 @@ packages:
sha256: 0498495a69ca395d95b12a67b6884adaec4ca9ab76b9a62ca76ba064e35a08ff
size: 526
original:
hackage: th-lift-instances-0.1.20
hackage: th-lift-instances-0.1.20@sha256:c7886eb39760825b8861c68e48b2b5efb5eff8d2cb76201fdd0fb04bcbeff78e,2608
- completed:
hackage: th-reify-many-0.1.10@sha256:1827dcffb0c9f214e9739053fc808683336ea65c3749ff2d6148db189cbbd2a4,1753
pantry-tree:
Expand Down
1 change: 1 addition & 0 deletions stack-macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ extra-deps:
# nightly-2022-08-02 provides hi-file-parser-0.1.2.0, which does not accomodate
# GHC 9.4.1
- hi-file-parser-0.1.3.0@sha256:b868e1bcb73fffe5963de6879f0a0a4c5ced97e08fc09c2c9428af884cdcaa74,2488
- pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914
# GHC 9.2.4 comes with process-1.6.13.2, which lacks important bug fixes
- process-1.6.15.0@sha256:04df32d9497add5f0b90a27a3eceffa4bad5c2f41d038bd12ed6efc454db3faf,2845
# Although Cabal-3.6.3.0 is a global package, it depends on process and so has
Expand Down
7 changes: 7 additions & 0 deletions stack-macos.yaml.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ packages:
size: 1929
original:
hackage: hi-file-parser-0.1.3.0@sha256:b868e1bcb73fffe5963de6879f0a0a4c5ced97e08fc09c2c9428af884cdcaa74,2488
- completed:
hackage: pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914
pantry-tree:
sha256: c96fe10d96d1b1a9439c473bf27eeb2d94ad2fdbb93ccc4d9f0c69643b868c6d
size: 2524
original:
hackage: pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914
- completed:
hackage: process-1.6.15.0@sha256:04df32d9497add5f0b90a27a3eceffa4bad5c2f41d038bd12ed6efc454db3faf,2845
pantry-tree:
Expand Down
1 change: 1 addition & 0 deletions stack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ extra-deps:
# nightly-2022-08-02 provides hi-file-parser-0.1.2.0, which does not accomodate
# GHC 9.4.1
- hi-file-parser-0.1.3.0@sha256:b868e1bcb73fffe5963de6879f0a0a4c5ced97e08fc09c2c9428af884cdcaa74,2488
- pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914

drop-packages:
# See https://github.com/commercialhaskell/stack/pull/4712
Expand Down
7 changes: 7 additions & 0 deletions stack.yaml.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ packages:
size: 1929
original:
hackage: hi-file-parser-0.1.3.0@sha256:b868e1bcb73fffe5963de6879f0a0a4c5ced97e08fc09c2c9428af884cdcaa74,2488
- completed:
hackage: pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914
pantry-tree:
sha256: c96fe10d96d1b1a9439c473bf27eeb2d94ad2fdbb93ccc4d9f0c69643b868c6d
size: 2524
original:
hackage: pantry-0.5.7@sha256:f96119ad2cc3771fe0891939d8a29c7f089fb333a70646e8deb2ec60532ea948,3914
snapshots:
- completed:
sha256: ce4257dd36ba3b96eeee64cfb08884ddb46dd73f81f8b25a71658834edc607e2
Expand Down

0 comments on commit 5a5149b

Please sign in to comment.