File tree Expand file tree Collapse file tree
main/scala/lmcoursier/internal Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ package lmcoursier.internal
33import java .io .File
44import java .nio .file .Files
55import java .nio .charset .StandardCharsets
6- import sjsonnew .support .scalajson .unsafe .{ CompactPrinter , Converter , Parser }
6+ import sjsonnew .support .scalajson .unsafe .{ Converter , Parser , PrettyPrinter }
77import scala .util .{ Try , Success , Failure }
88
99object LockFile {
@@ -29,7 +29,7 @@ object LockFile {
2929 def write (lockFile : File , data : LockFileData ): Either [String , Unit ] = {
3030 Try {
3131 val json = Converter .toJson(data).get
32- val content = CompactPrinter (json)
32+ val content = PrettyPrinter (json)
3333 lockFile.getParentFile.mkdirs()
3434 Files .write(lockFile.toPath, content.getBytes(StandardCharsets .UTF_8 ))
3535 } match {
Original file line number Diff line number Diff line change @@ -104,6 +104,27 @@ class LockFileSpec extends AnyFunSuite {
104104 }
105105 }
106106
107+ test(" LockFile.write outputs pretty JSON" ) {
108+ val lockData = LockFileData (
109+ version = " 1.0" ,
110+ buildClock = " pretty-test" ,
111+ configurations = Vector .empty,
112+ metadata = LockFileMetadata (
113+ sbtVersion = " 2.0.0" ,
114+ scalaVersion = Some (" 3.8.1" )
115+ )
116+ )
117+
118+ IO .withTemporaryDirectory { dir =>
119+ val lockFile = new File (dir, " pretty.lock" )
120+ val writeResult = LockFile .write(lockFile, lockData)
121+ assert(writeResult.isRight, s " Write failed: ${writeResult.left.getOrElse(" " )}" )
122+
123+ val content = IO .read(lockFile)
124+ assert(content.contains(" \n " ), " Expected pretty-printed JSON with multiple lines" )
125+ }
126+ }
127+
107128 test(" cacheFileToOriginalUrl converts cache file URL to HTTP URL" ) {
108129 IO .withTemporaryDirectory { cacheDir =>
109130 val fileUrl =
You can’t perform that action at this time.
0 commit comments