Skip to content

Commit

Permalink
Guice 7 + switch to Jakarta Dependency Injection
Browse files Browse the repository at this point in the history
  • Loading branch information
mkurz committed May 8, 2023
1 parent 970d902 commit 12c03a1
Show file tree
Hide file tree
Showing 363 changed files with 640 additions and 687 deletions.
2 changes: 1 addition & 1 deletion build.sbt
Expand Up @@ -161,7 +161,7 @@ lazy val PlayJavaClusterSharding =

lazy val PlayJdbcApiProject = PlayCrossBuiltProject("Play-JDBC-Api", "persistence/play-jdbc-api")
.settings(
libraryDependencies += javaxInject,
libraryDependencies += jakartaInject,
)

lazy val PlayJdbcProject: Project = PlayCrossBuiltProject("Play-JDBC", "persistence/play-jdbc")
Expand Down
Expand Up @@ -4,8 +4,8 @@

package play.cache;

import jakarta.inject.Inject;
import java.util.concurrent.CompletionStage;
import javax.inject.Inject;
import play.mvc.Action;
import play.mvc.Http.Request;
import play.mvc.Result;
Expand Down
Expand Up @@ -7,12 +7,12 @@
import static scala.jdk.javaapi.FutureConverters.asJava;

import akka.Done;
import jakarta.inject.Inject;
import jakarta.inject.Singleton;
import java.util.Optional;
import java.util.concurrent.Callable;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
import javax.inject.Singleton;
import play.libs.Scala;
import scala.concurrent.duration.Duration;
import scala.jdk.javaapi.OptionConverters;
Expand Down
Expand Up @@ -4,14 +4,14 @@

package play.cache;

import jakarta.inject.Inject;
import java.util.Optional;
import java.util.concurrent.Callable;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import javax.inject.Inject;

/**
* An implementation of SyncCacheApi that wraps AsyncCacheApi
Expand Down
2 changes: 1 addition & 1 deletion cache/play-cache/src/main/java/play/cache/NamedCache.java
Expand Up @@ -4,9 +4,9 @@

package play.cache;

import jakarta.inject.Qualifier;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import javax.inject.Qualifier;

@Qualifier
@Retention(RetentionPolicy.RUNTIME)
Expand Down
Expand Up @@ -5,12 +5,12 @@
package play.api.cache

import java.time.Instant
import javax.inject.Inject

import scala.concurrent.duration._
import scala.concurrent.Future

import akka.stream.Materializer
import jakarta.inject.Inject
import play.api._
import play.api.http.HeaderNames.ETAG
import play.api.http.HeaderNames.EXPIRES
Expand Down
Expand Up @@ -4,14 +4,14 @@

package play.api.cache

import javax.inject.Inject

import scala.concurrent.duration._
import scala.concurrent.duration.Duration
import scala.concurrent.Await
import scala.concurrent.Future
import scala.reflect.ClassTag

import jakarta.inject.Inject

/**
* A cache API that uses synchronous calls rather than async calls. Useful when you know you have a fast in-memory cache.
*/
Expand Down
Expand Up @@ -6,9 +6,6 @@ package play.api.cache.caffeine

import java.util.concurrent.Executor
import javax.cache.CacheException
import javax.inject.Inject
import javax.inject.Provider
import javax.inject.Singleton

import scala.concurrent.duration.Duration
import scala.concurrent.ExecutionContext
Expand All @@ -21,6 +18,9 @@ import akka.stream.Materializer
import akka.Done
import com.github.benmanes.caffeine.cache.Cache
import com.google.common.primitives.Primitives
import jakarta.inject.Inject
import jakarta.inject.Provider
import jakarta.inject.Singleton
import play.api.cache._
import play.api.inject._
import play.api.libs.streams.Execution.trampoline
Expand Down
Expand Up @@ -5,14 +5,14 @@
package play.api.cache.caffeine

import java.util.concurrent.Executors
import javax.inject.Inject
import javax.inject.Provider

import scala.concurrent.duration._
import scala.concurrent.Await
import scala.concurrent.ExecutionContext
import scala.concurrent.Future

import jakarta.inject.Inject
import jakarta.inject.Provider
import org.mockito.Mockito
import org.mockito.Mockito.never
import org.mockito.Mockito.verify
Expand Down
Expand Up @@ -4,10 +4,6 @@

package play.api.cache.ehcache

import javax.inject.Inject
import javax.inject.Provider
import javax.inject.Singleton

import scala.concurrent.duration.Duration
import scala.concurrent.duration.FiniteDuration
import scala.concurrent.ExecutionContext
Expand All @@ -18,6 +14,9 @@ import akka.actor.ActorSystem
import akka.stream.Materializer
import akka.Done
import com.google.common.primitives.Primitives
import jakarta.inject.Inject
import jakarta.inject.Provider
import jakarta.inject.Singleton
import net.sf.ehcache.CacheManager
import net.sf.ehcache.Ehcache
import net.sf.ehcache.Element
Expand Down
Expand Up @@ -6,11 +6,11 @@ package play.api.cache

import java.time.Instant
import java.util.concurrent.atomic.AtomicInteger
import javax.inject._

import scala.concurrent.duration._
import scala.util.Random

import jakarta.inject._
import play.api.cache.ehcache.EhCacheApi
import play.api.http
import play.api.mvc._
Expand Down
Expand Up @@ -5,14 +5,14 @@
package play.api.cache.ehcache

import java.util.concurrent.Executors
import javax.inject.Inject
import javax.inject.Provider

import scala.concurrent.duration._
import scala.concurrent.Await
import scala.concurrent.ExecutionContext
import scala.concurrent.Future

import jakarta.inject.Inject
import jakarta.inject.Provider
import net.sf.ehcache.CacheManager
import play.api.cache.AsyncCacheApi
import play.api.cache.SyncCacheApi
Expand Down
Expand Up @@ -6,8 +6,8 @@ package play.api.libs.jcache

import javax.cache.CacheManager
import javax.cache.Caching
import javax.inject._

import jakarta.inject._
import play.api.inject._
import play.api.Environment

Expand Down
Expand Up @@ -4,14 +4,13 @@

package play.api.cluster.sharding.typed

import javax.inject.Inject
import javax.inject.Provider
import javax.inject.Singleton

import akka.actor.typed.scaladsl.adapter._
import akka.actor.ActorSystem
import akka.annotation.InternalApi
import akka.cluster.sharding.typed.scaladsl.ClusterSharding
import jakarta.inject.Inject
import jakarta.inject.Provider
import jakarta.inject.Singleton
import play.api.inject._

@InternalApi
Expand Down
Expand Up @@ -4,14 +4,13 @@

package play.cluster.sharding.typed

import javax.inject.Inject
import javax.inject.Provider
import javax.inject.Singleton

import akka.actor.typed.javadsl.Adapter
import akka.actor.ActorSystem
import akka.annotation.InternalApi
import akka.cluster.sharding.typed.javadsl.ClusterSharding
import jakarta.inject.Inject
import jakarta.inject.Provider
import jakarta.inject.Singleton
import play.api.inject._

@InternalApi
Expand Down
Expand Up @@ -16,7 +16,7 @@
*
* <p>Captures concerns relating to the classloader and the filesystem for the application.
*/
// @Singleton, see BuiltInModule (We don't want javax.inject inside play-configuration project)
// @Singleton, see BuiltInModule (We don't want jakarta.inject inside play-configuration project)
public class Environment {
private final play.api.Environment env;

Expand Down
Expand Up @@ -4,14 +4,13 @@

package play.api.inject.guice

import javax.inject.Inject
import javax.inject.Provider
import javax.inject.Singleton

import scala.runtime.AbstractPartialFunction

import com.google.inject.{ Module => GuiceModule }
import com.google.inject.ProvisionException
import jakarta.inject.Inject
import jakarta.inject.Provider
import jakarta.inject.Singleton
import org.slf4j.ILoggerFactory
import play.api._
import play.api.http.HttpErrorHandlerExceptions
Expand Down
Expand Up @@ -6,8 +6,6 @@ package play.api.inject
package guice

import java.io.File
import javax.inject.Inject
import javax.inject.Provider

import scala.jdk.CollectionConverters._
import scala.reflect.ClassTag
Expand All @@ -19,6 +17,8 @@ import com.google.inject.Binder
import com.google.inject.CreationException
import com.google.inject.Guice
import com.google.inject.Stage
import jakarta.inject.Inject
import jakarta.inject.Provider
import play.api.inject.{ Binding => PlayBinding }
import play.api.inject.{ Injector => PlayInjector }
import play.api.inject.{ Module => PlayModule }
Expand Down
Expand Up @@ -41,7 +41,7 @@ import play.api.libs.concurrent.TypedAkka._
*
* @define unnamed Note that, while the name is used when spawning the actor in the `ActorSystem`,
* it is <em>NOT</em> used as a name qualifier for the binding. This is so that you don't need to
* use [[javax.inject.Named Named]] to qualify all injections of typed actors. Use the underlying
* use [[jakarta.inject.Named Named]] to qualify all injections of typed actors. Use the underlying
* API to create multiple, name-annotated bindings.
*/
trait AkkaGuiceSupport {
Expand Down
Expand Up @@ -4,8 +4,6 @@

package play.api.libs.concurrent

import javax.inject.Singleton

import scala.reflect.ClassTag

import akka.actor.typed.scaladsl.adapter._
Expand All @@ -16,6 +14,7 @@ import com.google.inject.Inject
import com.google.inject.Injector
import com.google.inject.Key
import com.google.inject.Provider
import jakarta.inject.Singleton
import play.api.libs.concurrent.TypedAkka._

/**
Expand Down
Expand Up @@ -15,8 +15,8 @@
import com.google.inject.ConfigurationException;
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
import javax.inject.Inject;
import javax.inject.Provider;
import jakarta.inject.Inject;
import jakarta.inject.Provider;
import org.junit.Test;
import play.Application;
import play.api.inject.guice.GuiceApplicationBuilderSpec;
Expand Down
Expand Up @@ -6,14 +6,14 @@ package play.api.inject
package guice

import java.util.Collections
import javax.inject.Inject
import javax.inject.Provider
import javax.inject.Singleton

import com.google.inject.CreationException
import com.google.inject.Guice
import com.google.inject.ProvisionException
import com.typesafe.config.Config
import jakarta.inject.Inject
import jakarta.inject.Provider
import jakarta.inject.Singleton
import org.specs2.mutable.Specification
import play.{ Environment => JavaEnvironment }
import play.api.i18n.I18nModule
Expand Down
3 changes: 1 addition & 2 deletions core/play-guice/src/test/scala/play/utils/ReflectSpec.scala
Expand Up @@ -4,10 +4,9 @@

package play.utils

import javax.inject.Inject

import scala.reflect.ClassTag

import jakarta.inject.Inject
import org.specs2.mutable.Specification
import play.api.inject.guice.GuiceInjectorBuilder
import play.api.inject.Binding
Expand Down
Expand Up @@ -146,7 +146,7 @@ public CompletionStage<Result> call(Http.Request req) {
@Retention(RetentionPolicy.RUNTIME)
@interface SingletonActionAnnotation {}

@javax.inject.Singleton
@jakarta.inject.Singleton
static class SingletonActionAnnotationAction extends Action<SingletonActionAnnotation> {
@Override
public CompletionStage<Result> call(Http.Request req) {
Expand Down
Expand Up @@ -4,11 +4,10 @@

package play.it.auth

import javax.inject.Inject

import scala.concurrent.ExecutionContext
import scala.concurrent.Future

import jakarta.inject.Inject
import play.api.i18n.MessagesApi
import play.api.mvc._
import play.api.mvc.Security.AuthenticatedBuilder
Expand Down
Expand Up @@ -293,13 +293,15 @@ trait JavaActionCompositionSpec extends PlaySpecification with WsTestClient {
)
}

"abort the request when action class is annotated with @javax.inject.Singleton" in makeRequest(new MockController {
@SingletonActionAnnotation
override def action(request: Request): Result = Results.ok()
}) { response =>
"abort the request when action class is annotated with @jakarta.inject.Singleton" in makeRequest(
new MockController {
@SingletonActionAnnotation
override def action(request: Request): Result = Results.ok()
}
) { response =>
response.status must_== 500
response.body[String] must contain(
"RuntimeException: Singleton action instances are not allowed! Remove the @javax.inject.Singleton annotation from the action class play.it.http.ActionCompositionOrderTest$SingletonActionAnnotationAction"
"RuntimeException: Singleton action instances are not allowed! Remove the @jakarta.inject.Singleton annotation from the action class play.it.http.ActionCompositionOrderTest$SingletonActionAnnotationAction"
)
}
}
Expand Down
Expand Up @@ -6,8 +6,6 @@ package play.it.http

import java.util.concurrent.CompletableFuture
import java.util.concurrent.TimeUnit
import javax.inject.Inject
import javax.inject.Provider

import scala.concurrent.duration._
import scala.concurrent.ExecutionContext
Expand All @@ -18,6 +16,8 @@ import akka.Done
import com.github.benmanes.caffeine.cache.Cache
import com.github.benmanes.caffeine.cache.Caffeine
import com.google.common.primitives.Primitives
import jakarta.inject.Inject
import jakarta.inject.Provider
import play.api.cache.caffeine.CaffeineCacheModule
import play.api.cache.AsyncCacheApi
import play.api.inject.guice.GuiceApplicationBuilder
Expand Down

0 comments on commit 12c03a1

Please sign in to comment.