Build Logs

playframework/twirl • 3.8.3-RC3:2026-03-21

Errors

0

Warnings

14

Total Lines

706

1##################################
2Clonning https://github.com/playframework/twirl.git into /opencb/repo using revision 2.1.0-M8
3##################################
4Note: switching to '920627053329efe259f1af4ea7697bc026f30bc5'.
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
21Would override fixed Scala version: 3.8.2
22Using target Scala version for migration: 3.7.4
23Migrating project for -source:3.7 using Scala 3.7.4
24----
25Preparing build for 3.7.4
26Would try to apply common scalacOption (best-effort, sbt/mill only):
27Append: -rewrite,REQUIRE:-source:3.7-migration
28Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
29
30Try apply source patch:
31Path: project/Dependencies.scala
32Pattern: val Scala3 = "3.8.2"
33Replacement: val Scala3 = "3.7.4"
34Starting compilation server
35Compiling project (Scala 3.7.3, JVM (17))
36Compiled project (Scala 3.7.3, JVM (17))
37Successfully applied pattern 'val Scala3 = "3.8.2"' in project/Dependencies.scala
38----
39Starting build for 3.7.4
40Execute tests: false
41sbt project found:
42No prepare script found for project playframework/twirl
43##################################
44Scala version: 3.7.4
45Targets: org.playframework.twirl%twirl-api org.playframework.twirl%twirl-compiler org.playframework.twirl%twirl-maven-plugin org.playframework.twirl%twirl-parser
46Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.7"],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.8.2\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
47##################################
48Using extra scalacOptions: -rewrite,REQUIRE:-source:3.7-migration
49Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
50[sbt_options] declare -a sbt_options=()
51[process_args] java_version = '17'
52[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
53# Executing command line:
54java
55-Dfile.encoding=UTF-8
56-Dcommunitybuild.scala=3.7.4
57-Dcommunitybuild.project.dependencies.add=
58-Xmx7G
59-Xms4G
60-Xss8M
61-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
62-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
63-jar
64/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
65"setCrossScalaVersions 3.7.4"
66"++3.7.4 -v"
67"mapScalacOptions "-rewrite,REQUIRE:-source:3.7-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
68"set every credentials := Nil"
69"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
70"removeScalacOptionsStartingWith -P:wartremover"
71
72moduleMappings
73"runBuild 3.7.4 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.7"],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.8.2\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}""" org.playframework.twirl%twirl-api org.playframework.twirl%twirl-compiler org.playframework.twirl%twirl-maven-plugin org.playframework.twirl%twirl-parser"
74
75[info] [launcher] getting org.scala-sbt sbt 1.12.4 (this may take some time)...
76[info] [launcher] getting Scala 2.12.21 (for sbt)...
77[info] welcome to sbt 1.12.4 (Eclipse Adoptium Java 17.0.8)
78[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
79[info] loading project definition from /opencb/repo/project
80[info] compiling 7 Scala sources to /opencb/repo/project/target/scala-2.12/sbt-1.0/classes ...
81[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.21. Compiling...
82[info] Compilation completed in 8.768s.
83[info] done compiling
84[info] loading settings for project twirl from build.sbt...
85[info] set current project to twirl (in build file:/opencb/repo/)
86Execute setCrossScalaVersions: 3.7.4
87OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in compiler/crossScalaVersions
88OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in apiJS/crossScalaVersions
89OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in apiJVM/crossScalaVersions
90OpenCB::Limitting incorrect crossVersions List() -> List(2.12.21) in twirl/crossScalaVersions
91OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in parser/crossScalaVersions
92OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in mavenPlugin/crossScalaVersions
93OpenCB::Changing crossVersion 3.8.2 -> 3.7.4 in plugin/crossScalaVersions
94[info] set current project to twirl (in build file:/opencb/repo/)
95[info] Setting Scala version to 3.7.4 on 6 projects.
96[info] Switching Scala version on:
97[info] plugin (2.12.21, 3.7.4)
98[info] apiJS (2.12.21, 2.13.18, 3.7.4)
99[info] apiJVM (2.12.21, 2.13.18, 3.7.4)
100[info] compiler (2.12.21, 2.13.18, 3.7.4)
101[info] parser (2.12.21, 2.13.18, 3.7.4)
102[info] mavenPlugin (2.12.21, 2.13.18, 3.7.4)
103[info] Excluding projects:
104[info] * twirl (2.12.21)
105[info] Reapplying settings...
106[info] set current project to twirl (in build file:/opencb/repo/)
107Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.7-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
108[info] Reapplying settings...
109[info] set current project to twirl (in build file:/opencb/repo/)
110[info] Defining Global / credentials, apiJS / credentials and 5 others.
111[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 55 others.
112[info] Run `last` for details.
113[info] Reapplying settings...
114[info] set current project to twirl (in build file:/opencb/repo/)
115Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
116[info] Reapplying settings...
117OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
118
119 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:326)
120 Did you mean apiJVM / allExcludeDependencies ?
121 , retry without global scopes
122[info] Reapplying settings...
123[info] set current project to twirl (in build file:/opencb/repo/)
124Execute removeScalacOptionsStartingWith: -P:wartremover
125[info] Reapplying settings...
126[info] set current project to twirl (in build file:/opencb/repo/)
127[success] Total time: 0 s, completed Mar 21, 2026, 7:35:05 PM
128Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.7"],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.8.2\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
129Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),CompileOnly,List()))
130Starting build...
131Projects: Set(apiJVM, compiler, mavenPlugin, parser)
132Starting build for ProjectRef(file:/opencb/repo/,apiJVM) (twirl-api)... [0/4]
133OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.21 module Global
134OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.7-migration` in Scala 2.12.21 module Global
135OpenCB::Filter out '-deprecation', matches setting pattern '^-?\Q-deprecation\E'
136OpenCB::Filter out '-feature', matches setting pattern '^-?\Q-feature\E'
137Compile scalacOptions: -release:17, -unchecked, -encoding, utf8, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
138[info] compiling 9 Scala sources to /opencb/repo/api/jvm/target/scala-3.7.4/classes ...
139[info] done compiling
140[info] compiling 3 Scala sources to /opencb/repo/api/jvm/target/scala-3.7.4/test-classes ...
141[info] done compiling
142Starting build for ProjectRef(file:/opencb/repo/,compiler) (twirl-compiler)... [1/4]
143Compile scalacOptions: -release:17, -unchecked, -encoding, utf8, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
144[info] compiling 3 Scala sources to /opencb/repo/parser/target/scala-3.7.4/classes ...
145[info] done compiling
146[info] compiling 2 Scala sources and 1 Java source to /opencb/repo/compiler/target/scala-3.7.4/classes ...
147[warn] /opencb/repo/compiler/src/main/java/play/japi/twirl/compiler/TwirlCompiler.java:85:12: scala.collection.JavaConverters$ in scala.collection has been deprecated
148[warn] JavaConverters$
149[warn] ^
150[warn] /opencb/repo/compiler/src/main/java/play/japi/twirl/compiler/TwirlCompiler.java:89:12: scala.collection.JavaConverters$ in scala.collection has been deprecated
151[warn] JavaConverters$
152[warn] ^
153[info] done compiling
154[info] compiling 1 Scala source to /opencb/repo/parser/target/scala-3.7.4/test-classes ...
155[info] done compiling
156[info] compiling 6 Scala sources and 1 Java source to /opencb/repo/compiler/target/scala-3.7.4/test-classes ...
157[info] done compiling
158Starting build for ProjectRef(file:/opencb/repo/,mavenPlugin) (twirl-maven-plugin)... [2/4]
159Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
160[info] compiling 3 Java sources to /opencb/repo/maven-twirl/target/scala-3.7.4/classes ...
161[info] done compiling
162Starting build for ProjectRef(file:/opencb/repo/,parser) (twirl-parser)... [3/4]
163Compile scalacOptions: -release:17, -unchecked, -encoding, utf8, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
164
165************************
166Build summary:
167[{
168 "module": "twirl-api",
169 "compile": {"status": "ok", "tookMs": 5634, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
170 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
171 "test-compile": {"status": "ok", "tookMs": 4930, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
172 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
173 "publish": {"status": "skipped", "tookMs": 0},
174 "metadata": {
175 "crossScalaVersions": ["2.12.21", "2.13.18", "3.8.2"]
176}
177},{
178 "module": "twirl-compiler",
179 "compile": {"status": "ok", "tookMs": 4558, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
180 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
181 "test-compile": {"status": "ok", "tookMs": 9614, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
182 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
183 "publish": {"status": "skipped", "tookMs": 0},
184 "metadata": {
185 "crossScalaVersions": ["2.12.21", "2.13.18", "3.8.2"]
186}
187},{
188 "module": "twirl-maven-plugin",
189 "compile": {"status": "ok", "tookMs": 541, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
190 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
191 "test-compile": {"status": "ok", "tookMs": 247, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
192 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
193 "publish": {"status": "skipped", "tookMs": 0},
194 "metadata": {
195 "crossScalaVersions": ["2.12.21", "2.13.18", "3.8.2"]
196}
197},{
198 "module": "twirl-parser",
199 "compile": {"status": "ok", "tookMs": 42, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
200 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
201 "test-compile": {"status": "ok", "tookMs": 82, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
202 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
203 "publish": {"status": "skipped", "tookMs": 0},
204 "metadata": {
205 "crossScalaVersions": ["2.12.21", "2.13.18", "3.8.2"]
206}
207}]
208************************
209[success] Total time: 32 s, completed Mar 21, 2026, 7:35:36 PM
210[0JChecking patch project/plugins.sbt...
211Checking patch project/Dependencies.scala...
212Checking patch build.sbt...
213Applied patch project/plugins.sbt cleanly.
214Applied patch project/Dependencies.scala cleanly.
215Applied patch build.sbt cleanly.
216No migration rewrite changes found, would not commit
217----
218Preparing build for 3.8.3-RC3
219Scala binary version found: 3.8
220Implicitly using source version 3.8
221Scala binary version found: 3.8
222Implicitly using source version 3.8
223Would try to apply common scalacOption (best-effort, sbt/mill only):
224Append: ,REQUIRE:-source:3.8
225Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
226
227Try apply source patch:
228Path: project/Dependencies.scala
229Pattern: val Scala3 = "3.8.2"
230Replacement: val Scala3 = "3.8.3-RC3"
231Successfully applied pattern 'val Scala3 = "3.8.2"' in project/Dependencies.scala
232----
233Starting build for 3.8.3-RC3
234Execute tests: true
235sbt project found:
236No prepare script found for project playframework/twirl
237##################################
238Scala version: 3.8.3-RC3
239Targets: org.playframework.twirl%twirl-api org.playframework.twirl%twirl-compiler org.playframework.twirl%twirl-maven-plugin org.playframework.twirl%twirl-parser
240Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.7"],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.8.2\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
241##################################
242Using extra scalacOptions: ,REQUIRE:-source:3.8
243Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
244[sbt_options] declare -a sbt_options=()
245[process_args] java_version = '17'
246[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
247# Executing command line:
248java
249-Dfile.encoding=UTF-8
250-Dcommunitybuild.scala=3.8.3-RC3
251-Dcommunitybuild.project.dependencies.add=
252-Xmx7G
253-Xms4G
254-Xss8M
255-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
256-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
257-jar
258/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
259"setCrossScalaVersions 3.8.3-RC3"
260"++3.8.3-RC3 -v"
261"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
262"set every credentials := Nil"
263"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
264"removeScalacOptionsStartingWith -P:wartremover"
265
266moduleMappings
267"runBuild 3.8.3-RC3 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.7"],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.8.2\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}""" org.playframework.twirl%twirl-api org.playframework.twirl%twirl-compiler org.playframework.twirl%twirl-maven-plugin org.playframework.twirl%twirl-parser"
268
269[info] welcome to sbt 1.12.4 (Eclipse Adoptium Java 17.0.8)
270[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
271[info] loading project definition from /opencb/repo/project
272[info] compiling 1 Scala source to /opencb/repo/project/target/scala-2.12/sbt-1.0/classes ...
273[info] done compiling
274[info] loading settings for project twirl from build.sbt...
275[info] set current project to twirl (in build file:/opencb/repo/)
276Execute setCrossScalaVersions: 3.8.3-RC3
277OpenCB::Changing crossVersion 3.8.3-RC3 -> 3.8.3-RC3 in apiJS/crossScalaVersions
278OpenCB::Changing crossVersion 3.8.3-RC3 -> 3.8.3-RC3 in compiler/crossScalaVersions
279OpenCB::Changing crossVersion 3.8.3-RC3 -> 3.8.3-RC3 in apiJVM/crossScalaVersions
280OpenCB::Limitting incorrect crossVersions List() -> List(2.12.21) in twirl/crossScalaVersions
281OpenCB::Changing crossVersion 3.8.3-RC3 -> 3.8.3-RC3 in parser/crossScalaVersions
282OpenCB::Changing crossVersion 3.8.3-RC3 -> 3.8.3-RC3 in mavenPlugin/crossScalaVersions
283OpenCB::Changing crossVersion 3.8.2 -> 3.8.3-RC3 in plugin/crossScalaVersions
284[info] set current project to twirl (in build file:/opencb/repo/)
285[info] Setting Scala version to 3.8.3-RC3 on 6 projects.
286[info] Switching Scala version on:
287[info] plugin (2.12.21, 3.8.3-RC3)
288[info] apiJS (2.12.21, 2.13.18, 3.8.3-RC3)
289[info] apiJVM (2.12.21, 2.13.18, 3.8.3-RC3)
290[info] compiler (2.12.21, 2.13.18, 3.8.3-RC3)
291[info] parser (2.12.21, 2.13.18, 3.8.3-RC3)
292[info] mavenPlugin (2.12.21, 2.13.18, 3.8.3-RC3)
293[info] Excluding projects:
294[info] * twirl (2.12.21)
295[info] Reapplying settings...
296[info] set current project to twirl (in build file:/opencb/repo/)
297Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
298[info] Reapplying settings...
299[info] set current project to twirl (in build file:/opencb/repo/)
300[info] Defining Global / credentials, apiJS / credentials and 5 others.
301[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 55 others.
302[info] Run `last` for details.
303[info] Reapplying settings...
304[info] set current project to twirl (in build file:/opencb/repo/)
305Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
306[info] Reapplying settings...
307OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
308
309 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:326)
310 Did you mean apiJVM / allExcludeDependencies ?
311 , retry without global scopes
312[info] Reapplying settings...
313[info] set current project to twirl (in build file:/opencb/repo/)
314Execute removeScalacOptionsStartingWith: -P:wartremover
315[info] Reapplying settings...
316[info] set current project to twirl (in build file:/opencb/repo/)
317[success] Total time: 0 s, completed Mar 21, 2026, 7:35:55 PM
318Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.7"],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.8.2\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
319Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
320Starting build...
321Projects: Set(apiJVM, compiler, mavenPlugin, parser)
322Starting build for ProjectRef(file:/opencb/repo/,apiJVM) (twirl-api)... [0/4]
323OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.21 module Global
324OpenCB::Filter out '-deprecation', matches setting pattern '^-?\Q-deprecation\E'
325OpenCB::Filter out '-feature', matches setting pattern '^-?\Q-feature\E'
326Compile scalacOptions: -release:17, -unchecked, -encoding, utf8, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
327[info] compiling 9 Scala sources to /opencb/repo/api/jvm/target/scala-3.8.3-RC3/classes ...
328[info] done compiling
329[info] compiling 3 Scala sources to /opencb/repo/api/jvm/target/scala-3.8.3-RC3/test-classes ...
330[info] done compiling
331[info] BufferedContentSpec:
332[info] equality checking
333[info] - should return false for BufferedContents with the same body but different implementations
334[info] - should return false for BufferedContents with different bodies but the same implementations
335[info] - should return true for BufferedContents with the same body and the same implementation
336[info] FormatSpec:
337[info] Formats
338[info] - should show null text values as empty
339[info] HtmlFormat
340[info] - should escape '<', '&' and '>'
341[info] - should escape single quotes
342[info] - should escape double quotes
343[info] - should not escape non-ASCII characters
344[info] JavaScriptFormat
345[info] - should escape ''', '"' and '\'
346[info] StringInterpolationSpec:
347[info] StringInterpolation
348[info] - should leave string parts untouched
349[info] - should escape interpolated arguments
350[info] - should leave nested templates untouched
351[info] - should display arguments as they would be displayed in a template
352Starting build for ProjectRef(file:/opencb/repo/,compiler) (twirl-compiler)... [1/4]
353Compile scalacOptions: -release:17, -unchecked, -encoding, utf8, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
354[info] compiling 3 Scala sources to /opencb/repo/parser/target/scala-3.8.3-RC3/classes ...
355[info] done compiling
356[info] compiling 2 Scala sources and 1 Java source to /opencb/repo/compiler/target/scala-3.8.3-RC3/classes ...
357[warn] /opencb/repo/compiler/src/main/java/play/japi/twirl/compiler/TwirlCompiler.java:85:12: scala.collection.JavaConverters$ in scala.collection has been deprecated
358[warn] JavaConverters$
359[warn] ^
360[warn] /opencb/repo/compiler/src/main/java/play/japi/twirl/compiler/TwirlCompiler.java:89:12: scala.collection.JavaConverters$ in scala.collection has been deprecated
361[warn] JavaConverters$
362[warn] ^
363[info] done compiling
364[info] compiling 1 Scala source to /opencb/repo/parser/target/scala-3.8.3-RC3/test-classes ...
365[info] done compiling
366[info] compiling 6 Scala sources and 1 Java source to /opencb/repo/compiler/target/scala-3.8.3-RC3/test-classes ...
367[warn] there was 1 deprecation warning; re-run with -deprecation for details
368[warn] one warning found
369[info] done compiling
370[info] TemplateUtilsSpec:
371[info] Templates
372[info] - should provide a HASH util
373[info] should provide a Format API
374[info] - when HTML for example
375[info] - when Text for example
376[info] CompilerSpec:
377[info] Twirl compiler
378[info] - should compile successfully (real)
379[info] - should compile successfully (static)
380[info] - should compile successfully (patternMatching)
381[info] - should compile successfully (hello)
382[info] - should compile successfully (helloNull)
383[info] - should compile successfully (zipWithIndex)
384[info] - should compile successfully (set)
385[info] - should compile successfully (arg imports)
386[info] - should compile successfully (default imports)
387[info] - should compile successfully (escape closing brace)
388[info] - should compile successfully (utf8)
389[info] - should compile successfully (existential)
390[info] - should compile successfully (triple quotes)
391[info] - should compile successfully (var args existential)
392[info] - should compile successfully (using)
393[info] - should compile successfully (call by name)
394[info] should compile successfully (if/else/elseIf)
395[info] - when input is in if clause
396[info] - when input is in else if clause
397[info] - when input is in else clause
398[info] - when if with brackets
399[info] - when if without brackets
400[info] - when complex if without brackets
401[info] - when 'if'/'else if'/'else' containing imports, val, def and subtemplates
402[info] - should compile successfully (local definitions)
403[info] - should compile successfully (block with tuple)
404[info] - should compile successfully (block with nested tuples)
405[info] - should compile successfully (nested templates)
406[info] - should compile successfully ([lazy] val)
407[info] should compile successfully (var)
408[info] - when using pure code blocks
409[info] - when using template code blocks
410[info] should compile successfully reassigning var using pure code blocks
411[info] - when within if
412[info] - when within if/elseif/else
413[info] - when within if but not visiting if
414[info] should compile successfully reassigning var using template code blocks
415[info] - when within if
416[info] - when within if/elseif/else
417[info] - when within if but not visiting if
418[info] should compile successfully shadowing using pure code blocks
419[info] - when def in if shadowing outside val
420[info] - when val in if shadowing outside val
421[info] - when def in if shadowing outside def
422[info] - when def in if shadowing val in if shadowing val
423[info] - when val in if shadowing val in if shadowing val
424[info] - when reassigning var in if defined in parent if that shadows var
425[info] - when reassigning var in if defined in parent if that shadows val
426[info] - when reassigning var in if shadowing var in if shadowing var
427[info] - when defining var in if shadowing val in if shadowing var
428[info] - when defining var in if shadowing val in if shadowing val
429[info] should compile successfully shadowing using template code blocks
430[info] - when def in if shadowing outside val
431[info] - when val in if shadowing outside val
432[info] - when def in if shadowing outside def
433[info] - when def in if shadowing val in if shadowing val
434[info] - when val in if shadowing val in if shadowing val
435[info] - when reassigning var in if defined in parent if that shadows var
436[info] - when reassigning var in if defined in parent if that shadows val
437[info] - when reassigning var in if shadowing var in if shadowing var
438[info] - when defining var in if shadowing val in if shadowing var
439[info] - when defining var in if shadowing val in if shadowing val
440[info] - should compile successfully when using 'format' as variable name
441[info] - should compile successfully (don't escape) when using sub class of Html (which is a subclass of Appendable)
442[info] should fail val shadowing var and reassigning val in if
443[info] - when using pure code blocks
444[info] - when using template code blocks
445[info] should fail compilation with same name using pure code blocks
446[info] - when two val
447[info] - when two var
448[info] - when two def
449[info] - when val and var
450[info] - when var and val
451[info] - when def and var
452[info] - when def and val
453[info] - when two var within if
454[info] - when two val within if
455[info] - when two def within if
456[info] - when val and var within if
457[info] - when var and val within if
458[info] - when def and var within if
459[info] - when def and val within if
460[info] should fail compilation with same name using template code blocks
461[info] - when two val
462[info] - when two var
463[info] - when two def
464[info] - when val and var
465[info] - when var and val
466[info] - when def and var
467[info] - when def and val
468[info] - when two var within if
469[info] - when two val within if
470[info] - when two def within if
471[info] - when val and var within if
472[info] - when var and val within if
473[info] - when def and var within if
474[info] - when def and val within if
475[info] should fail compilation reassigning using pure code blocks
476[info] - when val
477[info] - when val within if
478[info] - when reassigning def
479[info] should fail compilation reassigning using template code blocks
480[info] - when val
481[info] - when val within if
482[info] - when reassigning def
483[info] - should keep order of member and template blocks, as defined in the source template
484[info] - should fail compilation for error.scala.html
485[info] - should fail compilation for errorInTemplateArgs.scala.html
486[info] - should compile templates that have contiguous strings > than 64k
487[info] - should allow rendering a template twice
488[info] should support injectable templates
489[info] - when plain injected template
490[info] - when with no args
491[info] - when with parameter groups
492[info] - when with comments
493[info] StringGrouper
494[info] - should split before a surrogate pair
495[info] - should not split a surrogate pair
496[info] - should split after a surrogate pair
497[info] ScalaCompat
498[info] - should produce correct varargs splice syntax
499Starting build for ProjectRef(file:/opencb/repo/,mavenPlugin) (twirl-maven-plugin)... [2/4]
500Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
501[info] compiling 3 Java sources to /opencb/repo/maven-twirl/target/scala-3.8.3-RC3/classes ...
502[info] done compiling
503Starting build for ProjectRef(file:/opencb/repo/,parser) (twirl-parser)... [3/4]
504Compile scalacOptions: -release:17, -unchecked, -encoding, utf8, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
505[info] ParserSpec:
506[info] New twirl parser
507[info] should succeed for
508[info] - when static.scala.html
509[info] - when simple.scala.html
510[info] - when complicated.scala.html
511[info] - when elseIf.scala.html
512[info] - when imports.scala.html
513[info] - when case.scala.js
514[info] - when import expressions
515[info] - when code block containing => of another statement with curly braces in first line
516[info] - when code block containing => of another statement with parentheses in first line
517[info] - when code block containing (...) => in first line
518[info] - when text outside of code block on same line containing =>
519[info] - when match statement not allowed to have block arguments
520[info] - when whitespaces after 'else {...}' as plain
521[info] - when whitespaces after 'else if(condition) {...}' as plain
522[info] - when 'if' expression does not have body
523[info] - when 'if' expression does not have body but some plain text instead
524[info] - when @expression without curly braces or parens as 'if' expression body is currently not supported
525[info] - when @expression without curly braces or parens as 'if' expression body is currently not supported also when using escaped expression
526[info] - when @(expression) without curly braces or parens as 'if' expression body is currently not supported
527[info] - when @(expression) without curly braces or parens as 'if' expression body is currently not supported also when using escaped expression
528[info] - when 'if' expression body is invalid when it mimics a method call
529[info] - when 'if' expression body is invalid when it mimics a method call (with space between)
530[info] - when 'if' expression body is invalid when it only contains one closing bracket
531[info] - when 'if' expression with pure block body without else body is valid
532[info] - when 'if' expression with scala block body without else body is valid
533[info] - when 'if' expression with simple parens body without else body is valid
534[info] - when 'else', after an 'if' expression, that does not have a parsable body is be handled as plain text
535[info] - when 'elsewhere', after an 'if' expression, is not handled as 'else' but handled as plain text
536[info] - when @expression without curly braces or parens after 'else' expression is currently not supported
537[info] - when escaped @expression after an 'else' expression makes the whole 'else' part handled as plain text
538[info] - when @(expression) without curly braces or parens after 'else' expression is currently not supported
539[info] - when escaped @(expression) after an 'else' expression makes the whole 'else' part handled as plain text
540[info] - when 'else if' expression after an 'if' expression, without body is handled as plain text
541[info] - when @expression without curly braces or parens after 'else if' expression is currently not supported
542[info] - when escaped @expression after an 'else if' expression makes the whole 'else if' part handled as plain text
543[info] - when @(expression) without curly braces or parens after 'else if' expression is currently not supported
544[info] - when escaped @(expression) after an 'else if' expression makes the whole 'else if' part handled as plain text
545[info] - when do not render whitespaces which are part of an 'if' expression with {...}
546[info] - when do not render whitespaces which are part of an 'if' expression with @{...}
547[info] - when do not render whitespaces which are part of an 'if' expression with (...)
548[info] - when do not render whitespaces which are part of an 'if'/'else' expression with {...}
549[info] - when do not render whitespaces which are part of an 'if'/'else' expression with @{...}
550[info] - when do not render whitespaces which are part of an 'if'/'else' expression with (...)
551[info] - when do not render whitespaces which are part of an 'if'/'else if' expression with {...}
552[info] - when do not render whitespaces which are part of an 'if'/'else if' expression with @{...}
553[info] - when do not render whitespaces which are part of an 'if'/'else if' expression with (...)
554[info] - when parsing @x @{x}
555[info] - when parsing @{x} @x
556[info] - when parsing @{x} @{x}
557[info] - when parsing @x @x
558[info] should handle local val for pure code blocks
559[info] - when lazy not also defined as val should fail
560[info] - when val, resultType is not given without implicit prefixed, has empty type params should fail
561[info] - when val, resultType is not given without implicit prefixed, has empty type params (with space) should fail
562[info] - when lazy val, resultType is not given without implicit prefixed, has empty type params should fail
563[info] - when lazy val, resultType is not given without implicit prefixed, has empty type params (with space) should fail
564[info] - when val can not have type parameters
565[info] - when lazy val can not have type parameters
566[info] - when val can not have arguments
567[info] - when lazy val can not have arguments
568[info] - when val can not have empty arguments
569[info] - when lazy val can not have empty arguments
570[info] - when resultType is not given without implicit prefixed, not lazy
571[info] - when resultType is not given without implicit prefixed, lazy
572[info] should handle local val for template code blocks
573[info] - when lazy not also defined as val should fail
574[info] - when val, resultType is not given without implicit prefixed, has empty type params should fail
575[info] - when val, resultType is not given without implicit prefixed, has empty type params (with space) should fail
576[info] - when lazy val, resultType is not given without implicit prefixed, has empty type params should fail
577[info] - when lazy val, resultType is not given without implicit prefixed, has empty type params (with space) should fail
578[info] - when val can not have type parameters
579[info] - when lazy val can not have type parameters
580[info] - when val can not have arguments
581[info] - when lazy val can not have arguments
582[info] - when val can not have empty arguments
583[info] - when lazy val can not have empty arguments
584[info] - when resultType is not given without implicit prefixed, not lazy
585[info] - when resultType is not given without implicit prefixed, lazy
586[info] should handle local var for pure code blocks
587[info] - when allow reassigning variable
588[info] - when allow reassigning variable in if/elseif/else
589[info] - when fail if type annotation present on variable reassignment
590[info] - when lazy not allowed for var
591[info] - when fail to reassign a function to a var
592[info] - when fail to reassign a function with typ params and parens to a var
593[info] - when fail to reassign a function with typ params to a var
594[info] - when fail to reassign when empty type params are given
595[info] - when fail to reassign when empty type params that contain spaces are given
596[info] - when fail to define var when empty type params are given
597[info] - when fail to define var when valid type params are given
598[info] - when fail to define var when valid type params and parens are given
599[info] - when fail to define var when parameter list is given
600[info] - when fail to define var when empty parameter list is given
601[info] should handle local var for template code blocks
602[info] - when allow reassigning variable
603[info] - when allow reassigning variable in if/elseif/else
604[info] - when ignore variable reassignment and handle as string if type annotation present
605[info] - when lazy not allowed for var
606[info] - when fail to reassign a function to a var
607[info] - when fail to reassign a function with typ params and parens to a var
608[info] - when fail to reassign a function with typ params to a var
609[info] - when fail to reassign when empty type params are given
610[info] - when fail to reassign when empty type params that contain spaces are given
611[info] - when fail to define var when empty type params are given
612[info] - when fail to define var when valid type params are given
613[info] - when fail to define var when valid type params and parens are given
614[info] - when fail to define var when parameter list is given
615[info] - when fail to define var when empty parameter list is given
616[info] should handle local pure code block definitions
617[info] - when resultType is not given without implicit prefixed, no argument list
618[info] - when resultType is not given without implicit prefixed, empty argument list
619[info] - when resultType is not given without implicit prefixed but prefixed with val
620[info] - when resultType is not given without implicit prefixed but prefixed with lazy
621[info] - when resultType is not given without implicit prefixed but prefixed with lazyval
622[info] - when resultType is not given without implicit prefixed, has type params
623[info] - when resultType is given
624[info] - when resultType is given without implicit prefixed
625[info] - when resultType with type is given
626[info] - when resultType is given without spaces
627[info] - when resultType and params are given
628[info] - when no resultType and no params are given
629[info] - when no resultType but params are given
630[info] - when empty type params are given
631[info] - when empty type params that contain spaces are given
632[info] should handle local template code block definitions
633[info] - when resultType is not given without implicit prefixed, no argument list
634[info] - when resultType is not given without implicit prefixed, empty argument list
635[info] - when resultType is not given without implicit prefixed but prefixed with val
636[info] - when resultType is not given without implicit prefixed but prefixed with lazy
637[info] - when resultType is not given without implicit prefixed but prefixed with lazyval
638[info] - when resultType is not given without implicit prefixed, has type params
639[info] - when not parse when resultType is given
640[info] - when not parse when resultType is given without implicit prefixed
641[info] - when not parse when resultType is given without spaces
642[info] - when not parse when resultType and params are given
643[info] - when no resultType and no params are given
644[info] - when no resultType but params are given
645[info] - when empty type params are given
646[info] - when empty type params that contain spaces are given
647[info] should handle string literals within parentheses
648[info] - when with left parenthesis
649[info] - when with right parenthesis and '@'
650[info] - should handle escaped closing curly braces
651[info] should fail for
652[info] - when unclosedBracket.scala.html
653[info] - when unclosedBracket2.scala.html
654[info] - when invalidAt.scala.html
655
656************************
657Build summary:
658[{
659 "module": "twirl-api",
660 "compile": {"status": "ok", "tookMs": 5673, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
661 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
662 "test-compile": {"status": "ok", "tookMs": 4979, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
663 "test": {"status": "ok", "tookMs": 581, "passed": 13, "failed": 0, "ignored": 0, "skipped": 0, "total": 13, "byFramework": [{"framework": "unknown", "stats": {"passed": 13, "failed": 0, "ignored": 0, "skipped": 0, "total": 13}}]},
664 "publish": {"status": "skipped", "tookMs": 0},
665 "metadata": {
666 "crossScalaVersions": ["2.12.21", "2.13.18", "3.8.2"]
667}
668},{
669 "module": "twirl-compiler",
670 "compile": {"status": "ok", "tookMs": 5498, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
671 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
672 "test-compile": {"status": "ok", "tookMs": 10524, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
673 "test": {"status": "ok", "tookMs": 25432, "passed": 111, "failed": 0, "ignored": 0, "skipped": 0, "total": 111, "byFramework": [{"framework": "unknown", "stats": {"passed": 111, "failed": 0, "ignored": 0, "skipped": 0, "total": 111}}]},
674 "publish": {"status": "skipped", "tookMs": 0},
675 "metadata": {
676 "crossScalaVersions": ["2.12.21", "2.13.18", "3.8.2"]
677}
678},{
679 "module": "twirl-maven-plugin",
680 "compile": {"status": "ok", "tookMs": 448, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
681 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
682 "test-compile": {"status": "ok", "tookMs": 262, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
683 "test": {"status": "ok", "tookMs": 197, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
684 "publish": {"status": "skipped", "tookMs": 0},
685 "metadata": {
686 "crossScalaVersions": ["2.12.21", "2.13.18", "3.8.2"]
687}
688},{
689 "module": "twirl-parser",
690 "compile": {"status": "ok", "tookMs": 50, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
691 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
692 "test-compile": {"status": "ok", "tookMs": 88, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
693 "test": {"status": "ok", "tookMs": 449, "passed": 139, "failed": 0, "ignored": 0, "skipped": 0, "total": 139, "byFramework": [{"framework": "unknown", "stats": {"passed": 139, "failed": 0, "ignored": 0, "skipped": 0, "total": 139}}]},
694 "publish": {"status": "skipped", "tookMs": 0},
695 "metadata": {
696 "crossScalaVersions": ["2.12.21", "2.13.18", "3.8.2"]
697}
698}]
699************************
700[success] Total time: 59 s, completed Mar 21, 2026, 7:36:55 PM
701[0JChecking patch project/plugins.sbt...
702Checking patch project/Dependencies.scala...
703Checking patch build.sbt...
704Applied patch project/plugins.sbt cleanly.
705Applied patch project/Dependencies.scala cleanly.
706Applied patch build.sbt cleanly.