From 1d9bb82602cf2fff2265da351437d7d116ca5af7 Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Wed, 15 Apr 2026 14:57:56 +0000 Subject: [PATCH 1/2] Update guava to 33.6.0-jre --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index fe10035..ef2dc8f 100644 --- a/build.sbt +++ b/build.sbt @@ -26,7 +26,7 @@ val slf4jVersion = "2.0.17" val logbackVersion = "1.5.32" // Tests only val commonsLang3Version = "3.20.0" val commonsCodecVersion = "1.21.0" -val guavaVersion = "33.5.0-jre" +val guavaVersion = "33.6.0-jre" val commonsNetVersion = "3.13.0" val scalatestVersion = "3.2.20" From e4f37ce3f3c017076f975edd6361d9f3ea6140fc Mon Sep 17 00:00:00 2001 From: Dawid Dworak Date: Fri, 17 Apr 2026 13:13:32 +0200 Subject: [PATCH 2/2] Use Duration overload for CacheBuilder.expireAfterAccess Guava 33.6.0 deprecated the (long, TimeUnit) overload in favor of java.time.Duration. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../com/avsystem/scex/compiler/CachingScexCompiler.scala | 7 ++++--- .../scex/compiler/TemplateOptimizingScexCompiler.scala | 4 ++-- .../presentation/CachingScexPresentationCompiler.scala | 9 +++++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/scex-core/src/main/scala/com/avsystem/scex/compiler/CachingScexCompiler.scala b/scex-core/src/main/scala/com/avsystem/scex/compiler/CachingScexCompiler.scala index e957b7d..fd4fde7 100644 --- a/scex-core/src/main/scala/com/avsystem/scex/compiler/CachingScexCompiler.scala +++ b/scex-core/src/main/scala/com/avsystem/scex/compiler/CachingScexCompiler.scala @@ -7,7 +7,8 @@ import com.avsystem.scex.validation.{SymbolValidator, SyntaxValidator} import com.google.common.cache.CacheBuilder import com.google.common.util.concurrent.ExecutionError -import java.util.concurrent.{ExecutionException, TimeUnit} +import java.time.Duration +import java.util.concurrent.ExecutionException import scala.util.{Failure, Success, Try} trait CachingScexCompiler extends ScexCompiler { @@ -15,12 +16,12 @@ trait CachingScexCompiler extends ScexCompiler { import com.avsystem.scex.util.CommonUtils._ private val preprocessingCache = CacheBuilder.newBuilder - .expireAfterAccess(settings.expressionExpirationTime.value, TimeUnit.SECONDS) + .expireAfterAccess(Duration.ofSeconds(settings.expressionExpirationTime.value)) .maximumSize(settings.expressionCacheSize.value) .build[(String, Boolean), (String, PositionMapping)] private val expressionCache = CacheBuilder.newBuilder - .expireAfterAccess(settings.expressionExpirationTime.value, TimeUnit.SECONDS) + .expireAfterAccess(Duration.ofSeconds(settings.expressionExpirationTime.value)) .maximumSize(settings.expressionCacheSize.value) .build[ExpressionDef, Try[RawExpression]] diff --git a/scex-core/src/main/scala/com/avsystem/scex/compiler/TemplateOptimizingScexCompiler.scala b/scex-core/src/main/scala/com/avsystem/scex/compiler/TemplateOptimizingScexCompiler.scala index 8e502f9..1e30db1 100644 --- a/scex-core/src/main/scala/com/avsystem/scex/compiler/TemplateOptimizingScexCompiler.scala +++ b/scex-core/src/main/scala/com/avsystem/scex/compiler/TemplateOptimizingScexCompiler.scala @@ -1,7 +1,7 @@ package com.avsystem.scex package compiler -import java.util.concurrent.TimeUnit +import java.time.Duration import com.avsystem.scex.compiler.ScexCompiler.{CompilationFailedException, CompileError} import com.avsystem.scex.compiler.TemplateOptimizingScexCompiler.ConversionSupplier @@ -33,7 +33,7 @@ trait TemplateOptimizingScexCompiler extends ScexPresentationCompiler { import com.avsystem.scex.util.CacheImplicits._ private val literalConversionsCache = CacheBuilder.newBuilder - .expireAfterAccess(settings.expressionExpirationTime.value, TimeUnit.SECONDS) + .expireAfterAccess(Duration.ofSeconds(settings.expressionExpirationTime.value)) .build[(ExpressionProfile, String, String), Try[ConversionSupplier[Any]]]((compileLiteralConversion _).tupled) private def getLiteralConversion(exprDef: ExpressionDef) = diff --git a/scex-core/src/main/scala/com/avsystem/scex/compiler/presentation/CachingScexPresentationCompiler.scala b/scex-core/src/main/scala/com/avsystem/scex/compiler/presentation/CachingScexPresentationCompiler.scala index a53fcb5..fb17dbc 100644 --- a/scex-core/src/main/scala/com/avsystem/scex/compiler/presentation/CachingScexPresentationCompiler.scala +++ b/scex-core/src/main/scala/com/avsystem/scex/compiler/presentation/CachingScexPresentationCompiler.scala @@ -1,7 +1,8 @@ package com.avsystem.scex package compiler.presentation -import java.util.concurrent.{ExecutionException, TimeUnit} +import java.time.Duration +import java.util.concurrent.ExecutionException import java.{lang => jl, util => ju} import com.avsystem.scex.compiler.ExpressionDef @@ -21,19 +22,19 @@ trait CachingScexPresentationCompiler extends ScexPresentationCompiler { import com.avsystem.scex.util.CommonUtils._ private val errorsCache = CacheBuilder.newBuilder - .expireAfterAccess(settings.completionExpirationTime.value, TimeUnit.SECONDS) + .expireAfterAccess(Duration.ofSeconds(settings.completionExpirationTime.value)) .maximumSize(settings.errorsCacheSize.value) .build[ExpressionDef, List[CompileError]] private val scopeCompletionCache = CacheBuilder.newBuilder - .expireAfterAccess(settings.completionExpirationTime.value, TimeUnit.SECONDS) + .expireAfterAccess(Duration.ofSeconds(settings.completionExpirationTime.value)) .maximumSize(settings.scopeCompletionCacheSize.value) .build[ExpressionDef, Completion] case class TypeMembersCacheKey(profile: ExpressionProfile, contextType: String, ownerType: TypeWrapper) private val typeMembersCache = CacheBuilder.newBuilder - .expireAfterAccess(settings.completionExpirationTime.value, TimeUnit.SECONDS) + .expireAfterAccess(Duration.ofSeconds(settings.completionExpirationTime.value)) .maximumSize(settings.typeMembersCacheSize.value) .build[TypeMembersCacheKey, Vector[Member]]