Skip to content

Commit ef90278

Browse files
authored
Merge pull request #5280 from aherrmann/ls-dependencies
sha256 and size in ls dependencies json for archive dependencies
2 parents 6a04613 + 84002cb commit ef90278

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

ChangeLog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ Behavior changes:
1313

1414
Other enhancements:
1515

16+
* `stack ls dependencies json` now includes fields `sha256` and `size` for
17+
dependencies of `type` `archive` in `location`.
18+
[#5280](https://github.com/commercialhaskell/stack/issues/5280)
1619
* Build failures now show a hint to scroll up to the corresponding section
1720
[#5279](https://github.com/commercialhaskell/stack/issues/5279)
1821

src/Stack/Dot.hs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,9 @@ pkgLocToJSON (PLImmutable (PLIArchive archive _)) = let url = case archiveLocati
188188
ALUrl u -> u
189189
ALFilePath (ResolvedPath _ path) -> Text.pack $ "file://" ++ Path.toFilePath path
190190
in object [ "type" .= ("archive" :: Text)
191-
, "url" .= url ]
191+
, "url" .= url
192+
, "sha256" .= archiveHash archive
193+
, "size" .= archiveSize archive ]
192194
pkgLocToJSON (PLImmutable (PLIRepo repo _)) = object [ "type" .= case repoType repo of
193195
RepoGit -> "git" :: Text
194196
RepoHg -> "hg" :: Text

test/integration/tests/4101-dependency-tree/Main.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,6 @@ main =
152152

153153
stackCheckStdout ["ls", "dependencies", "json"] $ \stdOut -> do
154154
currdir <- getCurrentDirectory
155-
let expected = "[{\"dependencies\":[\"base\",\"bytestring\",\"time\"],\"name\":\"unix\",\"version\":\"2.7.2.2\",\"license\":\"BSD-3\"},{\"dependencies\":[\"base\"],\"name\":\"transformers\",\"version\":\"0.5.6.2\",\"license\":\"BSD-3\"},{\"dependencies\":[\"base\",\"deepseq\"],\"name\":\"time\",\"version\":\"1.8.0.2\",\"license\":\"BSD-3\"},{\"location\":{\"url\":\"file://" ++ currdir ++ "/subproject/\",\"type\":\"project package\"},\"dependencies\":[\"base\"],\"name\":\"subproject\",\"version\":\"0.1.0.0\",\"license\":\"AllRightsReserved\"},{\"dependencies\":[],\"name\":\"rts\",\"version\":\"1.0\",\"license\":\"BSD-3\"},{\"location\":{\"url\":\"https://hackage.haskell.org/package/mtl-2.2.2\",\"type\":\"hackage\"},\"dependencies\":[\"base\",\"transformers\"],\"name\":\"mtl\",\"version\":\"2.2.2\",\"license\":\"BSD3\"},{\"dependencies\":[\"ghc-prim\"],\"name\":\"integer-gmp\",\"version\":\"1.0.2.0\",\"license\":\"BSD-3\"},{\"dependencies\":[\"rts\"],\"name\":\"ghc-prim\",\"version\":\"0.5.3\",\"license\":\"BSD-3\"},{\"location\":{\"url\":\"file://" ++ currdir ++ "/\",\"type\":\"project package\"},\"dependencies\":[\"base\",\"filelock\",\"mtl\",\"subproject\"],\"name\":\"files\",\"version\":\"0.1.0.0\",\"license\":\"AllRightsReserved\"},{\"location\":{\"url\":\"https://github.com/snoyberg/filelock/archive/4f080496d8bf153fbe26e64d1f52cf73c7db25f6.tar.gz\",\"type\":\"archive\"},\"dependencies\":[\"base\",\"unix\"],\"name\":\"filelock\",\"version\":\"0.1.1.2\",\"license\":\"PublicDomain\"},{\"dependencies\":[\"array\",\"base\"],\"name\":\"deepseq\",\"version\":\"1.4.4.0\",\"license\":\"BSD-3\"},{\"dependencies\":[\"base\",\"deepseq\",\"ghc-prim\",\"integer-gmp\"],\"name\":\"bytestring\",\"version\":\"0.10.8.2\",\"license\":\"BSD-3\"},{\"dependencies\":[\"ghc-prim\",\"integer-gmp\",\"rts\"],\"name\":\"base\",\"version\":\"4.12.0.0\",\"license\":\"BSD-3\"},{\"dependencies\":[\"base\"],\"name\":\"array\",\"version\":\"0.5.3.0\",\"license\":\"BSD-3\"}]\n"
155+
let expected = "[{\"dependencies\":[\"base\",\"bytestring\",\"time\"],\"name\":\"unix\",\"version\":\"2.7.2.2\",\"license\":\"BSD-3\"},{\"dependencies\":[\"base\"],\"name\":\"transformers\",\"version\":\"0.5.6.2\",\"license\":\"BSD-3\"},{\"dependencies\":[\"base\",\"deepseq\"],\"name\":\"time\",\"version\":\"1.8.0.2\",\"license\":\"BSD-3\"},{\"location\":{\"url\":\"file://" ++ currdir ++ "/subproject/\",\"type\":\"project package\"},\"dependencies\":[\"base\"],\"name\":\"subproject\",\"version\":\"0.1.0.0\",\"license\":\"AllRightsReserved\"},{\"dependencies\":[],\"name\":\"rts\",\"version\":\"1.0\",\"license\":\"BSD-3\"},{\"location\":{\"url\":\"https://hackage.haskell.org/package/mtl-2.2.2\",\"type\":\"hackage\"},\"dependencies\":[\"base\",\"transformers\"],\"name\":\"mtl\",\"version\":\"2.2.2\",\"license\":\"BSD3\"},{\"dependencies\":[\"ghc-prim\"],\"name\":\"integer-gmp\",\"version\":\"1.0.2.0\",\"license\":\"BSD-3\"},{\"dependencies\":[\"rts\"],\"name\":\"ghc-prim\",\"version\":\"0.5.3\",\"license\":\"BSD-3\"},{\"location\":{\"url\":\"file://" ++ currdir ++ "/\",\"type\":\"project package\"},\"dependencies\":[\"base\",\"filelock\",\"mtl\",\"subproject\"],\"name\":\"files\",\"version\":\"0.1.0.0\",\"license\":\"AllRightsReserved\"},{\"location\":{\"size\":9228,\"url\":\"https://github.com/snoyberg/filelock/archive/4f080496d8bf153fbe26e64d1f52cf73c7db25f6.tar.gz\",\"type\":\"archive\",\"sha256\":\"c27641e26137f52b27e3ef9e27e7ac3f845f719ea54a12475f00f2ea7e6d9afc\"},\"dependencies\":[\"base\",\"unix\"],\"name\":\"filelock\",\"version\":\"0.1.1.2\",\"license\":\"PublicDomain\"},{\"dependencies\":[\"array\",\"base\"],\"name\":\"deepseq\",\"version\":\"1.4.4.0\",\"license\":\"BSD-3\"},{\"dependencies\":[\"base\",\"deepseq\",\"ghc-prim\",\"integer-gmp\"],\"name\":\"bytestring\",\"version\":\"0.10.8.2\",\"license\":\"BSD-3\"},{\"dependencies\":[\"ghc-prim\",\"integer-gmp\",\"rts\"],\"name\":\"base\",\"version\":\"4.12.0.0\",\"license\":\"BSD-3\"},{\"dependencies\":[\"base\"],\"name\":\"array\",\"version\":\"0.5.3.0\",\"license\":\"BSD-3\"}]\n"
156156
when (stdOut /= expected) $
157157
error $ unlines [ "Expected:", expected, "Actual:", stdOut ]

0 commit comments

Comments
 (0)