Build Logs
scalapb/scalapb-json4s • 3.8.0:2026-01-13
Errors
0
Warnings
8
Total Lines
496
1##################################
2Clonning https://github.com/scalapb/scalapb-json4s.git into /build/repo using revision v0.12.2
3##################################
4Note: switching to 'f2776a6a0641731e0005440a1679eb62ceac3ec0'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Using target Scala version for migration: 3.7.4
22Migrating project for -source:3.4 using Scala 3.7.4
23----
24Preparing build for 3.7.4
25Would try to apply common scalacOption (best-effort, sbt/mill only):
26Append: -rewrite,REQUIRE:-source:3.4-migration
27Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
28----
29Starting build for 3.7.4
30Execute tests: false
31sbt project found:
32Sbt version 1.9.7 is not supported, minimal supported version is 1.11.5
33Enforcing usage of sbt in version 1.11.5
34No prepare script found for project scalapb/scalapb-json4s
35##################################
36Scala version: 3.7.4
37Targets: com.thesamet.scalapb%scalapb-json4s
38Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[]}
39##################################
40Using extra scalacOptions: -rewrite,REQUIRE:-source:3.4-migration
41Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
42[sbt_options] declare -a sbt_options=()
43[process_args] java_version = '17'
44[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
45# Executing command line:
46java
47-Dfile.encoding=UTF-8
48-Dcommunitybuild.scala=3.7.4
49-Dcommunitybuild.project.dependencies.add=
50-Xmx7G
51-Xms4G
52-Xss8M
53-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
54-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
55-jar
56/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
57"setCrossScalaVersions 3.7.4"
58"++3.7.4 -v"
59"mapScalacOptions "-rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
60"set every credentials := Nil"
61"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
62"removeScalacOptionsStartingWith -P:wartremover"
63
64moduleMappings
65"runBuild 3.7.4 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[]}""" com.thesamet.scalapb%scalapb-json4s"
66
67[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
68[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
69[info] loading project definition from /build/repo/project
70[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
71[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
72[info] Compilation completed in 9.152s.
73[info] done compiling
74[info] loading settings for project root from build.sbt, sonatype.sbt...
75[info] set current project to scalapb-json4s (in build file:/build/repo/)
76Execute setCrossScalaVersions: 3.7.4
77OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in root/crossScalaVersions
78[info] set current project to scalapb-json4s (in build file:/build/repo/)
79[info] Setting Scala version to 3.7.4 on 1 projects.
80[info] Switching Scala version on:
81[info] * root (2.12.18, 2.13.16, 3.7.4, 2.13.12)
82[info] Excluding projects:
83[info] Reapplying settings...
84[info] set current project to scalapb-json4s (in build file:/build/repo/)
85Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
86[info] Reapplying settings...
87[info] set current project to scalapb-json4s (in build file:/build/repo/)
88[info] Defining Global / credentials, credentials
89[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 7 others.
90[info] Run `last` for details.
91[info] Reapplying settings...
92[info] set current project to scalapb-json4s (in build file:/build/repo/)
93Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
94[info] Reapplying settings...
95OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
96
97 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
98 Did you mean allExcludeDependencies ?
99 , retry without global scopes
100[info] Reapplying settings...
101[info] set current project to scalapb-json4s (in build file:/build/repo/)
102Execute removeScalacOptionsStartingWith: -P:wartremover
103[info] Reapplying settings...
104[info] set current project to scalapb-json4s (in build file:/build/repo/)
105[success] Total time: 0 s, completed Jan 13, 2026, 4:25:29 PM
106Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[]}
107Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),CompileOnly,List()))
108Starting build...
109Projects: Set(root)
110Starting build for ProjectRef(file:/build/repo/,root) (scalapb-json4s)... [0/1]
111OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.20 module Global
112OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4-migration` in Scala 2.12.20 module Global
113OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.20 module Scope(Select(BuildRef(file:/build/repo/)), Zero, Zero, Zero)
114OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4-migration` in Scala 2.12.20 module Scope(Select(BuildRef(file:/build/repo/)), Zero, Zero, Zero)
115OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
116Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
117[info] compiling 6 Scala sources to /build/repo/target/scala-3.7.4/classes ...
118[info] [patched file /build/repo/src/main/scala/scalapb/json4s/JsonFormat.scala]
119[info] [patched file /build/repo/src/main/scala/scalapb/json4s/AnyFormat.scala]
120[warn] there were 2 deprecation warnings; re-run with -deprecation for details
121[warn] one warning found
122[info] done compiling
123[info] compiling 2 Scala sources to /build/repo/target/scala-3.7.4/classes ...
124[info] Compiling 7 protobuf files to /build/repo/target/scala-3.7.4/src_managed/test
125anytests.proto:6:1: warning: Import google/protobuf/struct.proto is unused.
126[warn] there were 2 deprecation warnings; re-run with -deprecation for details
127[warn] one warning found
128[info] done compiling
129[info] compiling 46 Scala sources and 7 Java sources to /build/repo/target/scala-3.7.4/test-classes ...
130[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test3/Test3Proto.scala]
131[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/issue315/Issue315Proto.scala]
132[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test/TestAllTypes.scala]
133[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test3/EnumTest3.scala]
134[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/anytests/ManyAnyTest.scala]
135[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/custom_collection/Guitar.scala]
136[info] [patched file /build/repo/src/test/scala/scalapb/json4s/JsonFormatSpec.scala]
137[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test3/StructTest.scala]
138[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/issue315/Foo.scala]
139[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/custom_collection/Studio.scala]
140[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/custom_collection/CustomCollectionProto.scala]
141[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/custom_collection/GoogleWrapped.scala]
142[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test3/Wrapper.scala]
143[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/oneof/OneOfMessage.scala]
144[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/issue315/Msg.scala]
145[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/anytests/AnyContainer.scala]
146[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test/MyTest.scala]
147[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/oneof/Dictionary.scala]
148[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/anytests/AnytestsProto.scala]
149[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test/IntFields.scala]
150[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test/WellKnownTest.scala]
151[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/oneof/OneofProto.scala]
152[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/oneof/Pair.scala]
153[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test/EnumTest.scala]
154[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/scalapb/e2e/repeatables/RepeatablesProto.scala]
155[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test/TestProto.scala]
156[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/issue315/Bar.scala]
157[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/oneof/OneOf.scala]
158[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/anytests/AnyTest.scala]
159[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test3/MyTest3.scala]
160[info] [patched file /build/repo/src/test/scala/scalapb/json4s/JavaAssertions.scala]
161[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/jsontest/test3/ValueTest.scala]
162[info] [patched file /build/repo/target/scala-3.7.4/src_managed/test/scalapb/e2e/repeatables/RepeatablesTest.scala]
163[info] done compiling
164[info] compiling 46 Scala sources and 7 Java sources to /build/repo/target/scala-3.7.4/test-classes ...
165[info] done compiling
166
167************************
168Build summary:
169[{
170 "module": "scalapb-json4s",
171 "compile": {"status": "ok", "tookMs": 8300, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
172 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
173 "test-compile": {"status": "ok", "tookMs": 27900, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
174 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
175 "publish": {"status": "skipped", "tookMs": 0},
176 "metadata": {
177 "crossScalaVersions": ["2.12.18", "2.13.16", "3.3.3"]
178}
179}]
180************************
181[success] Total time: 51 s, completed Jan 13, 2026, 4:26:20 PM
182[0JChecking patch project/plugins.sbt...
183Checking patch project/build.properties...
184Checking patch build.sbt...
185Applied patch project/plugins.sbt cleanly.
186Applied patch project/build.properties cleanly.
187Applied patch build.sbt cleanly.
188Commit migration rewrites
189Switched to a new branch 'opencb/migrate-source-3.4'
190[opencb/migrate-source-3.4 3c44c28] Apply Scala compiler rewrites using -source:3.4-migration using Scala 3.7.4
191 4 files changed, 18 insertions(+), 18 deletions(-)
192----
193Preparing build for 3.8.0
194Scala binary version found: 3.8
195Implicitly using source version 3.8
196Scala binary version found: 3.8
197Implicitly using source version 3.8
198Would try to apply common scalacOption (best-effort, sbt/mill only):
199Append: ,REQUIRE:-source:3.8
200Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
201----
202Starting build for 3.8.0
203Execute tests: true
204sbt project found:
205Sbt version 1.9.7 is not supported, minimal supported version is 1.11.5
206Enforcing usage of sbt in version 1.11.5
207No prepare script found for project scalapb/scalapb-json4s
208##################################
209Scala version: 3.8.0
210Targets: com.thesamet.scalapb%scalapb-json4s
211Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[]}
212##################################
213Using extra scalacOptions: ,REQUIRE:-source:3.8
214Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
215[sbt_options] declare -a sbt_options=()
216[process_args] java_version = '17'
217[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
218# Executing command line:
219java
220-Dfile.encoding=UTF-8
221-Dcommunitybuild.scala=3.8.0
222-Dcommunitybuild.project.dependencies.add=
223-Xmx7G
224-Xms4G
225-Xss8M
226-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
227-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
228-jar
229/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
230"setCrossScalaVersions 3.8.0"
231"++3.8.0 -v"
232"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
233"set every credentials := Nil"
234"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
235"removeScalacOptionsStartingWith -P:wartremover"
236
237moduleMappings
238"runBuild 3.8.0 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[]}""" com.thesamet.scalapb%scalapb-json4s"
239
240[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
241[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
242[info] loading project definition from /build/repo/project
243[info] loading settings for project root from build.sbt, sonatype.sbt...
244[info] set current project to scalapb-json4s (in build file:/build/repo/)
245Execute setCrossScalaVersions: 3.8.0
246OpenCB::Changing crossVersion 3.3.3 -> 3.8.0 in root/crossScalaVersions
247[info] set current project to scalapb-json4s (in build file:/build/repo/)
248[info] Setting Scala version to 3.8.0 on 1 projects.
249[info] Switching Scala version on:
250[info] * root (2.12.18, 2.13.16, 3.8.0, 2.13.12)
251[info] Excluding projects:
252[info] Reapplying settings...
253[info] set current project to scalapb-json4s (in build file:/build/repo/)
254Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
255[info] Reapplying settings...
256[info] set current project to scalapb-json4s (in build file:/build/repo/)
257[info] Defining Global / credentials, credentials
258[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 7 others.
259[info] Run `last` for details.
260[info] Reapplying settings...
261[info] set current project to scalapb-json4s (in build file:/build/repo/)
262Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
263[info] Reapplying settings...
264OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
265
266 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
267 Did you mean allExcludeDependencies ?
268 , retry without global scopes
269[info] Reapplying settings...
270[info] set current project to scalapb-json4s (in build file:/build/repo/)
271Execute removeScalacOptionsStartingWith: -P:wartremover
272[info] Reapplying settings...
273[info] set current project to scalapb-json4s (in build file:/build/repo/)
274[success] Total time: 0 s, completed Jan 13, 2026, 4:26:29 PM
275Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[]}
276Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
277Starting build...
278Projects: Set(root)
279Starting build for ProjectRef(file:/build/repo/,root) (scalapb-json4s)... [0/1]
280OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
281OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Scope(Select(BuildRef(file:/build/repo/)), Zero, Zero, Zero)
282OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
283Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
284[info] compiling 6 Scala sources to /build/repo/target/scala-3.8.0/classes ...
285[warn] there were 2 deprecation warnings; re-run with -deprecation for details
286[warn] one warning found
287[info] done compiling
288[info] Compiling 7 protobuf files to /build/repo/target/scala-3.8.0/src_managed/test
289anytests.proto:6:1: warning: Import google/protobuf/struct.proto is unused.
290[info] compiling 46 Scala sources and 7 Java sources to /build/repo/target/scala-3.8.0/test-classes ...
291[info] done compiling
292[info] TypeRegistrySpec:
293[info] addFile
294[info] - should add all messages in the file
295[info] addMessage
296[info] - should not add other messages from same file
297[info] EnumFormatSpec:
298[info] default parser
299[info] - should match Java behavior for string enums
300[info] default parser
301[info] - should match Java behavior for int enums
302[info] ignoring unknown fields parser
303[info] - should match Java behavior for strings enums
304[info] ignoring unknown fields parser
305[info] - should match Java behavior for int enums
306[info] Enum
307[info] - should be serialized the same way as java
308[info] WellKnownTypesSpec:
309[info] Duration serializer
310[info] - should work
311[info] Duration parser
312[info] - should work
313[info] duration
314[info] - should serialize and parse correctly
315[info] Timestamp parser
316[info] - should work
317[info] timestamp
318[info] - should serialize and parse correctly
319[info] FieldMask
320[info] - should print comma separated string
321[info] - should parse comma separated string
322[info] StructFormatSpec:
323[info] Empty value
324[info] - should be serialized to null
325[info] Value
326[info] - should be serialized the same as in Java (and parsed back to original)
327[info] Value
328[info] - should accept null
329[info] Struct
330[info] - should be serialized the same as in Java (and parsed back to original)
331[info] ListValue
332[info] - should be serialized the same as in Java (and parsed back to original)
333[info] NullValue
334[info] - should be serialized and parsed from JSON correctly
335[info] AnyFormatSpec:
336[info] Any
337[info] - should fail to serialize if its respective companion is not registered
338[info] Any
339[info] - should fail to deserialize if its respective companion is not registered
340[info] Any
341[info] - should serialize correctly if its respective companion is registered
342[info] Any
343[info] - should fail to serialize with a custom URL prefix if specified
344[info] Any
345[info] - should fail to deserialize for a non-Google-prefixed type URL
346[info] Any
347[info] - should deserialize correctly if its respective companion is registered
348[info] Any
349[info] - should be serialized the same as in Java (and parsed back to original)
350[info] Any
351[info] - should resolve printers recursively
352[info] Any
353[info] - should resolve parsers recursively
354[info] Any
355[info] - should serialize a struct value
356[info] Any
357[info] - should serialize a timestamp value
358[info] Any
359[info] - should work when nested
360[info] PrimitiveWrappersSpec:
361[info] Empty object
362[info] - should give empty json for Wrapper
363[info] primitive values
364[info] - should serialize properly
365[info] primitive values
366[info] - should serialize with printer config
367[info] primitive values
368[info] - should parse properly
369[info] NameUtilsSpec:
370[info] snakeCaseToCamelCase
371[info] - should work for normal names
372[info] snakeCaseToCamelCase
373[info] - should work when already in camel case
374[info] CustomCollectionSpec:
375[info] JsonFormat
376[info] - should serialize/deserialize the custom collection message
377[info] OneOfSpec:
378[info] dictionary test
379[info] - should preserve zero values in one of
380[info] JsonFormatSpec:
381[info] Empty object
382[info] - should give empty json
383[info] Empty object
384[info] - should give empty json for MyTest3
385[info] Zero maps
386[info] - should give correct json
387[info] Zero maps
388[info] - should give correct json for MyTest3
389[info] Set treat
390[info] - should give correct json
391[info] Parse treat
392[info] - should give correct proto with proto2
393[info] Parse treat
394[info] - should give correct proto with proto3
395[info] JsonFormat
396[info] - should encode and decode enums for proto3
397[info] parsing one offs
398[info] - should work correctly for issue 315
399[info] parsing null
400[info] - should give default value
401[info] TestProto
402[info] - should be TestJson when converted to Proto
403[info] TestJson
404[info] - should be TestProto when parsed from json
405[info] fromJsonString
406[info] - should read json produced by Java
407[info] Java parser
408[info] - should read json strings produced by us
409[info] Empty object
410[info] - should give full json if including default values
411[info] Empty object
412[info] - should with preserve field names should work
413[info] TestProto
414[info] - should format int64 as JSON string
415[info] TestProto
416[info] - should format int64 as JSON number
417[info] TestProto
418[info] - should parse numbers formatted as JSON string
419[info] TestProto
420[info] - should produce valid JSON output for unsigned integers
421[info] TestProto
422[info] - should parse an enum formatted as number
423[info] TestProto
424[info] - should parse original field names
425[info] PreservedTestJson
426[info] - should be TestProto when parsed from json
427[info] TestAllTypesProto
428[info] - should parse NaNs
429[info] TestAllTypesProto
430[info] - should parse Infinity
431[info] TestAllTypesProto
432[info] - should parse -Infinity
433[info] TestAllTypesProto
434[info] - should take strings
435[info] parser
436[info] - should reject out of range numeric values
437[info] TestProto packed as any
438[info] - should give TestJsonWithType after JSON serialization
439[info] TestJsonWithType
440[info] - should be TestProto packed as any when parsed from JSON
441[info] Any
442[info] - should parse JSON produced by Java for a packed TestProto
443[info] toJsonString
444[info] - should generate correct JSON for messages with custom collection type
445[info] fromJsonString
446[info] - should parse JSON correctly to message with custom collection type
447[info] formatEnumAsNumber
448[info] - should format enums as number
449[info] unknown fields
450[info] - should get rejected
451[info] unknown fields
452[info] - should not get rejected when ignoreUnknownFields is set
453[info] booleans
454[info] - should be accepted as string
455[info] floats
456[info] - should not lose precision
457[info] oneofs
458[info] - should fail for overlapping keys if failOnOverlappingOneofKeys
459[info] oneofs
460[info] - should not fail for overlapping keys if ignoreOverlappingOneofKeys
461[info] TestProto
462[info] - should be TestJsonWithMapEntriesAsKeyValuePairs when converted to Proto with mapEntriesAsKeyValuePairs setting
463[info] TestJsonWithMapEntriesAsKeyValuePairs
464[info] - should be TestProto when parsed from json with mapEntriesAsKeyValuePairs setting
465[info] JsonSpec:
466[info] fromJson
467[info] - should invert toJson (single)
468[info] fromJson
469[info] - should invert toJson
470[info] ArbitrarySpec:
471[info] fromJson
472[info] - should invert toJson (single)
473[info] fromJson
474[info] - should invert toJson
475
476************************
477Build summary:
478[{
479 "module": "scalapb-json4s",
480 "compile": {"status": "ok", "tookMs": 8052, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
481 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
482 "test-compile": {"status": "ok", "tookMs": 24634, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
483 "test": {"status": "ok", "tookMs": 1616, "passed": 86, "failed": 0, "ignored": 0, "skipped": 0, "total": 86, "byFramework": [{"framework": "unknown", "stats": {"passed": 86, "failed": 0, "ignored": 0, "skipped": 0, "total": 86}}]},
484 "publish": {"status": "skipped", "tookMs": 0},
485 "metadata": {
486 "crossScalaVersions": ["2.12.18", "2.13.16", "3.3.3"]
487}
488}]
489************************
490[success] Total time: 37 s, completed Jan 13, 2026, 4:27:06 PM
491[0JChecking patch project/plugins.sbt...
492Checking patch project/build.properties...
493Checking patch build.sbt...
494Applied patch project/plugins.sbt cleanly.
495Applied patch project/build.properties cleanly.
496Applied patch build.sbt cleanly.