Build Logs

playframework/cachecontrol • 3.8.0-RC5:2025-12-31

Errors

1

Warnings

19

Total Lines

371

1##################################
2Clonning https://github.com/playframework/cachecontrol.git into /build/repo using revision 3.1.0-M2
3##################################
4Note: switching to '2ab6ebc807ce67a0ea86f0aa2fa1536e875e921a'.
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.3.5
22----
23Preparing build for 3.8.0-RC5
24Scala binary version found: 3.8
25Implicitly using source version 3.8
26Scala binary version found: 3.8
27Implicitly using source version 3.8
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.8
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: project/Dependencies.scala
34Pattern: val Scala3 = "3.3.5"
35Replacement: val Scala3 = "3.8.0-RC5"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (17))
38Compiled project (Scala 3.7.3, JVM (17))
39Successfully applied pattern 'val Scala3 = "3.3.5"' in project/Dependencies.scala
40----
41Starting build for 3.8.0-RC5
42Execute tests: true
43sbt project found:
44Sbt version 1.10.11 is not supported, minimal supported version is 1.11.5
45Enforcing usage of sbt in version 1.11.5
46No prepare script found for project playframework/cachecontrol
47##################################
48Scala version: 3.8.0-RC5
49Targets: org.playframework%cachecontrol
50Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.3.5\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
51##################################
52Using extra scalacOptions: ,REQUIRE:-source:3.8
53Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
54[sbt_options] declare -a sbt_options=()
55[process_args] java_version = '17'
56[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
57# Executing command line:
58java
59-Dfile.encoding=UTF-8
60-Dcommunitybuild.scala=3.8.0-RC5
61-Dcommunitybuild.project.dependencies.add=
62-Xmx7G
63-Xms4G
64-Xss8M
65-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
66-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
67-jar
68/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
69"setCrossScalaVersions 3.8.0-RC5"
70"++3.8.0-RC5 -v"
71"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
72"set every credentials := Nil"
73"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
74"removeScalacOptionsStartingWith -P:wartremover"
75
76moduleMappings
77"runBuild 3.8.0-RC5 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.3.5\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}""" org.playframework%cachecontrol"
78
79[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
80[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
81[info] loading project definition from /build/repo/project
82[info] compiling 4 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
83[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
84[info] Compilation completed in 8.961s.
85[info] done compiling
86[info] loading settings for project cachecontrol from build.sbt, common.sbt...
87[info] set current project to cachecontrol (in build file:/build/repo/)
88Execute setCrossScalaVersions: 3.8.0-RC5
89OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in cachecontrol/crossScalaVersions
90[info] set current project to cachecontrol (in build file:/build/repo/)
91[info] Setting Scala version to 3.8.0-RC5 on 1 projects.
92[info] Switching Scala version on:
93[info] * cachecontrol (2.12.20, 2.13.16, 3.8.0-RC5)
94[info] Excluding projects:
95[info] Reapplying settings...
96[info] set current project to cachecontrol (in build file:/build/repo/)
97Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
98[info] Reapplying settings...
99[info] set current project to cachecontrol (in build file:/build/repo/)
100[info] Defining Global / credentials, credentials
101[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 7 others.
102[info] Run `last` for details.
103[info] Reapplying settings...
104[info] set current project to cachecontrol (in build file:/build/repo/)
105Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
106[info] Reapplying settings...
107OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
108
109 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
110 Did you mean allExcludeDependencies ?
111 , retry without global scopes
112[info] Reapplying settings...
113[info] set current project to cachecontrol (in build file:/build/repo/)
114Execute removeScalacOptionsStartingWith: -P:wartremover
115[info] Reapplying settings...
116[info] set current project to cachecontrol (in build file:/build/repo/)
117[success] Total time: 0 s, completed Dec 31, 2025, 9:33:07 PM
118Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.3.5\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
119Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
120Starting build...
121Projects: Set(cachecontrol)
122Starting build for ProjectRef(file:/build/repo/,cachecontrol) (cachecontrol)... [0/1]
123OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
124OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
125OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
126Compile scalacOptions: -release, 17, -encoding, utf8, -unchecked, -Xlint, -Ywarn-unused:imports, -Xlint:nullary-unit, -Ywarn-dead-code, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
127[info] compiling 19 Scala sources to /build/repo/target/scala-3.8.0-RC5/classes ...
128[warn] Option -Xlint is deprecated: Use -Wshadow to enable shadowing lints. Scheduled for removal.
129[warn] bad option '-Ywarn-unused:imports' was ignored
130[warn] Option -Xlint is deprecated: Use -Wshadow to enable shadowing lints. Scheduled for removal.
131[warn] bad option '-Ywarn-dead-code' was ignored
132[warn] -- Warning: /build/repo/src/main/scala/org/playframework/cachecontrol/VaryParser.scala:15:54
133[warn] 15 | val headerNames = fieldValue.split(",\\s*").map(HeaderName)
134[warn] | ^^^^^^^^^^
135[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.playframework.cachecontrol.HeaderName.apply` explicitly.
136[warn] -- [E121] Pattern Match Warning: /build/repo/src/main/scala/org/playframework/cachecontrol/CacheDirectiveParserCompat.scala:11:11
137[warn] 11 | case _ =>
138[warn] | ^
139[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
140[warn] there were 2 deprecation warnings; re-run with -deprecation for details
141[warn] 7 warnings found
142[info] done compiling
143[info] compiling 13 Scala sources to /build/repo/target/scala-3.8.0-RC5/test-classes ...
144[warn] Option -Xlint is deprecated: Use -Wshadow to enable shadowing lints. Scheduled for removal.
145[warn] bad option '-Ywarn-unused:imports' was ignored
146[warn] Option -Xlint is deprecated: Use -Wshadow to enable shadowing lints. Scheduled for removal.
147[warn] bad option '-Ywarn-dead-code' was ignored
148[warn] four warnings found
149[info] done compiling
150SLF4J(W): A number (2) of logging calls during the initialization phase have been intercepted and are
151SLF4J(W): now being replayed. These are subject to the filtering rules of the underlying logging system.
152SLF4J(W): See also https://www.slf4j.org/codes.html#replay
153[info] VaryParserSpec:
154[info] Vary parser
155[info] - should parse * correctly
156[info] - should parse a list of header names correctly
157[info] FreshnessCalculatorSpec:
158[info] calculateFreshnessLifetime
159[info] - should return stale on conflicting information
160[info] - should use the Expires headers
161[info] - should use the max-age directive
162[info] - should use the max-age directive over the expires header
163[info] - should use s-maxage directive
164[info] - should use the s-maxage directive over the expires header if shared
165[info] - should use the s-maxage directive over the max-age header if shared
166[info] - should ignore the s-maxage header if private
167[info] - should use a heuristic if defined
168[info] - should return stale if there is no heuristic
169[info] ResponseCachingCalculatorSpec:
170[info] isCacheable
171[info] when with non cacheable method
172[info] - should return DoNotCacheResponse
173[info] when with ineligible response code
174[info] - should return DoNotCacheResponse
175[info] when with Authorized Header in request
176[info] - should return DoNotCacheResponse if a shared cache
177[info] - should return DoCacheResponse if a shared cache and explicitly allowed
178[info] - should return DoCacheResponse if a private cache
179[info] when with no-store request directive
180[info] - should return DoNotCacheResponse
181[info] when with no-store response directive
182[info] - should return DoNotCacheResponse
183[info] when with no-cache response directive
184[info] - should return DoCacheResponse
185[info] - should return DoCacheResponse when qualified
186[info] when with private response directive
187[info] - should return DoCacheResponse when cache is private
188[info] - should return DoNotCacheResponse when cache is shared
189[info] - should return DoCacheResponse with no stripped headers when qualified and cache is private
190[info] - should return DoCacheResponse with stripped headers when qualified and cache is shared
191[info] when with qualified private and qualified no-cache response directives
192[info] - should return DoCache with only no-cache stripped headers when private
193[info] - should return DoCache with both stripped headers when shared cache
194[info] when with Expires header in response
195[info] - should return DoCacheResponse
196[info] when with max-age response directive
197[info] - should return DoCacheResponse
198[info] when with s-maxage response directive
199[info] - should return DoCacheResponse in a shared cache
200[info] - should have no effect in a private cache
201[info] - should overrides max-age directive (pending)
202[info] when with a containsCachableExtension
203[info] - should return DoCacheResponse
204[info] when with an unrecognized cache extension
205[info] - should return DoCacheResponse and be ignored
206[info] when with a status code that is not cacheable by default
207[info] - should return DoNotCacheResponse
208[info] when with a public directive
209[info] - should return DoCacheResponse even when not cacheable by default
210[info] SecondaryKeyCalculatorSpec:
211[info] Secondary Calculators
212[info] - should be None with no Vary header
213[info] - should return the wildcard itself with a Vary header of *
214[info] - should be Some with the request's Accept-Encoding value with a Vary header of Accept-Encoding
215[info] HttpDateSpec:
216[info] - parse a date in IMF-fixdate format
217[info] - parse a date in RFC 850 format
218[info] - parse a date that is > 50 years in the future correctly (pending)
219[info] - parse a date in asctime format
220[info] - format a date in IMF format
221[info] WarningParserSpec:
222[info] - Parse a warning spec correctly with a date
223[info] - Parse a warning spec correctly
224[info] - Parse a warning spec correctly with uri-host
225[info] StripHeaderCalculatorSpec:
226[info] stripHeaders
227[info] - should contain no-cache results
228[info] - should contain private results
229[info] - should contain no results when cache is private
230[info] CacheDefaultsSpec:
231[info] isCacheableMethod
232[info] - should return true for GET
233[info] - should return true for HEAD
234[info] - should return false for POST
235[info] CurrentAgeCalculatorSpec:
236[info] calculateAgeValue
237[info] - should calculate age from Age header
238[info] - should calculate age as 0 if Age header is missing
239[info] calculateDateValue
240[info] - should calculate age from Date header
241[info] - should throw exception if Date header is missing
242[info] calculateAge
243[info] - should work with a Date header
244[info] - should work with a Date header and a response delay
245[info] - should work with an Age header
246[info] - should work with an Age header and a response delay of two seconds
247[info] ResponseSelectionCalculatorSpec:
248[info] serveResponse
249[info] when matching URI and no nominated headers
250[info] - should return SelectedResponse
251[info] when the effective request URI does not match the stored response URI
252[info] - should return ForwardToOrigin
253[info] when the request method associated with the stored response does not allow it to be used
254[info] - should return ForwardToOrigin
255[info] when the selecting header fields do not match
256[info] - should return ForwardToOrigin if no presenting header by that name
257[info] - should return ForwardToOrigin if a presenting header has the wrong value
258[info] - should return ForwardToOrigin if only some of the presenting headers match
259[info] when matching headers are found
260[info] - should return SelectedResponse
261[info] - should return SelectedResponse with the most recent stored response if multiple responses
262[info] when no response is found
263[info] - should return ForwardToOrigin
264[info] - should return GatewayTimeout if request specifies only-if-cached
265[info] CacheDirectiveParserSpec:
266[info] CacheDirectiveParser
267[info] - should parse a cache directive in upper case
268[info] - should parse a cache directive in a quoted string
269[info] - should parse max-age successfully
270[info] - should parse max-age successfully with a value of 0
271[info] - should parse max-stale successfully
272[info] - should parse min-fresh successfully
273[info] - should parse no-cache successfully
274[info] - should parse no-cache with arguments successfully
275[info] - should parse no-store successfully
276[info] - should parse no-transform successfully
277[info] - should parse only-if-cached successfully
278[info] - should parse must-revalidate successfully
279[info] - should parse public successfully
280[info] - should parse private successfully
281[info] - should parse private with values successfully
282[info] - should parse proxy-revalidate successfully
283[info] - should parse s-maxage successfully
284[info] - should parse custom cache directive successfully
285[info] - should parse private,max-age=0,no-cache successfully
286[info] - should parse duplicated private,private successfully
287[info] - should parse headers and join them successfully
288[info] - should parse complicated headers and join them with duplicates
289[info] - should parse random input as cache directives
290[info] ResponseServingCalculatorSpec:
291[info] serviceResponse
292[info] when no-cache request directive
293[info] - should return Validate
294[info] when no-cache pragma
295[info] - should return Validate
296[info] when no-store request directive
297[info] - should return ServeFresh when fresh
298[info] - should return Validate when stale
299[info] when max-stale request directive
300[info] - should return ServeFresh when fresh
301[info] - should return ServeStale when stale but there is max-age with no delta
302[info] - should return ServeStale when stale but within range
303[info] - should return Validate when stale outside of max-age
304[info] when max-age request directive
305[info] - should return Validate when max-age=0
306[info] - should return ServeFresh when in range
307[info] - should return Validate when not in range
308[info] when min-fresh request directive
309[info] - should return ServeFresh when in range
310[info] - should return Validate when out of range
311[info] - should return Validate when in range but combined with max-age
312[info] when stale-if-error request directive
313[info] - should return Validate with stale-if-error = true when in range
314[info] - should return Validate with stale-if-error = false when out of range
315[info] when no-cache response directive
316[info] - should always return Validate, even when fresh
317[info] when no-store response directive
318[info] - should return ServeFresh when fresh
319[info] - should return Validate when stale
320[info] when must-revalidate response directive
321[info] - should return ServeFresh when fresh
322[info] - should return ValidateOrTimeout when stale
323[info] when max-age response directive
324[info] - should return ServeFresh when fresh
325[info] - should return Validate when stale
326[info] - should return Validate when max-age=0
327[info] when s-maxage response directive
328[info] when private cache
329[info] - should return ServeFresh when fresh (s-maxage is ignored)
330[info] - should return Validate when stale (s-maxage is ignored)
331[info] when shared cache
332[info] - should return ServeFresh when fresh, overriding max-age
333[info] - should return ValidateOrTimeout when stale
334[info] - should return ValidateOrTimeout when s-maxage=0
335[info] when proxy-revalidate response directive
336[info] - should return ServeFresh when fresh
337[info] - should return ValidateOrTimeout when stale
338[info] - should return Validate when stale and private cache
339[info] when stale-while-revalidate response directive
340[info] - should return ServeFresh when fresh
341[info] - should return ServeStaleAndValidate when stale but in range
342[info] - should return Validate when stale
343[info] - should return Validate when stale and combined with stale-if-error
344[info] when stale-if-error response directive
345[info] - should return ServeFresh when fresh
346[info] - should return Validate with stale-if-error=true when stale but in range
347[info] - should return Validate with stale-if-error=false when not in range
348
349************************
350Build summary:
351[{
352 "module": "cachecontrol",
353 "compile": {"status": "ok", "tookMs": 8089, "warnings": 2, "errors": 0, "sourceVersion": "3.8"},
354 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
355 "test-compile": {"status": "ok", "tookMs": 7031, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
356 "test": {"status": "ok", "tookMs": 919, "passed": 131, "failed": 0, "ignored": 0, "skipped": 0, "total": 131, "byFramework": [{"framework": "unknown", "stats": {"passed": 131, "failed": 0, "ignored": 0, "skipped": 0, "total": 131}}]},
357 "publish": {"status": "skipped", "tookMs": 0},
358 "metadata": {
359 "crossScalaVersions": ["2.12.20", "2.13.16", "3.3.5"]
360}
361}]
362************************
363[success] Total time: 17 s, completed Dec 31, 2025, 9:33:24 PM
364[0JChecking patch project/plugins.sbt...
365Checking patch project/build.properties...
366Checking patch project/Dependencies.scala...
367Checking patch build.sbt...
368Applied patch project/plugins.sbt cleanly.
369Applied patch project/build.properties cleanly.
370Applied patch project/Dependencies.scala cleanly.
371Applied patch build.sbt cleanly.