diff --git a/.github/workflows/standard-workflow.yml b/.github/workflows/standard-workflow.yml
index 0c5ddb33..6c8a9b31 100644
--- a/.github/workflows/standard-workflow.yml
+++ b/.github/workflows/standard-workflow.yml
@@ -34,13 +34,13 @@ jobs:
run: sbt scalafmtCheckAll scalafmtSbtCheck "scalafixAll --check"
working-directory: examples/event-migration
- - name: Check code style - examples/akka-cluster-app
+ - name: Check code style - examples/pekko-cluster-app
run: sbt scalafmtCheckAll scalafmtSbtCheck "scalafixAll --check"
- working-directory: examples/akka-cluster-app
+ working-directory: examples/pekko-cluster-app
- - name: Check code style - examples/akka-persistence-app
+ - name: Check code style - examples/pekko-persistence-app
run: sbt scalafmtCheckAll scalafmtSbtCheck "scalafixAll --check"
- working-directory: examples/akka-persistence-app
+ working-directory: examples/pekko-persistence-app
test-212:
runs-on: ubuntu-latest
@@ -126,13 +126,13 @@ jobs:
run: sbt test
working-directory: examples/event-migration
- - name: Compile akka-cluster-app
+ - name: Compile pekko-cluster-app
run: sbt compile
- working-directory: examples/akka-cluster-app
+ working-directory: examples/pekko-cluster-app
- - name: Test akka-persistence-app
+ - name: Test pekko-persistence-app
run: sbt test
- working-directory: examples/akka-persistence-app
+ working-directory: examples/pekko-persistence-app
publish-maven-artifacts:
needs: [code-style-check, test-212, test-213-1, test-213-2, test-sbt-plugin, run-examples]
diff --git a/.scalafix.conf b/.scalafix.conf
index 7f9241bb..ed64a48b 100644
--- a/.scalafix.conf
+++ b/.scalafix.conf
@@ -9,5 +9,5 @@ OrganizeImports.groups = [
"java.",
"scala.",
"*",
- "org.virtuslab.ash"
+ "org.virtuslab.psh"
]
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8d365cfe..63aa0375 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -28,16 +28,16 @@ and using it in another project. Make sure that `mavenLocal` is added to the res
sbt publishM2
```
-You can find two example applications that use Akka Serialization Helper:
-- [akka-cluster-app](examples/akka-cluster-app)
-- [akka-persistence-app](examples/akka-persistence-app)
+You can find two example applications that use Pekko Serialization Helper:
+- [pekko-cluster-app](examples/pekko-cluster-app)
+- [pekko-persistence-app](examples/pekko-persistence-app)
These apps can be used for basic runtime testing as well. First, go to the app's directory:
```shell
-cd examples/akka-cluster-app
+cd examples/pekko-cluster-app
```
or
```shell
-cd examples/akka-persistence-app
+cd examples/pekko-persistence-app
```
And follow instructions from their README files.
@@ -68,7 +68,7 @@ Otherwise, incremental compilation might determine there is nothing to compile a
### Profiling
-To profile akka-serialization-helper compiler plugin used in another project - follow instructions from https://www.lightbend.com/blog/profiling-jvm-applications
+To profile pekko-serialization-helper compiler plugin used in another project - follow instructions from https://www.lightbend.com/blog/profiling-jvm-applications
You might as well use any other profiler, but using https://github.com/jvm-profiling-tools/async-profiler with flamegraphs should be really effective and easy to achieve (+ no unexpected bugs / issues / errors).
### Code quality
@@ -88,7 +88,7 @@ Releasing is done automatically by `sbt-ci-release` sbt plugin (read more on the
### Snapshots
-The new `SNAPSHOT` version is automatically published by GitHub Actions to [Sonatype OSS Snapshot repo](https://oss.sonatype.org/content/repositories/snapshots/org/virtuslab/ash/)
+The new `SNAPSHOT` version is automatically published by GitHub Actions to [Sonatype OSS Snapshot repo](https://oss.sonatype.org/content/repositories/snapshots/org/virtuslab/psh/)
every time a new commit is pushed to `main`.
To depend on the newest version with sbt, add the following setting:
@@ -99,7 +99,7 @@ to both `build.sbt` **and** `project/build.sbt` (so that the sbt plugin added in
### Maven Central
-Releases to [Maven Central](https://repo1.maven.org/maven2/org/virtuslab/ash/) are triggered by pushing a lightweight git tag with a version number.
+Releases to [Maven Central](https://repo1.maven.org/maven2/org/virtuslab/psh/) are triggered by pushing a lightweight git tag with a version number.
To publish version x.y.z, type in the console (on main branch):
```shell
diff --git a/README.md b/README.md
index 79a22a22..a0b15c2c 100644
--- a/README.md
+++ b/README.md
@@ -1,41 +1,35 @@
-# Akka Serialization Helper
+# Pekko Serialization Helper
-[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.virtuslab.ash/sbt-akka-serialization-helper/badge.svg)](https://mvnrepository.com/artifact/org.virtuslab.ash)
-[![GitHub Actions](https://github.com/VirtusLab/akka-serialization-helper/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/VirtusLab/akka-serialization-helper/actions)
-[![License: MIT](https://img.shields.io/github/license/VirtusLab/akka-serialization-helper)](LICENSE)
+[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.virtuslab.psh/sbt-pekko-serialization-helper/badge.svg)](https://mvnrepository.com/artifact/org.virtuslab.psh)
+[![GitHub Actions](https://github.com/VirtusLab/pekko-serialization-helper/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/VirtusLab/pekko-serialization-helper/actions)
+[![License: MIT](https://img.shields.io/github/license/VirtusLab/pekko-serialization-helper)](LICENSE)
-
-![logo_ash_horizontal@4x](logo/ash/png-4x/logo_ash_horizontal@4x.png)
-
-Serialization toolbox for Akka messages, events and persistent state that helps achieve compile-time guarantee on
-serializability. There are some Akka serialization caveats this tool can help with:
+Serialization toolbox for Pekko messages, events and persistent state that helps achieve compile-time guarantee on
+serializability. There are some Pekko serialization caveats this tool can help with:
1. [Missing serialization binding](#missing-serialization-binding)
2. [Incompatibility of persistent data](#incompatibility-of-persistent-data)
-3. [Jackson Akka Serializer](#jackson-akka-serializer)
+3. [Jackson Pekko Serializer](#jackson-pekko-serializer)
4. [Missing Codec registration](#missing-codec-registration)
-
-# ⚠️ Check [pekko-serialization-helper](https://github.com/VirtusLab/pekko-serialization-helper) for Pekko ⚠️
-
## Install
-Add the following line to `plugins.sbt` (take `Version` from the above maven badge or [GitHub Releases](https://github.com/VirtusLab/akka-serialization-helper/releases)):
+Add the following line to `plugins.sbt` (take `Version` from the above maven badge or [GitHub Releases](https://github.com/VirtusLab/pekko-serialization-helper/releases)):
```scala
-addSbtPlugin("org.virtuslab.ash" % "sbt-akka-serialization-helper" % Version)
+addSbtPlugin("org.virtuslab.psh" % "sbt-pekko-serialization-helper" % Version)
```
and enable the sbt plugin in the target project:
```scala
lazy val app = (project in file("app"))
- .enablePlugins(AkkaSerializationHelperPlugin)
+ .enablePlugins(PekkoSerializationHelperPlugin)
```
## Missing serialization binding
-To serialize message, persistent state or event in Akka, Scala trait needs to be defined:
+To serialize message, persistent state or event in Pekko, Scala trait needs to be defined:
```scala
package org
@@ -45,9 +39,9 @@ trait MySer
Also, a serializer needs to be bound to this trait in a configuration file:
```scala
-akka.actor {
+pekko.actor {
serializers {
- jackson-json = "akka.serialization.jackson.JacksonJsonSerializer"
+ jackson-json = "org.apache.pekko.serialization.jackson.JacksonJsonSerializer"
}
serialization-bindings {
"org.MySer" = jackson-json
@@ -62,13 +56,13 @@ trait MySer
case class MyMessage() // extends MySer
```
-`akka-serialization-helper` to the rescue! It detects messages, events and persistent states, and checks whether they
+`pekko-serialization-helper` to the rescue! It detects messages, events and persistent states, and checks whether they
extend the given base trait and report an error when they don't. This ensures that the specified serializer is
-used by Akka and protects against an unintended fallback to
-[Java serialization](https://doc.akka.io/docs/akka/current/serialization.html#java-serialization) or outright
+used by Pekko and protects against an unintended fallback to
+[Java serialization](https://pekko.apache.org/docs/pekko/current/serialization.html#java-serialization) or outright
serialization failure.
-To use, base trait should be annotated with [`@org.virtuslab.ash.SerializabilityTrait`](annotation/src/main/scala/org/virtuslab/ash/annotation/SerializabilityTrait.scala):
+To use, base trait should be annotated with [`@org.virtuslab.psh.SerializabilityTrait`](annotation/src/main/scala/org/virtuslab/psh/annotation/SerializabilityTrait.scala):
```scala
@SerializabilityTrait
@@ -77,7 +71,7 @@ trait MySerializable
It allows catching errors like these:
```scala
-import akka.actor.typed.Behavior
+import org.apache.pekko.actor.typed.Behavior
object BehaviorTest {
sealed trait Command //extends MySerializable
@@ -87,33 +81,33 @@ object BehaviorTest {
And results in a compile error, preventing non-runtime-safe code from being executed:
```
-test0.scala:7: error: org.random.project.BehaviorTest.Command is used as Akka message
-but does not extend a trait annotated with org.virtuslab.ash.annotation.SerializabilityTrait.
-Passing an object of a class that does NOT extend a trait annotated with SerializabilityTrait as a message may cause Akka to
+test0.scala:7: error: org.random.project.BehaviorTest.Command is used as Pekko message
+but does not extend a trait annotated with org.virtuslab.psh.annotation.SerializabilityTrait.
+Passing an object of a class that does NOT extend a trait annotated with SerializabilityTrait as a message may cause Pekko to
fall back to Java serialization during runtime.
def method(msg: Command): Behavior[Command] = ???
^
test0.scala:6: error: Make sure this type is itself annotated, or extends a type annotated
-with @org.virtuslab.ash.annotation.SerializabilityTrait.
+with @org.virtuslab.psh.annotation.SerializabilityTrait.
sealed trait Command extends MySerializable
^
```
-The compiler plugin only checks the classes in the sbt modules where `AkkaSerializationHelperPlugin` is explicitly enabled.
+The compiler plugin only checks the classes in the sbt modules where `PekkoSerializationHelperPlugin` is explicitly enabled.
It may happen that the base trait (like `MySerializable` in the example) lives in an sbt module like `core` where the plugin
should **not** be enabled (e.g. for compilation performance reasons).
-However, `MySerializable` needs to be annotated with `org.virtuslab.ash.SerializabilityTrait`.
+However, `MySerializable` needs to be annotated with `org.virtuslab.psh.SerializabilityTrait`.
In order to have access to the `SerializabilityTrait` annotation without enabling the entire suite of compiler plugins,
-add `AkkaSerializationHelperPlugin.annotation` to `libraryDependencies`:
+add `PekkoSerializationHelperPlugin.annotation` to `libraryDependencies`:
```scala
-import org.virtuslab.ash.AkkaSerializationHelperPlugin
+import org.virtuslab.psh.PekkoSerializationHelperPlugin
lazy val core = (project in file("core"))
- .settings(libraryDependencies += AkkaSerializationHelperPlugin.annotation)
+ .settings(libraryDependencies += PekkoSerializationHelperPlugin.annotation)
```
## Incompatibility of persistent data
@@ -124,10 +118,10 @@ A typical problem with a persistence is when the already persisted data is not c
with the schemas defined in a new version of the application.
To solve this, a mix of a compiler plugin and an sbt task can be used for dumping schema
-of [akka-persistence](https://doc.akka.io/docs/akka/current/typed/persistence.html#example-and-core-api) to a
+of [pekko-persistence](https://pekko.apache.org/docs/pekko/current/typed/persistence.html#example-and-core-api) to a
file. It can be used for detecting accidental changes of events (journal) and states (snapshots) with a simple `diff`.
-To dump persistence schema for each sbt module where `AkkaSerializationHelperPlugin` is enabled, run:
+To dump persistence schema for each sbt module where `PekkoSerializationHelperPlugin` is enabled, run:
```shell
sbt ashDumpPersistenceSchema
@@ -169,9 +163,9 @@ version from the current commit.
![Easy to diff](docs/easy-to-diff.png)
-## Jackson Akka Serializer
+## Jackson Pekko Serializer
-Using Jackson Serializer for akka-persistence is also one of the pitfalls and this
+Using Jackson Serializer for pekko-persistence is also one of the pitfalls and this
plugin provides an alternative by using a serializer that uses [Circe](https://circe.github.io/circe/).
Dangerous code for Jackson:
@@ -219,34 +213,34 @@ def receive = {
} // message will be unhandled
```
-A [Circe-based](https://circe.github.io/circe/) Akka serializer can be used. It uses Circe codecs, derived using [Shapeless](https://circe.github.io/circe/codecs/auto-derivation.html),
+A [Circe-based](https://circe.github.io/circe/) Pekko serializer can be used. It uses Circe codecs, derived using [Shapeless](https://circe.github.io/circe/codecs/auto-derivation.html),
that are generated during compile time (so serializer won't crash during runtime as reflection-based serializers may do).
-For a comparison of Circe with other serializers, read [Appendix A](#appendix-a-comparison-of-available-akka-serializers).
+For a comparison of Circe with other serializers, read [Appendix A](#appendix-a-comparison-of-available-pekko-serializers).
Note that it is **not** obligatory to use this serializer for the other features (serializability checker, persistence schema dump) to work.
-They work as well with e.g. when [Jackson serializer](https://doc.akka.io/docs/akka/current/serialization-jackson.html) is selected.
+They work as well with e.g. when [Jackson serializer](https://pekko.apache.org/docs/pekko/current/serialization-jackson.html) is selected.
#### Usage
Add the following to project dependencies:
```scala
-import org.virtuslab.ash.AkkaSerializationHelperPlugin
+import org.virtuslab.psh.PekkoSerializationHelperPlugin
lazy val app = (project in file("app"))
// ...
- .settings(libraryDependencies += AkkaSerializationHelperPlugin.circeAkkaSerializer)
+ .settings(libraryDependencies += PekkoSerializationHelperPlugin.circePekkoSerializer)
```
-Note that enabling `AkkaSerializationHelperPlugin` does **not** add Circe serializer to the classpath automatically,
+Note that enabling `PekkoSerializationHelperPlugin` does **not** add Circe serializer to the classpath automatically,
as this sbt plugin can be used to improve safety of other serializers as well.
-Create a custom serializer by extending `CirceAkkaSerializer` base class:
+Create a custom serializer by extending `CircePekkoSerializer` base class:
```scala
-import org.virtuslab.ash.circe.CirceAkkaSerializer
+import org.virtuslab.psh.circe.CircePekkoSerializer
class ExampleSerializer(actorSystem: ExtendedActorSystem)
- extends CirceAkkaSerializer[MySerializable](actorSystem) {
+ extends CircePekkoSerializer[MySerializable](actorSystem) {
override def identifier: Int = 41
@@ -257,24 +251,24 @@ class ExampleSerializer(actorSystem: ExtendedActorSystem)
override lazy val packagePrefix = "org.project"
}
```
-`CirceAkkaSerializer` can be configured to use Gzip compression when serializing payloads greater than defined size (default is without compression).
+`CircePekkoSerializer` can be configured to use Gzip compression when serializing payloads greater than defined size (default is without compression).
-See [default reference.conf file](circe-akka-serializer/src/main/resources/reference.conf) with comments for more details about `CirceAkkaSerializer` configuration.
+See [default reference.conf file](circe-pekko-serializer/src/main/resources/reference.conf) with comments for more details about `CircePekkoSerializer` configuration.
For more guidelines on how to use the serializer,
-read [Akka documentation about serialization](https://doc.akka.io/docs/akka/current/serialization.html),
-[`CirceAkkaSerializer`](circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/CirceAkkaSerializer.scala) Scaladoc
+read [Pekko documentation about serialization](https://pekko.apache.org/docs/pekko/current/serialization.html),
+[`CircePekkoSerializer`](circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/CircePekkoSerializer.scala) Scaladoc
and look at the [examples](examples).
## Missing Codec registration
If a codec is not registered, a runtime exception will occur.
```scala
-import org.virtuslab.ash.circe.CirceAkkaSerializer
-import org.virtuslab.ash.circe.Register
+import org.virtuslab.psh.circe.CircePekkoSerializer
+import org.virtuslab.psh.circe.Register
class ExampleSerializer(actorSystem: ExtendedActorSystem)
- extends CirceAkkaSerializer[MySerializable](actorSystem) {
+ extends CircePekkoSerializer[MySerializable](actorSystem) {
// ...
override lazy val codecs = Seq(Register[CommandOne]) // WHOOPS someone forgot to register CommandTwo...
}
@@ -285,34 +279,34 @@ for this class or its supertype and append result to `def codecs`.
```
To solve that, an annotation
-[`@org.virtuslab.ash.Serializer`](annotation/src/main/scala/org/virtuslab/ash/annotation/Serializer.scala)
+[`@org.virtuslab.psh.Serializer`](annotation/src/main/scala/org/virtuslab/psh/annotation/Serializer.scala)
can be used.
-During compilation, the plugin gathers all direct descendants of the class marked with [`@org.virtuslab.ash.SerializabilityTrait`](annotation/src/main/scala/org/virtuslab/ash/annotation/SerializabilityTrait.scala)
-and checks the body of classes annotated with [`@org.virtuslab.ash.Serializer`](annotation/src/main/scala/org/virtuslab/ash/annotation/Serializer.scala) if they reference all these direct descendants in any way.
+During compilation, the plugin gathers all direct descendants of the class marked with [`@org.virtuslab.psh.SerializabilityTrait`](annotation/src/main/scala/org/virtuslab/psh/annotation/SerializabilityTrait.scala)
+and checks the body of classes annotated with [`@org.virtuslab.psh.Serializer`](annotation/src/main/scala/org/virtuslab/psh/annotation/Serializer.scala) if they reference all these direct descendants in any way.
-In practice, this is used for checking a class extending [CirceAkkaSerializer](circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/CirceAkkaSerializer.scala), like this:
+In practice, this is used for checking a class extending [CircePekkoSerializer](circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/CircePekkoSerializer.scala), like this:
```scala
-import org.virtuslab.ash.circe.CirceAkkaSerializer
-import org.virtuslab.ash.circe.Register
+import org.virtuslab.psh.circe.CircePekkoSerializer
+import org.virtuslab.psh.circe.Register
@Serializer(
classOf[MySerializable],
typeRegexPattern = Register.REGISTRATION_REGEX)
class ExampleSerializer(actorSystem: ExtendedActorSystem)
- extends CirceAkkaSerializer[MySerializable](actorSystem) {
+ extends CircePekkoSerializer[MySerializable](actorSystem) {
// ...
override lazy val codecs = Seq(Register[CommandOne]) // WHOOPS someone forgot to register CommandTwo...
// ... but Codec Registration Checker will throw a compilation error here:
- // `No codec for `CommandOne` is registered in a class annotated with @org.virtuslab.ash.annotation.Serializer`
+ // `No codec for `CommandOne` is registered in a class annotated with @org.virtuslab.psh.annotation.Serializer`
}
```
Note that as with Serializability Checker and Dump Persistence Schema,
-this compiler plugin only runs in the sbt modules where `AkkaSerializationHelperPlugin` is explicitly enabled.
+this compiler plugin only runs in the sbt modules where `PekkoSerializationHelperPlugin` is explicitly enabled.
-For more information, read [`@Serializer` scaladoc](annotation/src/main/scala/org/virtuslab/ash/annotation/Serializer.scala).
+For more information, read [`@Serializer` scaladoc](annotation/src/main/scala/org/virtuslab/psh/annotation/Serializer.scala).
## Additional configuration for compiler plugins
@@ -336,39 +330,39 @@ Compile / ashDumpPersistenceSchemaCompilerPlugin / ashCompilerPluginVerbose := t
Test / ashCompilerPluginEnable := false
```
-For full list of sbt keys, check [`org.virtuslab.ash.AkkaSerializationHelperKeys`](sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/AkkaSerializationHelperKeys.scala).
+For full list of sbt keys, check [`org.virtuslab.psh.PekkoSerializationHelperKeys`](sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/PekkoSerializationHelperKeys.scala).
## Example applications
-The simplest example is the akka-cluster application which uses Akka Serialization Helper: [akka-cluster-app](examples/akka-cluster-app).
+The simplest example is the pekko-cluster application which uses Pekko Serialization Helper: [pekko-cluster-app](examples/pekko-cluster-app).
-The second example is the akka-persistence application which shows usage of the Dump Persistence Schema Compiler Plugin: [akka-persistence-app](examples/akka-persistence-app).
+The second example is the pekko-persistence application which shows usage of the Dump Persistence Schema Compiler Plugin: [pekko-persistence-app](examples/pekko-persistence-app).
## Step-by-step guide
-See [full step-by-step guide](docs/GUIDE.md) on Akka Serialization Helper usage.
+See [full step-by-step guide](docs/GUIDE.md) on Pekko Serialization Helper usage.
## Contributing Guide
If you want to contribute to this project, see [Contributing Guide](CONTRIBUTING.md).
-## Appendix A: Comparison of available Akka Serializers
+## Appendix A: Comparison of available Pekko Serializers
| Serializer | [Jackson](https://github.com/FasterXML/jackson) | [Circe](https://circe.github.io/circe/) | [Protobuf v3](https://developers.google.com/protocol-buffers) | [Avro](https://avro.apache.org/docs/current/) | [Borer](https://github.com/sirthias/borer) | [Kryo](https://github.com/EsotericSoftware/kryo) |
|:-----------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------|
| Data formats | JSON or [CBOR](https://cbor.io) | JSON | JSON or custom binary | JSON or custom binary | JSON or CBOR | custom binary |
| Scala support | very poor, even with [jackson-module-scala](https://github.com/FasterXML/jackson-module-scala):
- poor support for Scala objects, without configuration (without adding ScalaObjectDeserializerModule usage) creates new instances of singleton types (`Foo$`), breaking pattern matching
- lacks support of basic scala types like `Unit`
- without explicit annotation doesn't work with generics extending `AnyVal`
| perfect out of the box | perfect with [ScalaPB](https://scalapb.github.io) | perfect with [Avro4s](https://github.com/sksamuel/avro4s) | perfect out of the box | perfect out of the box |
-| Akka support | [akka-serialization-jackson](https://doc.akka.io/docs/akka/current/serialization-jackson.html) | [serializer provided by this project](#jackson-akka-serializer) | used by [akka-remote](https://doc.akka.io/docs/akka/current/serialization.html) internally | requires custom serializer | requires custom serializer | [akka-kryo](https://github.com/altoo-ag/akka-kryo-serialization) |
-| Compile-time mechanics | nothing happens in compile time; everything based on runtime reflection | derives codecs via [Shapeless](https://circe.github.io/circe/codecs/auto-derivation.html) | with ScalaPB, generates Scala classes based on \*.proto files | with Avro4s, derives Avro schemas using [Magnolia](https://github.com/softwaremill/magnolia) | derives codecs **without** Magnolia | with akka-kryo, optionally derives codecs in compile time, but otherwise uses reflection in runtime |
+| Pekko support | [pekko-serialization-jackson](https://pekko.apache.org/docs/pekko/current/serialization-jackson.html) | [serializer provided by this project](#jackson-pekko-serializer) | used by [pekko-remote](https://pekko.apache.org/docs/pekko/current/serialization.html) internally | requires custom serializer | requires custom serializer | [pekko-kryo](https://github.com/altoo-ag/pekko-kryo-serialization) |
+| Compile-time mechanics | nothing happens in compile time; everything based on runtime reflection | derives codecs via [Shapeless](https://circe.github.io/circe/codecs/auto-derivation.html) | with ScalaPB, generates Scala classes based on \*.proto files | with Avro4s, derives Avro schemas using [Magnolia](https://github.com/softwaremill/magnolia) | derives codecs **without** Magnolia | with pekko-kryo, optionally derives codecs in compile time, but otherwise uses reflection in runtime |
| Runtime safety | none, uses reflection | encoders and decoders are created during compilation | \*.proto files are validated before compilation | Avro schema is created during compilation | encoders and decoders are created during compilation | depends on whether codecs were derived in compile time (then standard for Scala code), or not (than none) |
| Boilerplate | a lot: - ADTs requires amount of annotation equal to or exceeding the actual type definitions
- requires explicit serializers and deserializers in certain cases (e.g. enums)
| every top-level sealed trait must be registered manually - but see [Codec Registration Checker](#missing-codec-registration) | in case of custom types, a second layer of models is needed | sometimes requires annotations | every top-level sealed trait must be registered manually; every transitively included class must have an explicitly defined codec | every top-level sealed trait must be registered manually |
-| Schema evolution | - removing field
- adding optional field
with [`JacksonMigration`](https://doc.akka.io/docs/akka/current/serialization-jackson.html#schema-evolution): - adding mandatory field
- renaming field
- renaming class
- support of forward versioning for rolling updates
| - adding optional field
- removing optional field
- adding required field with default value
- removing required field
- renaming field
- reordering fields
- transforming data before deserialization
| - adding optional field
- removing optional field
- adding required field with default value
- removing required field
- renaming field
- reordering fields
- changing between compatible types
| - reordering fields
- renaming fields
- adding optional field
- adding required field with default value
- removing field with default value
| - renaming fields
- transforming data before deserialization
| - adding field
- removing field
- renaming field
- renaming class
|
+| Schema evolution | - removing field
- adding optional field
with [`JacksonMigration`](https://pekko.apache.org/docs/pekko/current/serialization-jackson.html#schema-evolution): - adding mandatory field
- renaming field
- renaming class
- support of forward versioning for rolling updates
| - adding optional field
- removing optional field
- adding required field with default value
- removing required field
- renaming field
- reordering fields
- transforming data before deserialization
| - adding optional field
- removing optional field
- adding required field with default value
- removing required field
- renaming field
- reordering fields
- changing between compatible types
| - reordering fields
- renaming fields
- adding optional field
- adding required field with default value
- removing field with default value
| - renaming fields
- transforming data before deserialization
| - adding field
- removing field
- renaming field
- renaming class
|
## Appendix B: what happens with serialization of Messages / Events / States that do not extend a base trait bound to a serializer
-In runtime, if given Message/Event/State class does not extend a base trait bound to a serializer, the following problems will occur (depending on Akka version and settings):
+In runtime, if given Message/Event/State class does not extend a base trait bound to a serializer, the following problems will occur (depending on Pekko version and settings):
-**Note** - the default setting for Akka 2.5 is `akka.actor.allow-java-serialization=on`, whereas `akka.actor.allow-java-serialization=off` is the default setting for Akka 2.6
+**Note** - the default setting for Pekko 2.5 is `pekko.actor.allow-java-serialization=on`, whereas `pekko.actor.allow-java-serialization=off` is the default setting for Pekko 2.6
-| Akka version | `akka.actor.allow-java-serialization=off` | `akka.actor.allow-java-serialization=on` |
+| Pekko version | `pekko.actor.allow-java-serialization=off` | `pekko.actor.allow-java-serialization=on` |
|---------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| 2.5 | Serialization will fail with logs like below:
```[WARN] [...] Outgoing message attempted to use Java Serialization even though `akka.actor.allow-java-serialization = off` was set! Message type was: [class sample.cluster.transformation.BackendRegistration$]```
```[ERROR] [...] Failed to serialize remote message [class akka.actor.ActorSelectionMessage] using serializer [class akka.remote.serialization.MessageContainerSerializer]. Transient association error (association remains live)```
```akka.remote.MessageSerializer$SerializationException: Failed to serialize remote message```
```[class akka.actor.ActorSelectionMessage] using serializer [class akka.remote.serialization.MessageContainerSerializer].```
```at akka.remote.MessageSerializer$.serialize(MessageSerializer.scala:67)```
```at akka.remote.EndpointWriter.$anonfun$serializeMessage$1(Endpoint.scala:1021)```
```at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)```
```at akka.remote.EndpointWriter.serializeMessage(Endpoint.scala:1021)```
```at akka.remote.EndpointWriter.writeSend(Endpoint.scala:887)```
```at akka.remote.EndpointWriter$$anonfun$4.applyOrElse(Endpoint.scala:859)```
```at akka.actor.Actor.aroundReceive(Actor.scala:539)```
```at akka.actor.Actor.aroundReceive$(Actor.scala:537)```
```at akka.remote.EndpointActor.aroundReceive(Endpoint.scala:536)```
```at akka.actor.ActorCell.receiveMessage(ActorCell.scala:612)```
```at akka.actor.ActorCell.invoke(ActorCell.scala:581)```
```at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)```
```at akka.dispatch.Mailbox.run(Mailbox.scala:229)```
```at akka.dispatch.Mailbox.exec(Mailbox.scala:241)```
```at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)```
```at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)```
```at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)```
```at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)```
```Caused by: akka.serialization.DisabledJavaSerializer$JavaSerializationException: Attempted to serialize message using Java serialization while `akka.actor.allow-java-serialization` was disabled. Check WARNING logs for more details.``` | Serialization succeeds - but using Java serialization (which is not a good choice for production). Warning log like below will appear on the startup:
```[WARN] [...] Using the default Java serializer for class [sample.cluster.transformation.TransformationResult] which is not recommended because of performance implications. Use another serializer or disable this warning using the setting 'akka.actor.warn-about-java-serializer-usage'``` |
-| 2.6 | Serialization will fail with logs like below:
```[WARN] [...] - Outgoing message attempted to use Java Serialization even though`akka.actor.allow-java-serialization = off` was set! Message type was: [class sample.cluster.transformation.Worker$TransformText]```
```[ERROR] [...] - Failed to serialize message [sample.cluster.transformation.Worker$TransformText]. akka.serialization.DisabledJavaSerializer$JavaSerializationException: Attempted to serialize message using Java serialization while `akka.actor.allow-java-serialization` was disabled. Check WARNING logs for more details``` | Serialization succeeds - but using Java serialization (which is not a good choice for production). Warning log like below will appear on the startup:
```[WARN] [...] Using the default Java serializer for class [sample.cluster.transformation.TransformationResult] which is not recommended because of performance implications. Use another serializer or disable this warning using the setting 'akka.actor.warn-about-java-serializer-usage'``` |
+| 2.5 | Serialization will fail with logs like below:
```[WARN] [...] Outgoing message attempted to use Java Serialization even though `pekko.actor.allow-java-serialization = off` was set! Message type was: [class sample.cluster.transformation.BackendRegistration$]```
```[ERROR] [...] Failed to serialize remote message [class pekko.actor.ActorSelectionMessage] using serializer [class pekko.remote.serialization.MessageContainerSerializer]. Transient association error (association remains live)```
```pekko.remote.MessageSerializer$SerializationException: Failed to serialize remote message```
```[class pekko.actor.ActorSelectionMessage] using serializer [class pekko.remote.serialization.MessageContainerSerializer].```
```at org.apache.pekko.remote.MessageSerializer$.serialize(MessageSerializer.scala:67)```
```at org.apache.pekko.remote.EndpointWriter.$anonfun$serializeMessage$1(Endpoint.scala:1021)```
```at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)```
```at org.apache.pekko.remote.EndpointWriter.serializeMessage(Endpoint.scala:1021)```
```at org.apache.pekko.remote.EndpointWriter.writeSend(Endpoint.scala:887)```
```at org.apache.pekko.remote.EndpointWriter$$anonfun$4.applyOrElse(Endpoint.scala:859)```
```at org.apache.pekko.actor.Actor.aroundReceive(Actor.scala:539)```
```at org.apache.pekko.actor.Actor.aroundReceive$(Actor.scala:537)```
```at org.apache.pekko.remote.EndpointActor.aroundReceive(Endpoint.scala:536)```
```at org.apache.pekko.actor.ActorCell.receiveMessage(ActorCell.scala:612)```
```at org.apache.pekko.actor.ActorCell.invoke(ActorCell.scala:581)```
```at org.apache.pekko.dispatch.Mailbox.processMailbox(Mailbox.scala:268)```
```at org.apache.pekko.dispatch.Mailbox.run(Mailbox.scala:229)```
```at org.apache.pekko.dispatch.Mailbox.exec(Mailbox.scala:241)```
```at org.apache.pekko.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)```
```at org.apache.pekko.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)```
```at org.apache.pekko.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)```
```at org.apache.pekko.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)```
```Caused by: pekko.serialization.DisabledJavaSerializer$JavaSerializationException: Attempted to serialize message using Java serialization while `pekko.actor.allow-java-serialization` was disabled. Check WARNING logs for more details.``` | Serialization succeeds - but using Java serialization (which is not a good choice for production). Warning log like below will appear on the startup:
```[WARN] [...] Using the default Java serializer for class [sample.cluster.transformation.TransformationResult] which is not recommended because of performance implications. Use another serializer or disable this warning using the setting 'pekko.actor.warn-about-java-serializer-usage'``` |
+| 2.6 | Serialization will fail with logs like below:
```[WARN] [...] - Outgoing message attempted to use Java Serialization even though`pekko.actor.allow-java-serialization = off` was set! Message type was: [class sample.cluster.transformation.Worker$TransformText]```
```[ERROR] [...] - Failed to serialize message [sample.cluster.transformation.Worker$TransformText]. pekko.serialization.DisabledJavaSerializer$JavaSerializationException: Attempted to serialize message using Java serialization while `pekko.actor.allow-java-serialization` was disabled. Check WARNING logs for more details``` | Serialization succeeds - but using Java serialization (which is not a good choice for production). Warning log like below will appear on the startup:
```[WARN] [...] Using the default Java serializer for class [sample.cluster.transformation.TransformationResult] which is not recommended because of performance implications. Use another serializer or disable this warning using the setting 'pekko.actor.warn-about-java-serializer-usage'``` |
diff --git a/annotation/src/main/scala/org/virtuslab/ash/annotation/SerializabilityTrait.scala b/annotation/src/main/scala/org/virtuslab/psh/annotation/SerializabilityTrait.scala
similarity index 76%
rename from annotation/src/main/scala/org/virtuslab/ash/annotation/SerializabilityTrait.scala
rename to annotation/src/main/scala/org/virtuslab/psh/annotation/SerializabilityTrait.scala
index e94008f1..eb593892 100644
--- a/annotation/src/main/scala/org/virtuslab/ash/annotation/SerializabilityTrait.scala
+++ b/annotation/src/main/scala/org/virtuslab/psh/annotation/SerializabilityTrait.scala
@@ -1,7 +1,7 @@
-package org.virtuslab.ash.annotation
+package org.virtuslab.psh.annotation
/**
- * This annotation is used as a marker for Codec Registration Checker and Serializability Checker. Annotate Akka
+ * This annotation is used as a marker for Codec Registration Checker and Serializability Checker. Annotate Pekko
* serialization marker-trait, and the rest is done by compiler plugins.
*
* {{{
diff --git a/annotation/src/main/scala/org/virtuslab/ash/annotation/Serializer.scala b/annotation/src/main/scala/org/virtuslab/psh/annotation/Serializer.scala
similarity index 89%
rename from annotation/src/main/scala/org/virtuslab/ash/annotation/Serializer.scala
rename to annotation/src/main/scala/org/virtuslab/psh/annotation/Serializer.scala
index 8eb09fd8..9a9af6c4 100644
--- a/annotation/src/main/scala/org/virtuslab/ash/annotation/Serializer.scala
+++ b/annotation/src/main/scala/org/virtuslab/psh/annotation/Serializer.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.annotation
+package org.virtuslab.psh.annotation
import scala.annotation.nowarn
@@ -16,7 +16,7 @@ import scala.annotation.nowarn
* For example, if we want to serialize `trait Command`, then type `Registration[Command]` is relevant, while
* `Option[Command]` is not.
*
- * If you are using `circe-akka-serializer`, set `typeRegexPattern` to `Register.REGISTRATION_REGEX`
+ * If you are using `circe-pekko-serializer`, set `typeRegexPattern` to `Register.REGISTRATION_REGEX`
*
* @param clazz
* class literal of serializability marker trait, for example `classOf[MySerializable]`
diff --git a/build.sbt b/build.sbt
index f941d418..a21c0383 100644
--- a/build.sbt
+++ b/build.sbt
@@ -28,12 +28,12 @@ lazy val testAgainstScalaVersions =
"2.13.10")
ThisBuild / scalaVersion := targetScalaVersions.head
-ThisBuild / organization := "org.virtuslab.ash"
+ThisBuild / organization := "org.virtuslab.psh"
ThisBuild / organizationName := "VirtusLab"
ThisBuild / versionScheme := Some("early-semver")
-ThisBuild / homepage := Some(url("https://github.com/VirtusLab/akka-serialization-helper"))
+ThisBuild / homepage := Some(url("https://github.com/VirtusLab/pekko-serialization-helper"))
ThisBuild / licenses := List(
- "MIT License" -> url("https://github.com/VirtusLab/akka-serialization-helper/blob/main/LICENSE"))
+ "MIT License" -> url("https://github.com/VirtusLab/pekko-serialization-helper/blob/main/LICENSE"))
ThisBuild / developers := List(
Developer("MarconZet", "Marcin Złakowski", "mzlakowski@virtuslab.com", url("https://github.com/MarconZet")),
Developer(
@@ -99,15 +99,15 @@ publish / skip := true
lazy val scalaVersionAxis = settingKey[Option[String]]("Project scala version")
-lazy val circeAkkaSerializer = (projectMatrix in file("circe-akka-serializer"))
- .settings(name := "circe-akka-serializer")
+lazy val circePekkoSerializer = (projectMatrix in file("circe-pekko-serializer"))
+ .settings(name := "circe-pekko-serializer")
.settings(commonSettings)
.settings(crossScalaVersions := testAgainstScalaVersions)
.settings(libraryDependencies ++= Seq(
- akkaActor % Provided,
- akkaActorTyped % Provided,
- akkaTestKitTyped % Test,
- akkaStream % Provided,
+ pekkoActor % Provided,
+ pekkoActorTyped % Provided,
+ pekkoTestKitTyped % Test,
+ pekkoStream % Provided,
circeCore,
circeParser,
circeGeneric,
@@ -165,13 +165,13 @@ lazy val serializabilityCheckerCompilerPlugin = (projectMatrix in file("serializ
.getOrElse(Seq.empty)
},
libraryDependencies ++= Seq(
- akkaActor % Test,
- akkaActorTyped % Test,
- akkaPersistenceTyped % Test,
- akkaProjections % Test,
+ pekkoActor % Test,
+ pekkoActorTyped % Test,
+ pekkoPersistenceTyped % Test,
+ pekkoProjections % Test,
betterFiles % Test,
- akkaGrpc % Test,
- akkaHttpCors % Test))
+ pekkoGrpc % Test,
+ pekkoHttpCors % Test))
.dependsOn(annotation)
.jvmPlatform(scalaVersions = targetScalaVersions)
@@ -190,12 +190,12 @@ lazy val codecRegistrationCheckerCompilerPlugin = (projectMatrix in file("codec-
.getOrElse(Seq.empty)
},
libraryDependencies += betterFiles % Test)
- .dependsOn(annotation, circeAkkaSerializer % Test)
+ .dependsOn(annotation, circePekkoSerializer % Test)
.jvmPlatform(scalaVersions = targetScalaVersions)
-lazy val sbtAkkaSerializationHelper = (project in file("sbt-akka-serialization-helper"))
+lazy val sbtPekkoSerializationHelper = (project in file("sbt-pekko-serialization-helper"))
.enablePlugins(SbtPlugin)
- .settings(name := "sbt-akka-serialization-helper")
+ .settings(name := "sbt-pekko-serialization-helper")
.settings(commonSettings)
.settings(
pluginCrossBuild / sbtVersion := "1.2.8",
@@ -214,8 +214,8 @@ lazy val sbtAkkaSerializationHelper = (project in file("sbt-akka-serialization-h
// both head and tail.head must be published because they are separate projects, one for scala 2.13, one for 2.12
(annotation.projectRefs.head / publishLocal).value
(annotation.projectRefs.tail.head / publishLocal).value
- (circeAkkaSerializer.projectRefs.head / publishLocal).value
- (circeAkkaSerializer.projectRefs.tail.head / publishLocal).value
+ (circePekkoSerializer.projectRefs.head / publishLocal).value
+ (circePekkoSerializer.projectRefs.tail.head / publishLocal).value
(codecRegistrationCheckerCompilerPlugin.projectRefs.head / publishLocal).value
(codecRegistrationCheckerCompilerPlugin.projectRefs.tail.head / publishLocal).value
(dumpPersistenceSchemaCompilerPlugin.projectRefs.head / publishLocal).value
@@ -240,6 +240,6 @@ lazy val dumpPersistenceSchemaCompilerPlugin = (projectMatrix in file("dump-pers
}
.getOrElse(Seq.empty)
},
- libraryDependencies ++= Seq(sprayJson, betterFiles, akkaActorTyped % Test, akkaPersistenceTyped % Test))
+ libraryDependencies ++= Seq(sprayJson, betterFiles, pekkoActorTyped % Test, pekkoPersistenceTyped % Test))
.settings(assemblySettings: _*)
.jvmPlatform(scalaVersions = targetScalaVersions)
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/CirceSerializabilityTrait.scala b/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/CirceSerializabilityTrait.scala
deleted file mode 100644
index 81a275aa..00000000
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/CirceSerializabilityTrait.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-package org.virtuslab.ash.circe.data
-
-trait CirceSerializabilityTrait
diff --git a/circe-akka-serializer/src/main/resources/reference.conf b/circe-pekko-serializer/src/main/resources/reference.conf
similarity index 96%
rename from circe-akka-serializer/src/main/resources/reference.conf
rename to circe-pekko-serializer/src/main/resources/reference.conf
index 3c270427..4d96a524 100644
--- a/circe-akka-serializer/src/main/resources/reference.conf
+++ b/circe-pekko-serializer/src/main/resources/reference.conf
@@ -1,6 +1,6 @@
# Default configuration
-org.virtuslab.ash {
+org.virtuslab.psh {
circe {
# enables debug logging
verbose-debug-logging = off
@@ -28,7 +28,7 @@ org.virtuslab.ash {
# (there might be some rare corner-cases where codec-registration-checker-compiler-plugin
# is not able to find missing codec registrations - but only if sbt incremental compilation is used).
#
- # Beware: enabling this check will cause a negative impact on Circe Akka Serializer performance.
+ # Beware: enabling this check will cause a negative impact on Circe Pekko Serializer performance.
enable-missing-codecs-check = false
}
}
diff --git a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/CirceAkkaSerializer.scala b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/CircePekkoSerializer.scala
similarity index 90%
rename from circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/CirceAkkaSerializer.scala
rename to circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/CircePekkoSerializer.scala
index cd37f844..caa44bdc 100644
--- a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/CirceAkkaSerializer.scala
+++ b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/CircePekkoSerializer.scala
@@ -1,25 +1,25 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
import java.io.NotSerializableException
import java.nio.charset.StandardCharsets.UTF_8
import scala.reflect.ClassTag
-import akka.actor.ExtendedActorSystem
-import akka.event.Logging
-import akka.serialization.SerializerWithStringManifest
import io.circe._
import io.circe.jawn.JawnParser
+import org.apache.pekko.actor.ExtendedActorSystem
+import org.apache.pekko.event.Logging
+import org.apache.pekko.serialization.SerializerWithStringManifest
/**
* An abstract class that is extended to create a custom serializer.
*
* After creating your subclass, don't forget to add your serializer and base trait to `application.conf` (for more info
- * [[https://doc.akka.io/docs/akka/current/serialization.html]])
+ * [[https://pekko.apache.org/docs/pekko/current/serialization.html]])
*
* Example subclass:
* {{{
- * class CustomSerializer(actorSystem: ExtendedActorSystem) extends CirceAkkaSerializer[MySerializable](actorSystem) {
+ * class CustomSerializer(actorSystem: ExtendedActorSystem) extends CircePekkoSerializer[MySerializable](actorSystem) {
*
* implicit private val serializabilityCodec: Codec[MySerializable] = genericCodec
*
@@ -37,17 +37,17 @@ import io.circe.jawn.JawnParser
* }
* }}}
* @param system
- * ExtendedActorSystem that is provided by Akka
+ * ExtendedActorSystem that is provided by Pekko
* @tparam Ser
* base trait that is used to mark serialization
*/
-abstract class CirceAkkaSerializer[Ser <: AnyRef: ClassTag](system: ExtendedActorSystem)
+abstract class CircePekkoSerializer[Ser <: AnyRef: ClassTag](system: ExtendedActorSystem)
extends SerializerWithStringManifest
with CirceTraitCodec[Ser]
- with AkkaCodecs {
+ with PekkoCodecs {
private lazy val log = Logging(system, getClass)
- private lazy val conf = system.settings.config.getConfig("org.virtuslab.ash.circe")
+ private lazy val conf = system.settings.config.getConfig("org.virtuslab.psh.circe")
private lazy val isDebugEnabled = conf.getBoolean("verbose-debug-logging") && log.isDebugEnabled
override lazy val shouldDoMissingCodecsCheck: Boolean = conf.getBoolean("enable-missing-codecs-check")
private lazy val compressionAlgorithm: Compression.Algorithm = conf.getString("compression.algorithm") match {
@@ -98,7 +98,7 @@ abstract class CirceAkkaSerializer[Ser <: AnyRef: ClassTag](system: ExtendedActo
/**
* The intended usage of this method is to provide any form of support for generic classes.
*
- * Because of type erasure, it's impossible to [[org.virtuslab.ash.circe.Register]] one generic class two times with
+ * Because of type erasure, it's impossible to [[org.virtuslab.psh.circe.Register]] one generic class two times with
* different type parameters.
*
* The trick for combating type erasure is to register generic class only once with type parameter being its upper
diff --git a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/CirceTraitCodec.scala b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/CirceTraitCodec.scala
similarity index 95%
rename from circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/CirceTraitCodec.scala
rename to circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/CirceTraitCodec.scala
index 456a7ed3..f3b4997b 100644
--- a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/CirceTraitCodec.scala
+++ b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/CirceTraitCodec.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
import java.io.NotSerializableException
import java.util.NoSuchElementException
@@ -15,15 +15,15 @@ import org.reflections8.Reflections
trait CirceTraitCodec[Ser <: AnyRef] extends Codec[Ser] {
/**
- * Sequence that must contain [[org.virtuslab.ash.circe.Registration]] for all direct subclasses of Ser.
+ * Sequence that must contain [[org.virtuslab.psh.circe.Registration]] for all direct subclasses of Ser.
*
- * Each `Registration` is created using [[org.virtuslab.ash.circe.Register]]s
- * [[org.virtuslab.ash.circe.Register#apply]] method.
+ * Each `Registration` is created using [[org.virtuslab.psh.circe.Register]]s
+ * [[org.virtuslab.psh.circe.Register#apply]] method.
*
* To check if all needed classes are registered, use Codec Registration Checker.
*
* @see
- * [[org.virtuslab.ash.circe.Register]][[org.virtuslab.ash.circe.Register#apply]] for more information about type
+ * [[org.virtuslab.psh.circe.Register]][[org.virtuslab.psh.circe.Register#apply]] for more information about type
* derivation
*/
val codecs: Seq[Registration[_ <: Ser]]
diff --git a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/Compression.scala b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/Compression.scala
similarity index 98%
rename from circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/Compression.scala
rename to circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/Compression.scala
index 06d12071..42886934 100644
--- a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/Compression.scala
+++ b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/Compression.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
import java.io.ByteArrayInputStream
import java.io.ByteArrayOutputStream
diff --git a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/AkkaCodecs.scala b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/PekkoCodecs.scala
similarity index 69%
rename from circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/AkkaCodecs.scala
rename to circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/PekkoCodecs.scala
index 3444af5e..bb327b10 100644
--- a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/AkkaCodecs.scala
+++ b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/PekkoCodecs.scala
@@ -1,23 +1,23 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
// scalafix:off
-import akka.actor.{ActorSystem => ClassicActorSystem}
-import akka.actor.typed.ActorRef
-import akka.actor.typed.ActorRefResolver
-import akka.actor.typed.ActorSystem
-import akka.serialization.Serialization
-import akka.stream.SinkRef
-import akka.stream.SourceRef
-import akka.stream.StreamRefResolver
+import org.apache.pekko.actor.{ActorSystem => ClassicActorSystem}
+import org.apache.pekko.actor.typed.ActorRef
+import org.apache.pekko.actor.typed.ActorRefResolver
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.serialization.Serialization
+import org.apache.pekko.stream.SinkRef
+import org.apache.pekko.stream.SourceRef
+import org.apache.pekko.stream.StreamRefResolver
import io.circe.Codec
import io.circe.Decoder
import io.circe.Encoder
//scalafix:on
/**
- * Default codecs for serializing some of Akka types
+ * Default codecs for serializing some of Pekko types
*/
-trait AkkaCodecs {
+trait PekkoCodecs {
private def serializationSystem: ClassicActorSystem = Serialization.getCurrentTransportInformation().system
implicit def actorRefCodec[T](implicit system: ClassicActorSystem = serializationSystem): Codec[ActorRef[T]] = {
@@ -42,4 +42,4 @@ trait AkkaCodecs {
}
}
-object AkkaCodecs extends AkkaCodecs
+object PekkoCodecs extends PekkoCodecs
diff --git a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/Register.scala b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/Register.scala
similarity index 90%
rename from circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/Register.scala
rename to circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/Register.scala
index dbf19fe7..5325e73c 100644
--- a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/Register.scala
+++ b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/Register.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
import scala.reflect.macros.blackbox
import scala.reflect.runtime.{universe => ru}
@@ -26,7 +26,7 @@ object Register {
* @tparam T
* Type for which implicits will be looked for
* @return
- * [[org.virtuslab.ash.circe.Registration]]
+ * [[org.virtuslab.psh.circe.Registration]]
*/
def apply[T: ru.TypeTag: Encoder: Decoder]: Registration[T] =
Registration[T](implicitly[ru.TypeTag[T]], implicitly[Encoder[T]], implicitly[Decoder[T]])
@@ -35,7 +35,7 @@ object Register {
def REGISTRATION_REGEX: String = macro regexImpl
/**
- * `circeRegex` is the preferred typeRegexPattern for Circe Akka Serializer usage. It contains leading and trailing
+ * `circeRegex` is the preferred typeRegexPattern for Circe Pekko Serializer usage. It contains leading and trailing
* `.*` - so that it matches both single Registration and multiple Registrations in a collection. It is used by the
* codec-registration-checker-compiler-plugin to collect properly registered codecs.
*
@@ -44,7 +44,7 @@ object Register {
* something like `Option[Register[User_Defined_Type]]` is in the AST and codec-registration-checker-compiler-plugin
* would still treat it as proper registration. However, such situations have not been encountered in real usages.
*/
- private val circeRegex = """.*org\.virtuslab\.ash\.circe\.Registration\[.*\].*"""
+ private val circeRegex = """.*org\.virtuslab\.psh\.circe\.Registration\[.*\].*"""
def regexImpl(c: blackbox.Context): c.Expr[String] = {
import c.universe._
diff --git a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/Registration.scala b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/Registration.scala
similarity index 94%
rename from circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/Registration.scala
rename to circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/Registration.scala
index cffb343b..9cd55b48 100644
--- a/circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/Registration.scala
+++ b/circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/Registration.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
import scala.reflect.runtime.{universe => ru}
diff --git a/circe-akka-serializer/src/test/resources/application.conf b/circe-pekko-serializer/src/test/resources/application.conf
similarity index 82%
rename from circe-akka-serializer/src/test/resources/application.conf
rename to circe-pekko-serializer/src/test/resources/application.conf
index 6764ba38..67f1c3e3 100644
--- a/circe-akka-serializer/src/test/resources/application.conf
+++ b/circe-pekko-serializer/src/test/resources/application.conf
@@ -1,17 +1,17 @@
-akka.actor {
+pekko.actor {
serializers {
- circe-json = "org.virtuslab.ash.circe.CustomSerializer"
+ circe-json = "org.virtuslab.psh.circe.CustomSerializer"
}
serialization-bindings {
- "org.virtuslab.ash.circe.data.CirceSerializabilityTrait" = circe-json
+ "org.virtuslab.psh.circe.data.CirceSerializabilityTrait" = circe-json
}
enable-additional-serialization-bindings = on
allow-java-serialization = off
}
# Uncomment chosen settings below to enable debug logging OR change compression settings
-#akka.loglevel = "DEBUG"
-org.virtuslab.ash {
+#pekko.loglevel = "DEBUG"
+org.virtuslab.psh {
circe {
# enables debug logging
#verbose-debug-logging = on
diff --git a/circe-akka-serializer/src/test/resources/more_than_1KiB_object_file.txt b/circe-pekko-serializer/src/test/resources/more_than_1KiB_object_file.txt
similarity index 100%
rename from circe-akka-serializer/src/test/resources/more_than_1KiB_object_file.txt
rename to circe-pekko-serializer/src/test/resources/more_than_1KiB_object_file.txt
diff --git a/circe-akka-serializer/src/test/resources/simplelogger.properties b/circe-pekko-serializer/src/test/resources/simplelogger.properties
similarity index 100%
rename from circe-akka-serializer/src/test/resources/simplelogger.properties
rename to circe-pekko-serializer/src/test/resources/simplelogger.properties
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CirceAkkaSerializerSpec.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CircePekkoSerializerSpec.scala
similarity index 80%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CirceAkkaSerializerSpec.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CircePekkoSerializerSpec.scala
index 3c06da66..09b9b0bb 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CirceAkkaSerializerSpec.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CircePekkoSerializerSpec.scala
@@ -1,22 +1,22 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
import scala.io.Source
-import akka.actor.testkit.typed.scaladsl.ActorTestKit
-import akka.actor.testkit.typed.scaladsl.SerializationTestKit
-import akka.actor.typed.ActorSystem
import com.typesafe.config.ConfigFactory
import com.typesafe.config.ConfigValueFactory
+import org.apache.pekko.actor.testkit.typed.scaladsl.ActorTestKit
+import org.apache.pekko.actor.testkit.typed.scaladsl.SerializationTestKit
+import org.apache.pekko.actor.typed.ActorSystem
import org.scalatest.matchers.should
import org.scalatest.wordspec.AnyWordSpecLike
-import org.virtuslab.ash.circe.Compression.isCompressedWithGzip
-import org.virtuslab.ash.circe.MigrationAndCompressionTestKit.SerializationData
-import org.virtuslab.ash.circe.data.Tree.Node._
-import org.virtuslab.ash.circe.data._
+import org.virtuslab.psh.circe.Compression.isCompressedWithGzip
+import org.virtuslab.psh.circe.MigrationAndCompressionTestKit.SerializationData
+import org.virtuslab.psh.circe.data.Tree.Node._
+import org.virtuslab.psh.circe.data._
-class CirceAkkaSerializerSpec extends AnyWordSpecLike with should.Matchers {
- "CirceAkkaSerializer" should {
+class CircePekkoSerializerSpec extends AnyWordSpecLike with should.Matchers {
+ "CircePekkoSerializer" should {
val config = ConfigFactory.load()
val testKit: ActorTestKit = ActorTestKit(config)
val system: ActorSystem[Nothing] = testKit.system
@@ -24,7 +24,7 @@ class CirceAkkaSerializerSpec extends AnyWordSpecLike with should.Matchers {
val migrationTestKit = new MigrationAndCompressionTestKit(system)
"serialize standard data" in {
- import org.virtuslab.ash.circe.data.StdData._
+ import org.virtuslab.psh.circe.data.StdData._
val one = One(2, 2.0f, "av")
val two = Two(Wrapper(4), "abc")
serializationTestKit.verifySerialization(one)
@@ -32,13 +32,13 @@ class CirceAkkaSerializerSpec extends AnyWordSpecLike with should.Matchers {
}
"serialize ADT" in {
- import org.virtuslab.ash.circe.data.Tree._
+ import org.virtuslab.psh.circe.data.Tree._
val tree: Tree = TwoChildren(TwoChildren(OneChild(Leaf()), Leaf()), OneChild(OneChild(Leaf())))
serializationTestKit.verifySerialization(tree)
}
"support types with configuration codecs" in {
- import org.virtuslab.ash.circe.data.StdMigration._
+ import org.virtuslab.psh.circe.data.StdMigration._
val fieldWithDefault = FieldWithDefault()
serializationTestKit.verifySerialization(fieldWithDefault)
val fieldRename = FieldRename(5)
@@ -46,31 +46,31 @@ class CirceAkkaSerializerSpec extends AnyWordSpecLike with should.Matchers {
}
"support schema migration by configuration" in {
- import org.virtuslab.ash.circe.data.StdMigration._
+ import org.virtuslab.psh.circe.data.StdMigration._
val dataDefaultA: SerializationData =
- ("""{"FieldWithDefault":{"a":5}}""".getBytes, 42352, """org.virtuslab.ash.circe.data.StdMigration""")
+ ("""{"FieldWithDefault":{"a":5}}""".getBytes, 42352, """org.virtuslab.psh.circe.data.StdMigration""")
val dataDefaultB: SerializationData =
- ("""{"FieldWithDefault":{}}""".getBytes, 42352, """org.virtuslab.ash.circe.data.StdMigration""")
+ ("""{"FieldWithDefault":{}}""".getBytes, 42352, """org.virtuslab.psh.circe.data.StdMigration""")
val defaultRes =
List(dataDefaultA, dataDefaultB).map(migrationTestKit.deserialize(_).asInstanceOf[FieldWithDefault])
defaultRes.head shouldEqual defaultRes.tail.head
val dataRenameA: SerializationData =
- ("""{"FieldRename":{"original":10}}""".getBytes, 42352, """org.virtuslab.ash.circe.data.StdMigration""")
+ ("""{"FieldRename":{"original":10}}""".getBytes, 42352, """org.virtuslab.psh.circe.data.StdMigration""")
val res = migrationTestKit.deserialize(dataRenameA).asInstanceOf[FieldRename]
res.migrated shouldEqual 10
val constructorRename: SerializationData =
- ("""{"OldName":{"a":20}}""".getBytes, 42352, """org.virtuslab.ash.circe.data.StdMigration""")
+ ("""{"OldName":{"a":20}}""".getBytes, 42352, """org.virtuslab.psh.circe.data.StdMigration""")
migrationTestKit.deserialize(constructorRename) shouldEqual ConstructorRename(20)
}
"allow for changing name of top level sealed trait" in {
- val oldName = ("""{"A":{"a":"abc"}}""".getBytes, 42352, """org.virtuslab.ash.data.OldName""")
+ val oldName = ("""{"A":{"a":"abc"}}""".getBytes, 42352, """org.virtuslab.psh.data.OldName""")
migrationTestKit.deserialize(oldName) shouldEqual TopTraitMigration.A("abc")
}
@@ -89,7 +89,7 @@ class CirceAkkaSerializerSpec extends AnyWordSpecLike with should.Matchers {
// setup for testing compression feature - with compression enabled
val compressionConfig =
- config.withValue("org.virtuslab.ash.circe.compression.algorithm", ConfigValueFactory.fromAnyRef("gzip"))
+ config.withValue("org.virtuslab.psh.circe.compression.algorithm", ConfigValueFactory.fromAnyRef("gzip"))
val compressionTestKit: ActorTestKit = ActorTestKit(compressionConfig)
val compressionActorSystem: ActorSystem[Nothing] = compressionTestKit.system
val compressionSerializationTestKit = new MigrationAndCompressionTestKit(compressionActorSystem)
@@ -115,7 +115,7 @@ class CirceAkkaSerializerSpec extends AnyWordSpecLike with should.Matchers {
isCompressedWithGzip(smallObjectSerialized._1) shouldBe false
}
- // below example uses standard `config` from circe-akka-serializer/src/test/resources/application.conf
+ // below example uses standard `config` from circe-pekko-serializer/src/test/resources/application.conf
// which is available in the migrationTestKit object - so compression is disabled
"not compress payload when compression is configuration is set to 'off'" in {
val largeObjectSerialized = migrationTestKit.serialize(largeSerializableObject)
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CirceTraitCodecSpec.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CirceTraitCodecSpec.scala
similarity index 82%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CirceTraitCodecSpec.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CirceTraitCodecSpec.scala
index d12ca29a..ef0b29d1 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CirceTraitCodecSpec.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CirceTraitCodecSpec.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
import io.circe.Codec
import io.circe.jawn.decode
@@ -6,12 +6,12 @@ import io.circe.syntax._
import org.scalatest.matchers.should
import org.scalatest.wordspec.AnyWordSpecLike
-import org.virtuslab.ash.circe.data.NotSealedTrait
+import org.virtuslab.psh.circe.data.NotSealedTrait
class CirceTraitCodecSpec extends AnyWordSpecLike with should.Matchers {
"CirceTraitCodec" should {
"serialize/deserialize" in {
- import org.virtuslab.ash.circe.data.NotSealedTrait._
+ import org.virtuslab.psh.circe.data.NotSealedTrait._
implicit val notSealedTraitCodec: Codec[NotSealedTrait] = CustomTraitCodec
Seq[NotSealedTrait](One(), Two()).foreach { x =>
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CustomSerializer.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CustomSerializer.scala
similarity index 68%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CustomSerializer.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CustomSerializer.scala
index 3df6caa9..65f25538 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CustomSerializer.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CustomSerializer.scala
@@ -1,17 +1,17 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
import scala.annotation.nowarn
import scala.reflect.runtime.{universe => ru}
-import akka.actor.ExtendedActorSystem
import io.circe._
import io.circe.generic.auto._
+import org.apache.pekko.actor.ExtendedActorSystem
-import org.virtuslab.ash.circe.data.ModifiedCodec._
-import org.virtuslab.ash.circe.data._
+import org.virtuslab.psh.circe.data.ModifiedCodec._
+import org.virtuslab.psh.circe.data._
class CustomSerializer(actorSystem: ExtendedActorSystem)
- extends CirceAkkaSerializer[CirceSerializabilityTrait](actorSystem) {
+ extends CircePekkoSerializer[CirceSerializabilityTrait](actorSystem) {
@nowarn implicit private val serializabilityCodec: Codec[CirceSerializabilityTrait] = genericCodec
@@ -27,7 +27,7 @@ class CustomSerializer(actorSystem: ExtendedActorSystem)
Register[GenericClass[CirceSerializabilityTrait, CirceSerializabilityTrait]])
override lazy val manifestMigrations: Seq[(String, Class[TopTraitMigration])] =
- Seq("org.virtuslab.ash.data.OldName" -> classOf[TopTraitMigration])
+ Seq("org.virtuslab.psh.data.OldName" -> classOf[TopTraitMigration])
- override lazy val packagePrefix = "org.virtuslab.ash"
+ override lazy val packagePrefix = "org.virtuslab.psh"
}
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CustomTraitCodec.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CustomTraitCodec.scala
similarity index 71%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CustomTraitCodec.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CustomTraitCodec.scala
index 6ae64e5a..25e17ab1 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/CustomTraitCodec.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/CustomTraitCodec.scala
@@ -1,16 +1,16 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
import scala.reflect.ClassTag
import io.circe.generic.auto._
-import org.virtuslab.ash.circe.data.NotSealedTrait
-import org.virtuslab.ash.circe.data.NotSealedTrait._
+import org.virtuslab.psh.circe.data.NotSealedTrait
+import org.virtuslab.psh.circe.data.NotSealedTrait._
object CustomTraitCodec extends CirceTraitCodec[NotSealedTrait] {
override lazy val codecs: Seq[Registration[_ <: NotSealedTrait]] = Seq(Register[One], Register[Two])
override lazy val manifestMigrations: Seq[(String, Class[_])] = Nil
- override lazy val packagePrefix: String = "org.virtuslab.ash"
+ override lazy val packagePrefix: String = "org.virtuslab.psh"
override lazy val classTagEvidence: ClassTag[NotSealedTrait] = implicitly[ClassTag[NotSealedTrait]]
override lazy val errorCallback: String => Unit = x => throw new RuntimeException(x)
}
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/MigrationAndCompressionTestKit.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/MigrationAndCompressionTestKit.scala
similarity index 76%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/MigrationAndCompressionTestKit.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/MigrationAndCompressionTestKit.scala
index 97287952..9ac768c9 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/MigrationAndCompressionTestKit.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/MigrationAndCompressionTestKit.scala
@@ -1,11 +1,11 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
-import akka.actor.typed.ActorSystem
-import akka.actor.typed.scaladsl.adapter._
-import akka.serialization.SerializationExtension
-import akka.serialization.Serializers
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.actor.typed.scaladsl.adapter._
+import org.apache.pekko.serialization.SerializationExtension
+import org.apache.pekko.serialization.Serializers
-import org.virtuslab.ash.circe.MigrationAndCompressionTestKit.SerializationData
+import org.virtuslab.psh.circe.MigrationAndCompressionTestKit.SerializationData
/**
* Utilities to test serialization migration and compression. To perform round trip:
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/RegisterSpec.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/RegisterSpec.scala
similarity index 93%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/RegisterSpec.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/RegisterSpec.scala
index f5a6a2df..5015d009 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/RegisterSpec.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/RegisterSpec.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe
+package org.virtuslab.psh.circe
import scala.reflect.runtime.universe.typeOf
diff --git a/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/CirceSerializabilityTrait.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/CirceSerializabilityTrait.scala
new file mode 100644
index 00000000..0de84eb5
--- /dev/null
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/CirceSerializabilityTrait.scala
@@ -0,0 +1,3 @@
+package org.virtuslab.psh.circe.data
+
+trait CirceSerializabilityTrait
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/GenericClass.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/GenericClass.scala
similarity index 78%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/GenericClass.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/GenericClass.scala
index 8803fa16..63a81b83 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/GenericClass.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/GenericClass.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe.data
+package org.virtuslab.psh.circe.data
case class GenericClass[A <: CirceSerializabilityTrait, B <: CirceSerializabilityTrait](a: A, b: B)
extends CirceSerializabilityTrait
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/ModifiedCodec.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/ModifiedCodec.scala
similarity index 93%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/ModifiedCodec.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/ModifiedCodec.scala
index 49a9da7f..92e98b5c 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/ModifiedCodec.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/ModifiedCodec.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe.data
+package org.virtuslab.psh.circe.data
import io.circe.Decoder
import io.circe.Encoder
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/NotSealedTrait.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/NotSealedTrait.scala
similarity index 78%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/NotSealedTrait.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/NotSealedTrait.scala
index 9e8b070a..e4b1d0d3 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/NotSealedTrait.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/NotSealedTrait.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe.data
+package org.virtuslab.psh.circe.data
trait NotSealedTrait
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/StdData.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/StdData.scala
similarity index 85%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/StdData.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/StdData.scala
index 2cfbf3c4..73047e5d 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/StdData.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/StdData.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe.data
+package org.virtuslab.psh.circe.data
sealed trait StdData extends CirceSerializabilityTrait
object StdData {
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/StdMigration.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/StdMigration.scala
similarity index 94%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/StdMigration.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/StdMigration.scala
index a1c80f62..ced261aa 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/StdMigration.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/StdMigration.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe.data
+package org.virtuslab.psh.circe.data
import io.circe.generic.extras.Configuration
import io.circe.generic.extras.ConfiguredJsonCodec
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/TopTraitMigration.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/TopTraitMigration.scala
similarity index 80%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/TopTraitMigration.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/TopTraitMigration.scala
index a1f3e81a..7722544e 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/TopTraitMigration.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/TopTraitMigration.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe.data
+package org.virtuslab.psh.circe.data
sealed trait TopTraitMigration extends CirceSerializabilityTrait
diff --git a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/Tree.scala b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/Tree.scala
similarity index 88%
rename from circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/Tree.scala
rename to circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/Tree.scala
index e7039548..9246e326 100644
--- a/circe-akka-serializer/src/test/scala/org/virtuslab/ash/circe/data/Tree.scala
+++ b/circe-pekko-serializer/src/test/scala/org/virtuslab/psh/circe/data/Tree.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.circe.data
+package org.virtuslab.psh.circe.data
sealed trait Tree extends CirceSerializabilityTrait
object Tree {
diff --git a/codec-registration-checker-compiler-plugin/src/main/resources/scalac-plugin.xml b/codec-registration-checker-compiler-plugin/src/main/resources/scalac-plugin.xml
index 656b2bcd..1521cbde 100644
--- a/codec-registration-checker-compiler-plugin/src/main/resources/scalac-plugin.xml
+++ b/codec-registration-checker-compiler-plugin/src/main/resources/scalac-plugin.xml
@@ -1,4 +1,4 @@
codec-registration-checker-plugin
- org.virtuslab.ash.CodecRegistrationCheckerCompilerPlugin
+ org.virtuslab.psh.CodecRegistrationCheckerCompilerPlugin
diff --git a/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CacheFileInteractionMode.scala b/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CacheFileInteractionMode.scala
similarity index 87%
rename from codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CacheFileInteractionMode.scala
rename to codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CacheFileInteractionMode.scala
index 3e5ab1fd..0b1cbe6e 100644
--- a/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CacheFileInteractionMode.scala
+++ b/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CacheFileInteractionMode.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
sealed trait CacheFileInteractionMode
diff --git a/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/ClassSweepCompilerPluginComponent.scala b/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/ClassSweepCompilerPluginComponent.scala
similarity index 92%
rename from codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/ClassSweepCompilerPluginComponent.scala
rename to codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/ClassSweepCompilerPluginComponent.scala
index aa582833..a0a6239c 100644
--- a/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/ClassSweepCompilerPluginComponent.scala
+++ b/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/ClassSweepCompilerPluginComponent.scala
@@ -1,12 +1,12 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import scala.collection.mutable
import scala.tools.nsc.Global
import scala.tools.nsc.Phase
import scala.tools.nsc.plugins.PluginComponent
-import org.virtuslab.ash.CodecRegistrationCheckerCompilerPlugin.classSweepPhaseName
-import org.virtuslab.ash.CodecRegistrationCheckerCompilerPlugin.serializabilityTraitType
+import org.virtuslab.psh.CodecRegistrationCheckerCompilerPlugin.classSweepPhaseName
+import org.virtuslab.psh.CodecRegistrationCheckerCompilerPlugin.serializabilityTraitType
class ClassSweepCompilerPluginComponent(options: CodecRegistrationCheckerOptions, override val global: Global)
extends PluginComponent {
diff --git a/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CodecRegistrationCheckerCompilerPlugin.scala b/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CodecRegistrationCheckerCompilerPlugin.scala
similarity index 93%
rename from codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CodecRegistrationCheckerCompilerPlugin.scala
rename to codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CodecRegistrationCheckerCompilerPlugin.scala
index 728a0be5..1f62db85 100644
--- a/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CodecRegistrationCheckerCompilerPlugin.scala
+++ b/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CodecRegistrationCheckerCompilerPlugin.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import java.io.File
import java.io.FileNotFoundException
@@ -12,8 +12,8 @@ import scala.tools.nsc.Global
import scala.tools.nsc.plugins.Plugin
import scala.tools.nsc.plugins.PluginComponent
-import org.virtuslab.ash.CodecRegistrationCheckerCompilerPlugin.directClassDescendantsCacheFileName
-import org.virtuslab.ash.CodecRegistrationCheckerCompilerPlugin.disableFlag
+import org.virtuslab.psh.CodecRegistrationCheckerCompilerPlugin.directClassDescendantsCacheFileName
+import org.virtuslab.psh.CodecRegistrationCheckerCompilerPlugin.disableFlag
class CodecRegistrationCheckerCompilerPlugin(override val global: Global) extends Plugin {
override val name: String = "codec-registration-checker-plugin"
@@ -95,8 +95,8 @@ object CodecRegistrationCheckerCompilerPlugin {
val classSweepPhaseName = "codec-registration-class-sweep"
val serializerCheckPhaseName = "codec-registration-serializer-check"
val directClassDescendantsCacheFileName = "codec-registration-checker-cache.csv"
- val serializabilityTraitType = "org.virtuslab.ash.annotation.SerializabilityTrait"
- val serializerType = "org.virtuslab.ash.annotation.Serializer"
+ val serializabilityTraitType = "org.virtuslab.psh.annotation.SerializabilityTrait"
+ val serializerType = "org.virtuslab.psh.annotation.Serializer"
val disableFlag = "--disable"
diff --git a/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CodecRegistrationCheckerOptions.scala b/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CodecRegistrationCheckerOptions.scala
similarity index 98%
rename from codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CodecRegistrationCheckerOptions.scala
rename to codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CodecRegistrationCheckerOptions.scala
index 6a407ef1..def777ab 100644
--- a/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CodecRegistrationCheckerOptions.scala
+++ b/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CodecRegistrationCheckerOptions.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import java.io.File
diff --git a/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializerCheckCompilerPluginComponent.scala b/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializerCheckCompilerPluginComponent.scala
similarity index 94%
rename from codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializerCheckCompilerPluginComponent.scala
rename to codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializerCheckCompilerPluginComponent.scala
index 7a4279cb..d2ab71af 100644
--- a/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializerCheckCompilerPluginComponent.scala
+++ b/codec-registration-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializerCheckCompilerPluginComponent.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import java.io.RandomAccessFile
import java.nio.ByteBuffer
@@ -14,10 +14,10 @@ import scala.tools.nsc.Global
import scala.tools.nsc.Phase
import scala.tools.nsc.plugins.PluginComponent
-import org.virtuslab.ash.CodecRegistrationCheckerCompilerPlugin.classSweepPhaseName
-import org.virtuslab.ash.CodecRegistrationCheckerCompilerPlugin.serializabilityTraitType
-import org.virtuslab.ash.CodecRegistrationCheckerCompilerPlugin.serializerCheckPhaseName
-import org.virtuslab.ash.CodecRegistrationCheckerCompilerPlugin.serializerType
+import org.virtuslab.psh.CodecRegistrationCheckerCompilerPlugin.classSweepPhaseName
+import org.virtuslab.psh.CodecRegistrationCheckerCompilerPlugin.serializabilityTraitType
+import org.virtuslab.psh.CodecRegistrationCheckerCompilerPlugin.serializerCheckPhaseName
+import org.virtuslab.psh.CodecRegistrationCheckerCompilerPlugin.serializerType
class SerializerCheckCompilerPluginComponent(
classSweep: ClassSweepCompilerPluginComponent,
@@ -79,7 +79,7 @@ class SerializerCheckCompilerPluginComponent(
/*
* fqcn is the FQCN of top-level serializable type (trait / class) used by currently checked Serializer.
* typeRegexPattern is the `typeRegexPattern` defined for this Serializer.
- * See org.virtuslab.ash.annotation.Serializer javadoc for more details.
+ * See org.virtuslab.psh.annotation.Serializer javadoc for more details.
*/
val (fqcn, typeRegexPattern) = serializerAnnotation.args match {
case List(clazzTree, regexTree) =>
@@ -113,11 +113,11 @@ class SerializerCheckCompilerPluginComponent(
* properly registered for serialization / deserialization. detectedTypes are later used to create
* a sequence of FQCNs for types, which have proper codecs registration.
*
- * ( In case of Circe Akka Serializer usage - these are types that contain
- * `org.virtuslab.ash.circe.Register.apply` invocation - i.e. detectedTypes are in fact types
+ * ( In case of Circe Pekko Serializer usage - these are types that contain
+ * `org.virtuslab.psh.circe.Register.apply` invocation - i.e. detectedTypes are in fact types
* that have been registered for serialization with encoder and decoder.
* Example string representation of an element from `detectedTypes` could be:
- * org.virtuslab.ash.circe.Registration[org.example.SerializableImplementation] )
+ * org.virtuslab.psh.circe.Registration[org.example.SerializableImplementation] )
*/
val detectedTypes = {
try {
@@ -164,7 +164,7 @@ class SerializerCheckCompilerPluginComponent(
serializerImplDef.pos,
s"""No codecs for ${actuallyMissingFullyQualifiedClassNames.mkString(
", ")} are registered in class annotated with @$serializerType.
- |This will lead to a missing codec for Akka serialization in the runtime.
+ |This will lead to a missing codec for Pekko serialization in the runtime.
|Current type regex pattern: $typeRegexPattern""".stripMargin)
} else {
interactWithTheCacheFile(RemoveOutdatedTypesFromFile, possibleMissingFullyQualifiedClassNames)
diff --git a/codec-registration-checker-compiler-plugin/src/test/resources/data/SerializableTrait.scala b/codec-registration-checker-compiler-plugin/src/test/resources/data/SerializableTrait.scala
index f3b66dd9..60fc4117 100644
--- a/codec-registration-checker-compiler-plugin/src/test/resources/data/SerializableTrait.scala
+++ b/codec-registration-checker-compiler-plugin/src/test/resources/data/SerializableTrait.scala
@@ -1,6 +1,6 @@
package org.random.project
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.virtuslab.psh.annotation.SerializabilityTrait
@SerializabilityTrait
trait SerializableTrait
diff --git a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/CorrectSerializer.scala b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/CorrectSerializer.scala
index e7ee2435..e383f588 100644
--- a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/CorrectSerializer.scala
+++ b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/CorrectSerializer.scala
@@ -1,6 +1,6 @@
package org.random.project
-import org.virtuslab.ash.annotation.Serializer
+import org.virtuslab.psh.annotation.Serializer
@Serializer(classOf[SerializableTrait], ".*Option.*")
class CorrectSerializer {
diff --git a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/EmptySerializer.scala b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/EmptySerializer.scala
index eeee18ae..74db45ac 100644
--- a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/EmptySerializer.scala
+++ b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/EmptySerializer.scala
@@ -1,6 +1,6 @@
package org.random.project
-import org.virtuslab.ash.annotation.Serializer
+import org.virtuslab.psh.annotation.Serializer
@Serializer(classOf[SerializableTrait], ".*Option.*")
class EmptySerializer {
diff --git a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/IncompleteSerializer.scala b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/IncompleteSerializer.scala
index 50c69abe..605d9a04 100644
--- a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/IncompleteSerializer.scala
+++ b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/IncompleteSerializer.scala
@@ -1,6 +1,6 @@
package org.random.project
-import org.virtuslab.ash.annotation.Serializer
+import org.virtuslab.psh.annotation.Serializer
@Serializer(classOf[SerializableTrait])
class IncompleteSerializer {
diff --git a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/IncompleteSerializerTwo.scala b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/IncompleteSerializerTwo.scala
index 21c95a48..65b5413a 100644
--- a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/IncompleteSerializerTwo.scala
+++ b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/IncompleteSerializerTwo.scala
@@ -1,6 +1,6 @@
package org.random.project
-import org.virtuslab.ash.annotation.Serializer
+import org.virtuslab.psh.annotation.Serializer
@Serializer(classOf[SerializableTrait])
class IncompleteSerializerTwo {
diff --git a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/InvalidAnnotationSerializer.scala b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/InvalidAnnotationSerializer.scala
index c23ec539..b2d8f1bc 100644
--- a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/InvalidAnnotationSerializer.scala
+++ b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/InvalidAnnotationSerializer.scala
@@ -1,6 +1,6 @@
package org.random.project
-import org.virtuslab.ash.annotation.Serializer
+import org.virtuslab.psh.annotation.Serializer
@Serializer(InvalidAnnotationSerializer.clazz)
class InvalidAnnotationSerializer {}
diff --git a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/InvalidClassSerializer.scala b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/InvalidClassSerializer.scala
index 7da33de7..cf58fb9a 100644
--- a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/InvalidClassSerializer.scala
+++ b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/InvalidClassSerializer.scala
@@ -1,6 +1,6 @@
package org.random.project
-import org.virtuslab.ash.annotation.Serializer
+import org.virtuslab.psh.annotation.Serializer
@Serializer(classOf[StdData])
class InvalidClassSerializer {}
diff --git a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/MacroRegexSerializer.scala b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/MacroRegexSerializer.scala
index dbd05e90..f17d8cc6 100644
--- a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/MacroRegexSerializer.scala
+++ b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/MacroRegexSerializer.scala
@@ -1,6 +1,6 @@
package org.random.project
-import org.virtuslab.ash.annotation.Serializer
+import org.virtuslab.psh.annotation.Serializer
-@Serializer(classOf[SerializableTrait], org.virtuslab.ash.circe.Register.REGISTRATION_REGEX)
+@Serializer(classOf[SerializableTrait], org.virtuslab.psh.circe.Register.REGISTRATION_REGEX)
class MacroRegexSerializer
diff --git a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/ObjectSerializer.scala b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/ObjectSerializer.scala
index 14119a1a..7ab9b4cb 100644
--- a/codec-registration-checker-compiler-plugin/src/test/resources/serializers/ObjectSerializer.scala
+++ b/codec-registration-checker-compiler-plugin/src/test/resources/serializers/ObjectSerializer.scala
@@ -1,6 +1,6 @@
package org.random.project
-import org.virtuslab.ash.annotation.Serializer
+import org.virtuslab.psh.annotation.Serializer
@Serializer(classOf[SerializableTrait], ".*Option.*")
object ObjectSerializer
diff --git a/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/Data.scala b/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/Data.scala
deleted file mode 100644
index 686b28f5..00000000
--- a/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/Data.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-package org.virtuslab.ash
-
-trait Data
diff --git a/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/CodecRegistrationCheckerCompiler.scala b/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/CodecRegistrationCheckerCompiler.scala
similarity index 98%
rename from codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/CodecRegistrationCheckerCompiler.scala
rename to codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/CodecRegistrationCheckerCompiler.scala
index ad13e244..19fa6d7d 100644
--- a/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/CodecRegistrationCheckerCompiler.scala
+++ b/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/CodecRegistrationCheckerCompiler.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import java.io.BufferedReader
import java.io.PrintWriter
diff --git a/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/CodecRegistrationCheckerCompilerPluginSpec.scala b/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/CodecRegistrationCheckerCompilerPluginSpec.scala
similarity index 96%
rename from codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/CodecRegistrationCheckerCompilerPluginSpec.scala
rename to codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/CodecRegistrationCheckerCompilerPluginSpec.scala
index 40237994..f13cbf79 100644
--- a/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/CodecRegistrationCheckerCompilerPluginSpec.scala
+++ b/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/CodecRegistrationCheckerCompilerPluginSpec.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import better.files.Dsl.SymbolicOperations
import better.files.File
@@ -167,10 +167,10 @@ class CodecRegistrationCheckerCompilerPluginSpec extends AnyWordSpecLike with sh
"compile without error when there were outdated type names in the cache file before start and remove them from the file" in {
File.usingTemporaryDirectory() { directory =>
val cacheFile = directory / CodecRegistrationCheckerCompilerPlugin.directClassDescendantsCacheFileName
- // hydra.test.TestAkkaSerializable and hydra.test.ConcreteClasses do not exist in the code anymore (outdated types)
+ // hydra.test.TestPekkoSerializable and hydra.test.ConcreteClasses do not exist in the code anymore (outdated types)
cacheFile.write(
- "org.random.project.SerializableTrait,hydra.test.TestAkkaSerializable\n" +
- "hydra.test.TestAkkaSerializable,hydra.test.ConcreteClasses")
+ "org.random.project.SerializableTrait,hydra.test.TestPekkoSerializable\n" +
+ "hydra.test.TestPekkoSerializable,hydra.test.ConcreteClasses")
val out = CodecRegistrationCheckerCompiler.compileCode(
CORRECT_SERIALIZER_CODE :: dataSourceCode,
List(s"${directory.toJava.getAbsolutePath}"))
diff --git a/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/Data.scala b/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/Data.scala
new file mode 100644
index 00000000..9de4e3a1
--- /dev/null
+++ b/codec-registration-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/Data.scala
@@ -0,0 +1,3 @@
+package org.virtuslab.psh
+
+trait Data
diff --git a/docs/GUIDE.md b/docs/GUIDE.md
index fd1bb46f..43fb1d74 100644
--- a/docs/GUIDE.md
+++ b/docs/GUIDE.md
@@ -1,40 +1,40 @@
-# Step-by-step guide for Akka Serialization Helper usage
-This document is a guide on how to use Akka Serialization Helper in your project. If you want to get a more general view of this toolbox, see [README](../README.md). Moreover, it could be a good idea to see the [akka-cluster-app](../examples/akka-cluster-app) and [akka-persistence-app](../examples/akka-persistence-app) first as code examples of basic Akka Serialization Helper usage.
+# Step-by-step guide for Pekko Serialization Helper usage
+This document is a guide on how to use Pekko Serialization Helper in your project. If you want to get a more general view of this toolbox, see [README](../README.md). Moreover, it could be a good idea to see the [pekko-cluster-app](../examples/pekko-cluster-app) and [pekko-persistence-app](../examples/pekko-persistence-app) first as code examples of basic Pekko Serialization Helper usage.
-Akka Serialization Helper (ASH) has two major parts:
-1. Circe Akka Serializer
+Pekko Serialization Helper (ASH) has two major parts:
+1. Circe Pekko Serializer
2. Compiler Plugins
You might use ASH in a few ways:
- Use both parts of the toolbox (best option — gives you all benefits of the toolbox and maximum runtime safety)
-- Use Circe Akka Serializer but without enabling Compiler Plugins
-- Use Compiler Plugins but not Circe Akka Serializer (if you need to stick to your current Serializer)
+- Use Circe Pekko Serializer but without enabling Compiler Plugins
+- Use Compiler Plugins but not Circe Pekko Serializer (if you need to stick to your current Serializer)
-To use ASH (whole or a selected part), you need to first add Akka Serialization Helper in the `project/plugins.sbt` file and enable it in `build.sbt` — this is the standard way of using the toolbox. Just follow the [installation instructions from README](https://github.com/VirtusLab/akka-serialization-helper#install).
+To use ASH (whole or a selected part), you need to first add Pekko Serialization Helper in the `project/plugins.sbt` file and enable it in `build.sbt` — this is the standard way of using the toolbox. Just follow the [installation instructions from README](https://github.com/VirtusLab/pekko-serialization-helper#install).
-Alternatively — if you want to use only Circe Akka Serializer (without enabling compiler plugins) — you can add it as a standard library dependency (find new available versions under [releases](https://github.com/VirtusLab/akka-serialization-helper/releases)):
+Alternatively — if you want to use only Circe Pekko Serializer (without enabling compiler plugins) — you can add it as a standard library dependency (find new available versions under [releases](https://github.com/VirtusLab/pekko-serialization-helper/releases)):
```sbt
-libraryDependencies += "org.virtuslab.ash" %% "circe-akka-serializer" % "Version"
+libraryDependencies += "org.virtuslab.psh" %% "circe-pekko-serializer" % "Version"
```
## How to use:
-1. [Circe Akka Serializer](#circe-akka-serializer)
+1. [Circe Pekko Serializer](#circe-pekko-serializer)
2. [Annotations](#annotations)
3. [Serializability Checker Compiler Plugin](#serializability-checker-compiler-plugin)
4. [Codec Registration Checker Compiler Plugin](#codec-registration-checker-compiler-plugin)
5. [Dump Persistence Schema Compiler Plugin](#dump-persistence-schema-compiler-plugin)
6. [ashDumpPersistenceSchema sbt task](#ashdumppersistenceschema-sbt-task)
-### Circe Akka Serializer
-[CirceAkkaSerializer](../circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/CirceAkkaSerializer.scala) is the main abstract class that you have to extend to use as the Serializer in your application. Before extending it, read Scaladoc comments available in the following files:
-- [CirceAkkaSerializer.scala](../circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/CirceAkkaSerializer.scala) (the most important starting point / main abstraction)
-- [CirceTraitCodec.scala](../circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/CirceTraitCodec.scala) (a trait that is extended by CirceAkkaSerializer and has some important `val`s that should be overridden in your code)
-- [Register.scala](../circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/Register.scala) (helper object with `apply` method that needs to be used in order to register Codecs for serializable type)
-- [Registration.scala](../circe-akka-serializer/src/main/scala/org/virtuslab/ash/circe/Registration.scala) (`Register.apply` method returns an instance of type Registration. Registration instances are later used as registered codecs)
+### Circe Pekko Serializer
+[CircePekkoSerializer](../circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/CircePekkoSerializer.scala) is the main abstract class that you have to extend to use as the Serializer in your application. Before extending it, read Scaladoc comments available in the following files:
+- [CircePekkoSerializer.scala](../circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/CircePekkoSerializer.scala) (the most important starting point / main abstraction)
+- [CirceTraitCodec.scala](../circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/CirceTraitCodec.scala) (a trait that is extended by CircePekkoSerializer and has some important `val`s that should be overridden in your code)
+- [Register.scala](../circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/Register.scala) (helper object with `apply` method that needs to be used in order to register Codecs for serializable type)
+- [Registration.scala](../circe-pekko-serializer/src/main/scala/org/virtuslab/psh/circe/Registration.scala) (`Register.apply` method returns an instance of type Registration. Registration instances are later used as registered codecs)
-Scaladocs from these files and a quick read of [Akka serialization guide](https://doc.akka.io/docs/akka/current/serialization.html) should be enough to use Circe Akka Serializer properly. Apart from implementing the Circe Akka Serializer in scala code, remember to configure your Serializer in Akka-specific configuration file (.conf file). Two mandatory configurations are `akka.actor.serializers` and `akka.actor.serialization-bindings` (example below):
+Scaladocs from these files and a quick read of [Pekko serialization guide](https://pekko.apache.org/docs/pekko/current/serialization.html) should be enough to use Circe Pekko Serializer properly. Apart from implementing the Circe Pekko Serializer in scala code, remember to configure your Serializer in Pekko-specific configuration file (.conf file). Two mandatory configurations are `pekko.actor.serializers` and `pekko.actor.serialization-bindings` (example below):
```
-akka {
+pekko {
actor {
serializers {
circe-json = "org.example.ExampleSerializer"
@@ -45,47 +45,47 @@ akka {
}
}
```
-where `org.example.ExampleSerializer` is the FQCN of your Serializer which extends CirceAkkaSerializer and `org.example.MySerializable` is the FQCN of your top-level serializable type (trait / abstract class) that is extended by Messages / Events / States which `org.example.ExampleSerializer` should serialize.
+where `org.example.ExampleSerializer` is the FQCN of your Serializer which extends CircePekkoSerializer and `org.example.MySerializable` is the FQCN of your top-level serializable type (trait / abstract class) that is extended by Messages / Events / States which `org.example.ExampleSerializer` should serialize.
-Also, there are few optional configurations that you can set if you want to change the default behavior of Circe Akka Serializer:
-- `org.virtuslab.ash.circe.verbose-debug-logging` = `on` / `off`
+Also, there are few optional configurations that you can set if you want to change the default behavior of Circe Pekko Serializer:
+- `org.virtuslab.psh.circe.verbose-debug-logging` = `on` / `off`
`on` enables debug logs for each serialization / deserialization — prints info about what has been serialized/deserialized and how much time it took. Default is `off`.
-- `org.virtuslab.ash.circe.enable-missing-codecs-check` = `true` / `false`
+- `org.virtuslab.psh.circe.enable-missing-codecs-check` = `true` / `false`
-`true` enables additional runtime check for possible missing codec registrations (more info about this problem in [README](https://github.com/VirtusLab/akka-serialization-helper#missing-codec-registration)). This is in general checked by the [Codec Registration Checker Compiler Plugin](#codec-registration-checker-compiler-plugin) during compilation, so the default is `false`. However, if you use only Circe Akka Serializer without compiler plugins — this check should be enabled. Be aware that enabling this check might have a slight negative impact on Serializer's performance.
+`true` enables additional runtime check for possible missing codec registrations (more info about this problem in [README](https://github.com/VirtusLab/pekko-serialization-helper#missing-codec-registration)). This is in general checked by the [Codec Registration Checker Compiler Plugin](#codec-registration-checker-compiler-plugin) during compilation, so the default is `false`. However, if you use only Circe Pekko Serializer without compiler plugins — this check should be enabled. Be aware that enabling this check might have a slight negative impact on Serializer's performance.
-- `org.virtuslab.ash.circe.compression.algorithm` = `gzip` / `off`
+- `org.virtuslab.psh.circe.compression.algorithm` = `gzip` / `off`
`gzip` enables compression of payloads before serialization using the Gzip algorithm. Default is `off` (compression disabled). Choosing `gzip` altogether with setting proper `compress-larger-than` value (explained below) enables compression of payloads.
-- `org.virtuslab.ash.circe.compression.compress-larger-than` = `64 KiB` _(example value)_
+- `org.virtuslab.psh.circe.compression.compress-larger-than` = `64 KiB` _(example value)_
-If `org.virtuslab.ash.circe.compression.algorithm` = `gzip` and `compress-larger-than` is larger than `0 KiB` — each payload greater than this value will be compressed before serialization. Default value is `32 KiB`. If `org.virtuslab.ash.circe.compression.algorithm` = `off`, payloads will not be compressed, regardless of the chosen `compress-larger-than` value.
-**Note** — Circe Akka Serializer will perform **deserialization** properly for both compressed and uncompressed payloads regardless of both `org.virtuslab.ash.circe.compression` configurations (deserializer will recognize whether the payload has been compressed). `org.virtuslab.ash.circe.compression.*` settings matter only for selecting the mode of **serialization**.
+If `org.virtuslab.psh.circe.compression.algorithm` = `gzip` and `compress-larger-than` is larger than `0 KiB` — each payload greater than this value will be compressed before serialization. Default value is `32 KiB`. If `org.virtuslab.psh.circe.compression.algorithm` = `off`, payloads will not be compressed, regardless of the chosen `compress-larger-than` value.
+**Note** — Circe Pekko Serializer will perform **deserialization** properly for both compressed and uncompressed payloads regardless of both `org.virtuslab.psh.circe.compression` configurations (deserializer will recognize whether the payload has been compressed). `org.virtuslab.psh.circe.compression.*` settings matter only for selecting the mode of **serialization**.
### Annotations
-ASH compiler plugins are driven by two annotations: [@SerializabilityTrait](#SerializabilityTrait) and [@Serializer](#Serializer). Thus, before running compilation with ASH compiler plugins, make sure that you are using these two annotations properly in the project/module where plugins will do their work. Annotations are available on the classpath for each project/module where ASH sbt plugin [is enabled](https://github.com/VirtusLab/akka-serialization-helper#install). If you want to use annotations in some other project/module without enabling ASH sbt plugin, add them directly to library dependencies:
+ASH compiler plugins are driven by two annotations: [@SerializabilityTrait](#SerializabilityTrait) and [@Serializer](#Serializer). Thus, before running compilation with ASH compiler plugins, make sure that you are using these two annotations properly in the project/module where plugins will do their work. Annotations are available on the classpath for each project/module where ASH sbt plugin [is enabled](https://github.com/VirtusLab/pekko-serialization-helper#install). If you want to use annotations in some other project/module without enabling ASH sbt plugin, add them directly to library dependencies:
```sbt
-import org.virtuslab.ash.AkkaSerializationHelperPlugin
+import org.virtuslab.psh.PekkoSerializationHelperPlugin
(...)
val foo = project
// ...
- .settings(libraryDependencies += AkkaSerializationHelperPlugin.annotation)
+ .settings(libraryDependencies += PekkoSerializationHelperPlugin.annotation)
```
#### SerializabilityTrait
-[@SerializabilityTrait](../annotation/src/main/scala/org/virtuslab/ash/annotation/SerializabilityTrait.scala) is an annotation that should be added to your top-level serializable type (trait mentioned in the `akka.actor.serialization-bindings` part of Akka config). Moreover, if your top-level serializable type is extended by another **trait** (i.e. another, more specific marker trait that is later extended by concrete classes representing messages / events / states) — and this more specific trait is used as a type parameter in a `@Serializer` annotation, then such trait should also be annotated with `@SerializabilityTrait` annotation. Concrete classes extending serializability traits (i.e. classes that define Messages/Events/States) should **not** be marked with this annotation. See examples in [README](https://github.com/VirtusLab/akka-serialization-helper#missing-serialization-binding)
+[@SerializabilityTrait](../annotation/src/main/scala/org/virtuslab/psh/annotation/SerializabilityTrait.scala) is an annotation that should be added to your top-level serializable type (trait mentioned in the `pekko.actor.serialization-bindings` part of Pekko config). Moreover, if your top-level serializable type is extended by another **trait** (i.e. another, more specific marker trait that is later extended by concrete classes representing messages / events / states) — and this more specific trait is used as a type parameter in a `@Serializer` annotation, then such trait should also be annotated with `@SerializabilityTrait` annotation. Concrete classes extending serializability traits (i.e. classes that define Messages/Events/States) should **not** be marked with this annotation. See examples in [README](https://github.com/VirtusLab/pekko-serialization-helper#missing-serialization-binding)
#### Serializer
-[@Serializer](../annotation/src/main/scala/org/virtuslab/ash/annotation/Serializer.scala) is an annotation used by the [Codec Registration Checker Compiler Plugin](#codec-registration-checker-compiler-plugin) to check if there are any missing codec registrations. Add the `@Serializer` annotation to each serializer listed in the `akka.actor.serializers` part of the Akka config. Moreover, to achieve full assurance that all codecs will be registered properly — add `@Serializer` annotation to each class/object/trait that contains code responsible for registration of codecs. See [Serializer Scaladoc](../annotation/src/main/scala/org/virtuslab/ash/annotation/Serializer.scala) for more details.
+[@Serializer](../annotation/src/main/scala/org/virtuslab/psh/annotation/Serializer.scala) is an annotation used by the [Codec Registration Checker Compiler Plugin](#codec-registration-checker-compiler-plugin) to check if there are any missing codec registrations. Add the `@Serializer` annotation to each serializer listed in the `pekko.actor.serializers` part of the Pekko config. Moreover, to achieve full assurance that all codecs will be registered properly — add `@Serializer` annotation to each class/object/trait that contains code responsible for registration of codecs. See [Serializer Scaladoc](../annotation/src/main/scala/org/virtuslab/psh/annotation/Serializer.scala) for more details.
### Serializability Checker Compiler Plugin
-Before using this compiler plugin, make sure that you are using the [@SerializabilityTrait](../annotation/src/main/scala/org/virtuslab/ash/annotation/SerializabilityTrait.scala) annotation properly in code (instructions in previous [section](#SerializabilityTrait)). This plugin searches for all possible Akka Messages, Events and States and checks if their supertypes are properly marked with the `@SerializabilityTrait` annotation.
+Before using this compiler plugin, make sure that you are using the [@SerializabilityTrait](../annotation/src/main/scala/org/virtuslab/psh/annotation/SerializabilityTrait.scala) annotation properly in code (instructions in previous [section](#SerializabilityTrait)). This plugin searches for all possible Pekko Messages, Events and States and checks if their supertypes are properly marked with the `@SerializabilityTrait` annotation.
Serializability Checker Compiler Plugin does not need additional configuration, but if you want to change its default behavior (or disable it) — you can add optional configurations as explained below:
- `--disable`
-The Plugin is enabled by default in each project/module where `AkkaSerializationHelperPlugin` is enabled. If you want to disable this particular plugin (but want to keep on using other ASH compiler plugins) — add the following setting inside `build.sbt` for the selected project/module:
+The Plugin is enabled by default in each project/module where `PekkoSerializationHelperPlugin` is enabled. If you want to disable this particular plugin (but want to keep on using other ASH compiler plugins) — add the following setting inside `build.sbt` for the selected project/module:
`ashSerializabilityCheckerCompilerPlugin / ashCompilerPluginEnable := false`
- `--verbose`
@@ -95,22 +95,22 @@ Verbose mode enables additional logs from the plugin. These logs contain detaile
- `--disable-detection-generics`
-This option disables detection of messages/events/states based on their usage as a type parameter of certain classes — e.g. `akka.actor.typed.Behavior` or `akka.persistence.typed.scaladsl.Effect`. This detection is enabled by default. If you want to disable it, add the following setting:
+This option disables detection of messages/events/states based on their usage as a type parameter of certain classes — e.g. `org.apache.pekko.actor.typed.Behavior` or `org.apache.pekko.persistence.typed.scaladsl.Effect`. This detection is enabled by default. If you want to disable it, add the following setting:
`Compile / scalacOptions += "-P:serializability-checker-plugin:--disable-detection-generics"`
- `--disable-detection-generic-methods`
-This option disables detection of messages/events/state based on their usage as generic argument to a method, e.g. `akka.actor.typed.scaladsl.ActorContext.ask`. This detection is enabled by default. If you want to disable it, add the following setting:
+This option disables detection of messages/events/state based on their usage as generic argument to a method, e.g. `org.apache.pekko.actor.typed.scaladsl.ActorContext.ask`. This detection is enabled by default. If you want to disable it, add the following setting:
`Compile / scalacOptions += "-P:serializability-checker-plugin:--disable-detection-generic-methods"`
- `--disable-detection-methods`
-This option disables detection of messages/events/state based on type of arguments to a method, e.g. `akka.actor.typed.ActorRef.tell`. This detection is enabled by default. If you want to disable it, add the following setting:
+This option disables detection of messages/events/state based on type of arguments to a method, e.g. `org.apache.pekko.actor.typed.ActorRef.tell`. This detection is enabled by default. If you want to disable it, add the following setting:
`Compile / scalacOptions += "-P:serializability-checker-plugin:--disable-detection-methods"`
- `--disable-detection-untyped-methods`
-This option disables detection of messages/events/state based on type of arguments to a method that takes Any, used for Akka Classic. This detection is enabled by default. If you want to disable it, add the following setting:
+This option disables detection of messages/events/state based on type of arguments to a method that takes Any, used for Pekko Classic. This detection is enabled by default. If you want to disable it, add the following setting:
`Compile / scalacOptions += "-P:serializability-checker-plugin:--disable-detection-untyped-methods"`
- `--disable-detection-higher-order-function`
@@ -128,12 +128,12 @@ The list is empty by default. If you want to mark some types as serializable, ad
### Codec Registration Checker Compiler Plugin
Before using this compiler plugin, make sure that you are using both [annotations](#annotations) properly. If so — the plugin can be used right away. This plugin checks whether classes marked with serializability trait are being referenced in a marked serializer, which ensures that codecs will be registered in runtime.
-**Note** - Codec Registration Checker Compiler Plugin is useful only in projects (modules) where the [@Serializer](#Serializer) annotation is used. Therefore, if you are using Akka Serialization Helper in multiple modules but in fact use `@Serializer` annotation in only one module, you might disable this plugin in all other modules except the one where `@Serializer` annotation is used.
+**Note** - Codec Registration Checker Compiler Plugin is useful only in projects (modules) where the [@Serializer](#Serializer) annotation is used. Therefore, if you are using Pekko Serialization Helper in multiple modules but in fact use `@Serializer` annotation in only one module, you might disable this plugin in all other modules except the one where `@Serializer` annotation is used.
Codec Registration Checker Compiler Plugin does not need additional configuration, but you can change default configurations as explained below:
- `--disable`
-The Plugin is enabled by default in each project/module where `AkkaSerializationHelperPlugin` is enabled. If you want to disable this particular plugin (but want to keep on using other ASH compiler plugins) — add the following setting inside `build.sbt` for the selected project/module:
+The Plugin is enabled by default in each project/module where `PekkoSerializationHelperPlugin` is enabled. If you want to disable this particular plugin (but want to keep on using other ASH compiler plugins) — add the following setting inside `build.sbt` for the selected project/module:
`ashCodecRegistrationCheckerCompilerPlugin / ashCompilerPluginEnable := false`
- `custom cache file path`
@@ -147,7 +147,7 @@ Dump Persistence Schema Compiler Plugin does not need additional configuration,
- `--disable`
-The Plugin is enabled by default in each project/module where `AkkaSerializationHelperPlugin` is enabled. If you want to disable this particular plugin (but want to keep on using other ASH compiler plugins) — add the following setting inside `build.sbt` for the selected project/module:
+The Plugin is enabled by default in each project/module where `PekkoSerializationHelperPlugin` is enabled. If you want to disable this particular plugin (but want to keep on using other ASH compiler plugins) — add the following setting inside `build.sbt` for the selected project/module:
`ashDumpPersistenceSchemaCompilerPlugin / ashCompilerPluginEnable := false`
- `--verbose`
@@ -163,7 +163,7 @@ This plugin creates a set of helper temporary Json files (used later by the [`as
Dump Persistence Schema Compiler Plugin prepares data for the `ashDumpPersistenceSchema` sbt task, which creates the final output for user.
### `ashDumpPersistenceSchema` sbt task
-The `ashDumpPersistenceSchema` sbt task dumps schema of akka-persistence to a yaml file. This is the only part of ASH that has to be invoked explicitly as a sbt task (`sbt ashDumpPersistenceSchema`). If you want to use this task, Dump Persistence Schema Compiler Plugin must **not** be disabled.
+The `ashDumpPersistenceSchema` sbt task dumps schema of pekko-persistence to a yaml file. This is the only part of ASH that has to be invoked explicitly as a sbt task (`sbt ashDumpPersistenceSchema`). If you want to use this task, Dump Persistence Schema Compiler Plugin must **not** be disabled.
Default output file for this task is `s"${name.value}-dump-persistence-schema-${version.value}.yaml"` (`name.value` and `version.value` are resolved by sbt on your project). If you want to have a custom name for this file, add following setting:
`ashDumpPersistenceSchema / ashDumpPersistenceSchemaOutputFilename := "CUSTOM_FILE_NAME"`
diff --git a/docs/presentation.pdf b/docs/presentation.pdf
index c67128f2..8b4a5a8c 100644
Binary files a/docs/presentation.pdf and b/docs/presentation.pdf differ
diff --git a/dump-persistence-schema-compiler-plugin/src/main/resources/scalac-plugin.xml b/dump-persistence-schema-compiler-plugin/src/main/resources/scalac-plugin.xml
index 0bb958ca..6e7e820d 100644
--- a/dump-persistence-schema-compiler-plugin/src/main/resources/scalac-plugin.xml
+++ b/dump-persistence-schema-compiler-plugin/src/main/resources/scalac-plugin.xml
@@ -1,4 +1,4 @@
dump-persistence-schema-plugin
- org.virtuslab.ash.DumpPersistenceSchemaCompilerPlugin
+ org.virtuslab.psh.DumpPersistenceSchemaCompilerPlugin
diff --git a/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CrossVersionReporter.scala b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/CrossVersionReporter.scala
similarity index 96%
rename from serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CrossVersionReporter.scala
rename to dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/CrossVersionReporter.scala
index 46502519..b9e326ad 100644
--- a/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/CrossVersionReporter.scala
+++ b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/CrossVersionReporter.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import scala.tools.nsc.Global
import scala.tools.nsc.reporters.Reporter
diff --git a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/DumpPersistenceSchemaCompilerPlugin.scala b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/DumpPersistenceSchemaCompilerPlugin.scala
similarity index 97%
rename from dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/DumpPersistenceSchemaCompilerPlugin.scala
rename to dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/DumpPersistenceSchemaCompilerPlugin.scala
index 95b2d994..56655f9c 100644
--- a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/DumpPersistenceSchemaCompilerPlugin.scala
+++ b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/DumpPersistenceSchemaCompilerPlugin.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import java.io.File
diff --git a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/DumpPersistenceSchemaCompilerPluginComponent.scala b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/DumpPersistenceSchemaCompilerPluginComponent.scala
similarity index 88%
rename from dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/DumpPersistenceSchemaCompilerPluginComponent.scala
rename to dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/DumpPersistenceSchemaCompilerPluginComponent.scala
index 816cc1bc..79d7416d 100644
--- a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/DumpPersistenceSchemaCompilerPluginComponent.scala
+++ b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/DumpPersistenceSchemaCompilerPluginComponent.scala
@@ -1,11 +1,11 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import scala.tools.nsc.Global
import scala.tools.nsc.Phase
import scala.tools.nsc.plugins.PluginComponent
-import org.virtuslab.ash.model.Field
-import org.virtuslab.ash.model.TypeDefinition
-import org.virtuslab.ash.writer.PersistenceSchemaWriter
+import org.virtuslab.psh.model.Field
+import org.virtuslab.psh.model.TypeDefinition
+import org.virtuslab.psh.writer.PersistenceSchemaWriter
class DumpPersistenceSchemaCompilerPluginComponent(val options: DumpPersistenceSchemaOptions, val global: Global)
extends PluginComponent {
@@ -26,11 +26,11 @@ class DumpPersistenceSchemaCompilerPluginComponent(val options: DumpPersistenceS
*/
private val genericsNames =
Seq(
- "akka.persistence.typed.scaladsl.Effect",
- "akka.persistence.typed.scaladsl.EffectBuilder",
- "akka.persistence.typed.scaladsl.EventSourcedBehavior",
- "akka.persistence.typed.scaladsl.ReplyEffect")
- private val ignoredPackages = Seq("akka.", "scala.", "java.")
+ "org.apache.pekko.persistence.typed.scaladsl.Effect",
+ "org.apache.pekko.persistence.typed.scaladsl.EffectBuilder",
+ "org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior",
+ "org.apache.pekko.persistence.typed.scaladsl.ReplyEffect")
+ private val ignoredPackages = Seq("org.apache.pekko.", "scala.", "java.")
override def apply(unit: global.CompilationUnit): Unit = {
val body = unit.body
diff --git a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/DumpPersistenceSchemaOptions.scala b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/DumpPersistenceSchemaOptions.scala
similarity index 92%
rename from dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/DumpPersistenceSchemaOptions.scala
rename to dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/DumpPersistenceSchemaOptions.scala
index 288ea9a6..85686adc 100644
--- a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/DumpPersistenceSchemaOptions.scala
+++ b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/DumpPersistenceSchemaOptions.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
/**
* Scalac forces us to be stateful. PluginComponents must be created during constructor call and plugin receives options
diff --git a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/model/Field.scala b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/model/Field.scala
similarity index 60%
rename from dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/model/Field.scala
rename to dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/model/Field.scala
index e10fb82e..25f68185 100644
--- a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/model/Field.scala
+++ b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/model/Field.scala
@@ -1,3 +1,3 @@
-package org.virtuslab.ash.model
+package org.virtuslab.psh.model
case class Field(name: String, typeName: String)
diff --git a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/model/TypeDefinition.scala b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/model/TypeDefinition.scala
similarity index 82%
rename from dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/model/TypeDefinition.scala
rename to dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/model/TypeDefinition.scala
index d7c15ccf..c26df410 100644
--- a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/model/TypeDefinition.scala
+++ b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/model/TypeDefinition.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.model
+package org.virtuslab.psh.model
final case class TypeDefinition(
typeSymbol: String,
diff --git a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/writer/DumpPersistenceSchemaJsonProtocol.scala b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/writer/DumpPersistenceSchemaJsonProtocol.scala
similarity index 72%
rename from dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/writer/DumpPersistenceSchemaJsonProtocol.scala
rename to dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/writer/DumpPersistenceSchemaJsonProtocol.scala
index 69f21d16..cb995174 100644
--- a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/writer/DumpPersistenceSchemaJsonProtocol.scala
+++ b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/writer/DumpPersistenceSchemaJsonProtocol.scala
@@ -1,10 +1,10 @@
-package org.virtuslab.ash.writer
+package org.virtuslab.psh.writer
import spray.json.DefaultJsonProtocol
import spray.json.JsonFormat
-import org.virtuslab.ash.model.Field
-import org.virtuslab.ash.model.TypeDefinition
+import org.virtuslab.psh.model.Field
+import org.virtuslab.psh.model.TypeDefinition
trait DumpPersistenceSchemaJsonProtocol extends DefaultJsonProtocol {
implicit val fieldFormat: JsonFormat[Field] = jsonFormat2(Field)
diff --git a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/writer/PersistenceSchemaWriter.scala b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/writer/PersistenceSchemaWriter.scala
similarity index 91%
rename from dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/writer/PersistenceSchemaWriter.scala
rename to dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/writer/PersistenceSchemaWriter.scala
index 1048f4c8..befcd416 100644
--- a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/writer/PersistenceSchemaWriter.scala
+++ b/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/psh/writer/PersistenceSchemaWriter.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.writer
+package org.virtuslab.psh.writer
import scala.collection.mutable
import scala.util.Try
@@ -6,8 +6,8 @@ import scala.util.Try
import better.files.File
import spray.json._
-import org.virtuslab.ash.DumpPersistenceSchemaOptions
-import org.virtuslab.ash.model.TypeDefinition
+import org.virtuslab.psh.DumpPersistenceSchemaOptions
+import org.virtuslab.psh.model.TypeDefinition
class PersistenceSchemaWriter(outputDirectory: File) extends DumpPersistenceSchemaJsonProtocol {
diff --git a/dump-persistence-schema-compiler-plugin/src/test/resources/AbstractTrigger.scala b/dump-persistence-schema-compiler-plugin/src/test/resources/AbstractTrigger.scala
index 398baf79..819d5acd 100644
--- a/dump-persistence-schema-compiler-plugin/src/test/resources/AbstractTrigger.scala
+++ b/dump-persistence-schema-compiler-plugin/src/test/resources/AbstractTrigger.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.persistence.typed.scaladsl.Effect
+import org.apache.pekko.persistence.typed.scaladsl.Effect
object AbstractTrigger {
def trigger: Effect[Any with Data with Serializable with Product, Any] = ???
diff --git a/dump-persistence-schema-compiler-plugin/src/test/resources/Data.scala b/dump-persistence-schema-compiler-plugin/src/test/resources/Data.scala
index 80f85bb2..61094d62 100644
--- a/dump-persistence-schema-compiler-plugin/src/test/resources/Data.scala
+++ b/dump-persistence-schema-compiler-plugin/src/test/resources/Data.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.persistence.typed.scaladsl.Effect
+import org.apache.pekko.persistence.typed.scaladsl.Effect
import scala.annotation.StaticAnnotation
diff --git a/dump-persistence-schema-compiler-plugin/src/test/resources/DataEnum.scala b/dump-persistence-schema-compiler-plugin/src/test/resources/DataEnum.scala
index a2f94a58..5496eef5 100644
--- a/dump-persistence-schema-compiler-plugin/src/test/resources/DataEnum.scala
+++ b/dump-persistence-schema-compiler-plugin/src/test/resources/DataEnum.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.persistence.typed.scaladsl.Effect
+import org.apache.pekko.persistence.typed.scaladsl.Effect
object DataEnum {
sealed trait Enum
diff --git a/dump-persistence-schema-compiler-plugin/src/test/resources/GenericTrigger.scala b/dump-persistence-schema-compiler-plugin/src/test/resources/GenericTrigger.scala
index de63f81f..e35d8e2a 100644
--- a/dump-persistence-schema-compiler-plugin/src/test/resources/GenericTrigger.scala
+++ b/dump-persistence-schema-compiler-plugin/src/test/resources/GenericTrigger.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.persistence.typed.scaladsl.Effect
+import org.apache.pekko.persistence.typed.scaladsl.Effect
object GenericTrigger {
def trigger[A]: Effect[A, Any] = ???
diff --git a/dump-persistence-schema-compiler-plugin/src/test/resources/StateData.scala b/dump-persistence-schema-compiler-plugin/src/test/resources/StateData.scala
index 3fc5f371..c901ff1b 100644
--- a/dump-persistence-schema-compiler-plugin/src/test/resources/StateData.scala
+++ b/dump-persistence-schema-compiler-plugin/src/test/resources/StateData.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.persistence.typed.scaladsl.Effect
+import org.apache.pekko.persistence.typed.scaladsl.Effect
object StateData {
diff --git a/dump-persistence-schema-compiler-plugin/src/test/resources/Trigger.scala b/dump-persistence-schema-compiler-plugin/src/test/resources/Trigger.scala
index 8384d974..6d010f17 100644
--- a/dump-persistence-schema-compiler-plugin/src/test/resources/Trigger.scala
+++ b/dump-persistence-schema-compiler-plugin/src/test/resources/Trigger.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.persistence.typed.scaladsl.Effect
+import org.apache.pekko.persistence.typed.scaladsl.Effect
object Trigger {
def trigger: Effect[Data, Any] = ???
diff --git a/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/ash/DumpPersistenceSchemaCompilerPluginComponentSpec.scala b/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/psh/DumpPersistenceSchemaCompilerPluginComponentSpec.scala
similarity index 94%
rename from dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/ash/DumpPersistenceSchemaCompilerPluginComponentSpec.scala
rename to dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/psh/DumpPersistenceSchemaCompilerPluginComponentSpec.scala
index 023a5f24..3352de28 100644
--- a/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/ash/DumpPersistenceSchemaCompilerPluginComponentSpec.scala
+++ b/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/psh/DumpPersistenceSchemaCompilerPluginComponentSpec.scala
@@ -1,12 +1,12 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import better.files.File
import org.scalatest.matchers.should
import org.scalatest.wordspec.AnyWordSpecLike
-import org.virtuslab.ash.compiler.DumpPersistenceSchemaCompiler
-import org.virtuslab.ash.model.TypeDefinition
-import org.virtuslab.ash.writer.PersistenceSchemaWriter
+import org.virtuslab.psh.compiler.DumpPersistenceSchemaCompiler
+import org.virtuslab.psh.model.TypeDefinition
+import org.virtuslab.psh.writer.PersistenceSchemaWriter
class DumpPersistenceSchemaCompilerPluginComponentSpec extends AnyWordSpecLike with should.Matchers {
private def getResourceAsString(name: String) =
diff --git a/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/ash/PersistenceSchemaWriterSpec.scala b/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/psh/PersistenceSchemaWriterSpec.scala
similarity index 85%
rename from dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/ash/PersistenceSchemaWriterSpec.scala
rename to dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/psh/PersistenceSchemaWriterSpec.scala
index 3ea7ec62..db6633d8 100644
--- a/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/ash/PersistenceSchemaWriterSpec.scala
+++ b/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/psh/PersistenceSchemaWriterSpec.scala
@@ -1,14 +1,14 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import better.files.File
import org.scalatest.matchers.should
import org.scalatest.wordspec.AnyWordSpecLike
import spray.json._
-import org.virtuslab.ash.model.Field
-import org.virtuslab.ash.model.TypeDefinition
-import org.virtuslab.ash.writer.DumpPersistenceSchemaJsonProtocol
-import org.virtuslab.ash.writer.PersistenceSchemaWriter
+import org.virtuslab.psh.model.Field
+import org.virtuslab.psh.model.TypeDefinition
+import org.virtuslab.psh.writer.DumpPersistenceSchemaJsonProtocol
+import org.virtuslab.psh.writer.PersistenceSchemaWriter
class PersistenceSchemaWriterSpec extends AnyWordSpecLike with should.Matchers with DumpPersistenceSchemaJsonProtocol {
val testDef: TypeDefinition =
diff --git a/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/ash/compiler/DumpPersistenceSchemaCompiler.scala b/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/psh/compiler/DumpPersistenceSchemaCompiler.scala
similarity index 95%
rename from dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/ash/compiler/DumpPersistenceSchemaCompiler.scala
rename to dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/psh/compiler/DumpPersistenceSchemaCompiler.scala
index ae188e8e..b4e5b536 100644
--- a/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/ash/compiler/DumpPersistenceSchemaCompiler.scala
+++ b/dump-persistence-schema-compiler-plugin/src/test/scala/org/virtuslab/psh/compiler/DumpPersistenceSchemaCompiler.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.compiler
+package org.virtuslab.psh.compiler
import java.io.BufferedReader
import java.io.PrintWriter
@@ -13,7 +13,7 @@ import scala.tools.nsc.io.VirtualDirectory
import scala.tools.nsc.reporters.ConsoleReporter
import scala.tools.nsc.util.ClassPath
-import org.virtuslab.ash.DumpPersistenceSchemaCompilerPlugin
+import org.virtuslab.psh.DumpPersistenceSchemaCompilerPlugin
object DumpPersistenceSchemaCompiler {
def compileCode(code: List[String], options: List[String]): String = {
diff --git a/examples/akka-cluster-app/README.md b/examples/akka-cluster-app/README.md
deleted file mode 100644
index 7876f461..00000000
--- a/examples/akka-cluster-app/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## akka-cluster-app example project
-This project is the simplest example of Akka Serialization Helper usage.
-
-In order to run the application locally, run the following commands in separate terminal windows (so that 3 separate processes run in parallel):
-```
-sbt "runMain org.virtuslab.example.App compute 25251"
-sbt "runMain org.virtuslab.example.App compute 25252"
-sbt "runMain org.virtuslab.example.App client 0"
-```
-
-Note: this example-app's logic is based on akka-sample-custer-scala code from the official Akka repository,
-see [akka-sample-cluster-scala](https://github.com/akka/akka-samples/tree/2.6/akka-sample-cluster-scala).
diff --git a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/CirceAkkaSerializable.scala b/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/CirceAkkaSerializable.scala
deleted file mode 100644
index cfc7df25..00000000
--- a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/CirceAkkaSerializable.scala
+++ /dev/null
@@ -1,6 +0,0 @@
-package org.virtuslab.example
-
-import org.virtuslab.ash.annotation.SerializabilityTrait
-
-@SerializabilityTrait
-trait CirceAkkaSerializable extends Product with Serializable
diff --git a/examples/akka-persistence-app/build.sbt b/examples/akka-persistence-app/build.sbt
deleted file mode 100644
index 7b935b44..00000000
--- a/examples/akka-persistence-app/build.sbt
+++ /dev/null
@@ -1,79 +0,0 @@
-import org.virtuslab.ash.AkkaSerializationHelperPlugin
-
-name := "akka-persistence-app"
-
-scalaVersion := "2.13.11"
-
-Compile / scalacOptions ++= Seq(
- "-target:11",
- "-deprecation",
- "-feature",
- "-unchecked",
- "-Xlog-reflective-calls",
- "-Xlint",
- "-Ywarn-unused")
-Compile / javacOptions ++= Seq("-Xlint:unchecked", "-Xlint:deprecation")
-
-Test / parallelExecution := false
-Test / logBuffered := false
-
-fork := true // must be true due to https://discuss.lightbend.com/t/akka-projection-getting-started-guide-example-could-not-run-eventgeneratorapp/9434/2
-Global / cancelable := false // ctrl-c
-
-ThisBuild / resolvers += Resolver.ApacheMavenSnapshotsRepo
-
-val akkaVersion = "2.6.20"
-val akkaHttpVersion = "10.2.10"
-val akkaHttp2SupportVersion = "10.2.10"
-val akkaManagementVersion = "1.1.4"
-val akkaPersistenceJdbcVersion = "5.1.0"
-val akkaProjectionVersion = "1.2.5"
-val circeVersion = "0.14.5"
-val scalikeJdbcVersion = "3.5.0"
-
-enablePlugins(AkkaGrpcPlugin, JavaAppPackaging, DockerPlugin, AkkaSerializationHelperPlugin)
-dockerBaseImage := "docker.io/library/adoptopenjdk:11-jre-hotspot"
-dockerUsername := sys.props.get("docker.username")
-dockerRepository := sys.props.get("docker.registry")
-
-libraryDependencySchemes += "com.typesafe.akka" %% "akka-http-core" % "always"
-
-libraryDependencies ++= Seq(
- // 1. Basic dependencies for a clustered application
- "com.typesafe.akka" %% "akka-stream" % akkaVersion,
- "com.typesafe.akka" %% "akka-cluster-typed" % akkaVersion,
- "com.typesafe.akka" %% "akka-cluster-sharding-typed" % akkaVersion,
- "com.typesafe.akka" %% "akka-actor-testkit-typed" % akkaVersion % Test,
- // Akka Management powers Health Checks and Akka Cluster Bootstrapping
- "com.lightbend.akka.management" %% "akka-management" % akkaManagementVersion,
- "com.typesafe.akka" %% "akka-http" % akkaHttpVersion,
- "com.typesafe.akka" %% "akka-http-spray-json" % akkaHttpVersion,
- "com.lightbend.akka.management" %% "akka-management-cluster-http" % akkaManagementVersion,
- "com.lightbend.akka.management" %% "akka-management-cluster-bootstrap" % akkaManagementVersion,
- "com.lightbend.akka.discovery" %% "akka-discovery-kubernetes-api" % akkaManagementVersion,
- "com.typesafe.akka" %% "akka-discovery" % akkaVersion,
- // Common dependencies for logging and testing
- "com.typesafe.akka" %% "akka-slf4j" % akkaVersion,
- "ch.qos.logback" % "logback-classic" % "1.4.7",
- "org.scalatest" %% "scalatest" % "3.2.12" % Test,
- // 2. Using gRPC and/or protobuf
- "com.typesafe.akka" %% "akka-http2-support" % akkaHttp2SupportVersion,
- // 3. Using Akka Persistence
- "com.typesafe.akka" %% "akka-persistence-typed" % akkaVersion,
- "com.typesafe.akka" %% "akka-serialization-jackson" % akkaVersion,
- "com.lightbend.akka" %% "akka-persistence-jdbc" % akkaPersistenceJdbcVersion,
- "com.typesafe.akka" %% "akka-persistence-testkit" % akkaVersion % Test,
- "org.postgresql" % "postgresql" % "42.6.0",
- // 4. Querying or projecting data from Akka Persistence
- "com.typesafe.akka" %% "akka-persistence-query" % akkaVersion,
- "com.lightbend.akka" %% "akka-projection-eventsourced" % akkaProjectionVersion,
- "com.lightbend.akka" %% "akka-projection-jdbc" % akkaProjectionVersion,
- "org.scalikejdbc" %% "scalikejdbc" % scalikeJdbcVersion,
- "org.scalikejdbc" %% "scalikejdbc-config" % scalikeJdbcVersion,
- // 5. Dependencies needed to use Akka Serialization Helper with circe codecs
- "io.circe" %% "circe-core" % circeVersion,
- AkkaSerializationHelperPlugin.annotation,
- AkkaSerializationHelperPlugin.circeAkkaSerializer)
-
-ThisBuild / semanticdbEnabled := true
-ThisBuild / semanticdbVersion := "4.7.8"
diff --git a/examples/akka-persistence-app/src/main/resources/local1.conf b/examples/akka-persistence-app/src/main/resources/local1.conf
deleted file mode 100644
index 31ddd9a9..00000000
--- a/examples/akka-persistence-app/src/main/resources/local1.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-include "application"
-include "local-shared"
-
-akka-persistence-app.grpc.port = 8101
-
-akka.remote.artery.canonical.port = 2551
-akka.management.http.port = 9101
diff --git a/examples/akka-persistence-app/src/main/resources/local2.conf b/examples/akka-persistence-app/src/main/resources/local2.conf
deleted file mode 100644
index 9b5dcaf8..00000000
--- a/examples/akka-persistence-app/src/main/resources/local2.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-include "application"
-include "local-shared"
-
-akka-persistence-app.grpc.port = 8102
-
-akka.management.http.port = 9102
-akka.remote.artery.canonical.port = 2552
diff --git a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/CirceAkkaSerializable.scala b/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/CirceAkkaSerializable.scala
deleted file mode 100644
index cfc7df25..00000000
--- a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/CirceAkkaSerializable.scala
+++ /dev/null
@@ -1,6 +0,0 @@
-package org.virtuslab.example
-
-import org.virtuslab.ash.annotation.SerializabilityTrait
-
-@SerializabilityTrait
-trait CirceAkkaSerializable extends Product with Serializable
diff --git a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala b/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala
deleted file mode 100644
index ec5226a1..00000000
--- a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.virtuslab.example
-
-import akka.actor.ExtendedActorSystem
-
-import org.virtuslab.ash.annotation.Serializer
-import org.virtuslab.ash.circe.CirceAkkaSerializer
-import org.virtuslab.ash.circe.Register
-import org.virtuslab.ash.circe.Registration
-
-@Serializer(classOf[CirceAkkaSerializable], Register.REGISTRATION_REGEX)
-class ExampleSerializer(actorSystem: ExtendedActorSystem)
- extends CirceAkkaSerializer[CirceAkkaSerializable](actorSystem) {
- override def identifier: Int = 7312
-
- override lazy val codecs: Seq[Registration[_ <: CirceAkkaSerializable]] = Seq(
- Register[ShoppingCart.Command],
- Register[ShoppingCart.Event],
- Register[ShoppingCart.State],
- Register[ShoppingCart.Summary])
-
- override lazy val manifestMigrations: Seq[(String, Class[_])] = Nil
-
- override lazy val packagePrefix: String = "org.virtuslab.example"
-}
diff --git a/examples/event-migration/.scalafix.conf b/examples/event-migration/.scalafix.conf
index 7f9241bb..ed64a48b 100644
--- a/examples/event-migration/.scalafix.conf
+++ b/examples/event-migration/.scalafix.conf
@@ -9,5 +9,5 @@ OrganizeImports.groups = [
"java.",
"scala.",
"*",
- "org.virtuslab.ash"
+ "org.virtuslab.psh"
]
diff --git a/examples/akka-persistence-app/.scalafix.conf b/examples/pekko-cluster-app/.scalafix.conf
similarity index 90%
rename from examples/akka-persistence-app/.scalafix.conf
rename to examples/pekko-cluster-app/.scalafix.conf
index 7f9241bb..ed64a48b 100644
--- a/examples/akka-persistence-app/.scalafix.conf
+++ b/examples/pekko-cluster-app/.scalafix.conf
@@ -9,5 +9,5 @@ OrganizeImports.groups = [
"java.",
"scala.",
"*",
- "org.virtuslab.ash"
+ "org.virtuslab.psh"
]
diff --git a/examples/akka-cluster-app/.scalafmt.conf b/examples/pekko-cluster-app/.scalafmt.conf
similarity index 100%
rename from examples/akka-cluster-app/.scalafmt.conf
rename to examples/pekko-cluster-app/.scalafmt.conf
diff --git a/examples/pekko-cluster-app/README.md b/examples/pekko-cluster-app/README.md
new file mode 100644
index 00000000..b87ecea9
--- /dev/null
+++ b/examples/pekko-cluster-app/README.md
@@ -0,0 +1,12 @@
+## pekko-cluster-app example project
+This project is the simplest example of Pekko Serialization Helper usage.
+
+In order to run the application locally, run the following commands in separate terminal windows (so that 3 separate processes run in parallel):
+```
+sbt "runMain org.virtuslab.example.App compute 25251"
+sbt "runMain org.virtuslab.example.App compute 25252"
+sbt "runMain org.virtuslab.example.App client 0"
+```
+
+Note: this example-app's logic is based on pekko-sample-custer-scala code from the official Pekko repository,
+see [pekko-sample-cluster-scala](https://github.com/apache/incubator-pekko-samples/tree/forked-from-pekko/pekko-sample-cluster-scala).
diff --git a/examples/akka-cluster-app/build.sbt b/examples/pekko-cluster-app/build.sbt
similarity index 51%
rename from examples/akka-cluster-app/build.sbt
rename to examples/pekko-cluster-app/build.sbt
index 6b4e5c07..de9709f6 100644
--- a/examples/akka-cluster-app/build.sbt
+++ b/examples/pekko-cluster-app/build.sbt
@@ -1,33 +1,33 @@
import com.typesafe.sbt.SbtMultiJvm.multiJvmSettings
import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.MultiJvm
-import org.virtuslab.ash.AkkaSerializationHelperPlugin
+import org.virtuslab.psh.PekkoSerializationHelperPlugin
-name := "akka-cluster-app"
+name := "pekko-cluster-app"
version := "0.1"
scalaVersion := "2.13.11"
val circeVersion = "0.14.5"
-val akkaVersion = "2.6.20"
+val pekkoVersion = "1.0.1"
val logbackVersion = "1.2.11"
-lazy val `akka-cluster-app` = project
+lazy val `pekko-cluster-app` = project
.in(file("."))
- .enablePlugins(AkkaSerializationHelperPlugin)
+ .enablePlugins(PekkoSerializationHelperPlugin)
.settings(multiJvmSettings: _*)
.settings(
- libraryDependencies ++= akkaDependencies ++ ashDependencies ++ Seq(logbackDependency, circeDependency),
- fork := true, // must be true due to https://discuss.lightbend.com/t/akka-projection-getting-started-guide-example-could-not-run-eventgeneratorapp/9434/2
+ libraryDependencies ++= pekkoDependencies ++ ashDependencies ++ Seq(logbackDependency, circeDependency),
+ fork := true, // must be true due to https://discuss.lightbend.com/t/pekko-projection-getting-started-guide-example-could-not-run-eventgeneratorapp/9434/2
Global / cancelable := false,
scalacOptions += "-Ywarn-unused")
.configs(MultiJvm)
-lazy val akkaDependencies =
- Seq("com.typesafe.akka" %% "akka-actor-typed", "com.typesafe.akka" %% "akka-cluster-typed").map(_ % akkaVersion)
+lazy val pekkoDependencies =
+ Seq("org.apache.pekko" %% "pekko-actor-typed", "org.apache.pekko" %% "pekko-cluster-typed").map(_ % pekkoVersion)
lazy val circeDependency = "io.circe" %% "circe-core" % circeVersion
lazy val ashDependencies =
- Seq(AkkaSerializationHelperPlugin.annotation, AkkaSerializationHelperPlugin.circeAkkaSerializer)
+ Seq(PekkoSerializationHelperPlugin.annotation, PekkoSerializationHelperPlugin.circePekkoSerializer)
lazy val logbackDependency = "ch.qos.logback" % "logback-classic" % logbackVersion
diff --git a/examples/akka-cluster-app/project/build.properties b/examples/pekko-cluster-app/project/build.properties
similarity index 100%
rename from examples/akka-cluster-app/project/build.properties
rename to examples/pekko-cluster-app/project/build.properties
diff --git a/examples/akka-cluster-app/project/plugins.sbt b/examples/pekko-cluster-app/project/plugins.sbt
similarity index 68%
rename from examples/akka-cluster-app/project/plugins.sbt
rename to examples/pekko-cluster-app/project/plugins.sbt
index 4748c969..c4b6afcf 100644
--- a/examples/akka-cluster-app/project/plugins.sbt
+++ b/examples/pekko-cluster-app/project/plugins.sbt
@@ -1,4 +1,4 @@
addSbtPlugin("com.typesafe.sbt" % "sbt-multi-jvm" % "0.4.0")
-addSbtPlugin("org.virtuslab.ash" % "sbt-akka-serialization-helper" % "0.6.1")
+addSbtPlugin("org.virtuslab.psh" % "sbt-pekko-serialization-helper" % "0.7.2.1")
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.0")
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.11.0")
diff --git a/examples/akka-cluster-app/src/main/resources/application.conf b/examples/pekko-cluster-app/src/main/resources/application.conf
similarity index 52%
rename from examples/akka-cluster-app/src/main/resources/application.conf
rename to examples/pekko-cluster-app/src/main/resources/application.conf
index 8ff0bd6f..fda6cb66 100644
--- a/examples/akka-cluster-app/src/main/resources/application.conf
+++ b/examples/pekko-cluster-app/src/main/resources/application.conf
@@ -1,4 +1,4 @@
-akka {
+pekko {
actor {
provider = cluster
@@ -7,7 +7,7 @@ akka {
}
serialization-bindings {
- "org.virtuslab.example.CirceAkkaSerializable" = circe-json
+ "org.virtuslab.example.CircePekkoSerializable" = circe-json
}
}
remote.artery {
@@ -19,9 +19,9 @@ akka {
cluster {
seed-nodes = [
- "akka://ClusterSystem@127.0.0.1:25251",
- "akka://ClusterSystem@127.0.0.1:25252"]
+ "pekko://ClusterSystem@127.0.0.1:25251",
+ "pekko://ClusterSystem@127.0.0.1:25252"]
- downing-provider-class = "akka.cluster.sbr.SplitBrainResolverProvider"
+ downing-provider-class = "org.apache.pekko.cluster.sbr.SplitBrainResolverProvider"
}
}
diff --git a/examples/akka-cluster-app/src/main/resources/example.conf b/examples/pekko-cluster-app/src/main/resources/example.conf
similarity index 100%
rename from examples/akka-cluster-app/src/main/resources/example.conf
rename to examples/pekko-cluster-app/src/main/resources/example.conf
diff --git a/examples/akka-cluster-app/src/main/resources/logback.xml b/examples/pekko-cluster-app/src/main/resources/logback.xml
similarity index 85%
rename from examples/akka-cluster-app/src/main/resources/logback.xml
rename to examples/pekko-cluster-app/src/main/resources/logback.xml
index a87ba4ee..efd5e309 100644
--- a/examples/akka-cluster-app/src/main/resources/logback.xml
+++ b/examples/pekko-cluster-app/src/main/resources/logback.xml
@@ -1,7 +1,7 @@
+ logging config, see the Pekko docs: https://pekko.apache.org/docs/pekko/2.6/typed/logging.html#logback -->
[%date{ISO8601}] [%level] [%logger] [%marker] [%thread] - %msg%n
diff --git a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/App.scala b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/App.scala
similarity index 80%
rename from examples/akka-cluster-app/src/main/scala/org/virtuslab/example/App.scala
rename to examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/App.scala
index f1d0939e..8b38f032 100644
--- a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/App.scala
+++ b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/App.scala
@@ -1,13 +1,13 @@
package org.virtuslab.example
-import akka.actor.typed.ActorSystem
-import akka.actor.typed.Behavior
-import akka.actor.typed.receptionist.Receptionist
-import akka.actor.typed.receptionist.ServiceKey
-import akka.actor.typed.scaladsl.Behaviors
-import akka.actor.typed.scaladsl.Routers
-import akka.cluster.typed.Cluster
import com.typesafe.config.ConfigFactory
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.actor.typed.Behavior
+import org.apache.pekko.actor.typed.receptionist.Receptionist
+import org.apache.pekko.actor.typed.receptionist.ServiceKey
+import org.apache.pekko.actor.typed.scaladsl.Behaviors
+import org.apache.pekko.actor.typed.scaladsl.Routers
+import org.apache.pekko.cluster.typed.Cluster
object App {
@@ -50,8 +50,8 @@ object App {
// Override the configuration of the port when specified as program argument
val config = ConfigFactory
.parseString(s"""
- akka.remote.artery.canonical.port = $port
- akka.cluster.roles = [$role]
+ pekko.remote.artery.canonical.port = $port
+ pekko.cluster.roles = [$role]
""")
.withFallback(ConfigFactory.load("example"))
diff --git a/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/CircePekkoSerializable.scala b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/CircePekkoSerializable.scala
new file mode 100644
index 00000000..4d54c0f1
--- /dev/null
+++ b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/CircePekkoSerializable.scala
@@ -0,0 +1,6 @@
+package org.virtuslab.example
+
+import org.virtuslab.psh.annotation.SerializabilityTrait
+
+@SerializabilityTrait
+trait CircePekkoSerializable extends Product with Serializable
diff --git a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala
similarity index 51%
rename from examples/akka-cluster-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala
rename to examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala
index fb32e11a..f973f454 100644
--- a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala
+++ b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala
@@ -1,18 +1,18 @@
package org.virtuslab.example
-import akka.actor.ExtendedActorSystem
+import org.apache.pekko.actor.ExtendedActorSystem
-import org.virtuslab.ash.annotation.Serializer
-import org.virtuslab.ash.circe.CirceAkkaSerializer
-import org.virtuslab.ash.circe.Register
-import org.virtuslab.ash.circe.Registration
+import org.virtuslab.psh.annotation.Serializer
+import org.virtuslab.psh.circe.CircePekkoSerializer
+import org.virtuslab.psh.circe.Register
+import org.virtuslab.psh.circe.Registration
-@Serializer(classOf[CirceAkkaSerializable], Register.REGISTRATION_REGEX)
+@Serializer(classOf[CircePekkoSerializable], Register.REGISTRATION_REGEX)
class ExampleSerializer(actorSystem: ExtendedActorSystem)
- extends CirceAkkaSerializer[CirceAkkaSerializable](actorSystem) {
+ extends CircePekkoSerializer[CircePekkoSerializable](actorSystem) {
override def identifier: Int = 2137
- override lazy val codecs: Seq[Registration[_ <: CirceAkkaSerializable]] = Seq(
+ override lazy val codecs: Seq[Registration[_ <: CircePekkoSerializable]] = Seq(
Register[StatsClient.Event],
Register[StatsService.Command],
Register[StatsService.Response],
diff --git a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/StatsClient.scala b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/StatsClient.scala
similarity index 83%
rename from examples/akka-cluster-app/src/main/scala/org/virtuslab/example/StatsClient.scala
rename to examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/StatsClient.scala
index d751a6c2..6871ea43 100644
--- a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/StatsClient.scala
+++ b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/StatsClient.scala
@@ -2,15 +2,15 @@ package org.virtuslab.example
import scala.concurrent.duration._
-import akka.actor.typed.ActorRef
-import akka.actor.typed.Behavior
-import akka.actor.typed.scaladsl.Behaviors
import io.circe.Codec
import io.circe.generic.semiauto.deriveCodec
+import org.apache.pekko.actor.typed.ActorRef
+import org.apache.pekko.actor.typed.Behavior
+import org.apache.pekko.actor.typed.scaladsl.Behaviors
object StatsClient {
- sealed trait Event extends CirceAkkaSerializable
+ sealed trait Event extends CircePekkoSerializable
private case object Tick extends Event
private case class ServiceResponse(result: StatsService.Response) extends Event
diff --git a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/StatsService.scala b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/StatsService.scala
similarity index 87%
rename from examples/akka-cluster-app/src/main/scala/org/virtuslab/example/StatsService.scala
rename to examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/StatsService.scala
index 6db0b820..1060b628 100644
--- a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/StatsService.scala
+++ b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/StatsService.scala
@@ -2,28 +2,28 @@ package org.virtuslab.example
import scala.concurrent.duration._
-import akka.actor.typed.ActorRef
-import akka.actor.typed.Behavior
-import akka.actor.typed.scaladsl.Behaviors
import io.circe.Codec
import io.circe.generic.semiauto.deriveCodec
+import org.apache.pekko.actor.typed.ActorRef
+import org.apache.pekko.actor.typed.Behavior
+import org.apache.pekko.actor.typed.scaladsl.Behaviors
-import org.virtuslab.ash.circe.AkkaCodecs
+import org.virtuslab.psh.circe.PekkoCodecs
object StatsService {
- sealed trait Command extends CirceAkkaSerializable
+ sealed trait Command extends CircePekkoSerializable
final case class ProcessText(text: String, replyTo: ActorRef[Response]) extends Command {
require(text.nonEmpty)
}
case object Stop extends Command
- sealed trait Response extends CirceAkkaSerializable
+ sealed trait Response extends CircePekkoSerializable
final case class JobResult(meanWordLength: Double) extends Response
final case class JobFailed(reason: String) extends Response
implicit lazy val codecResponse: Codec[Response] = deriveCodec
- implicit lazy val codecActorRefResponse: Codec[ActorRef[Response]] = new AkkaCodecs {}.actorRefCodec
+ implicit lazy val codecActorRefResponse: Codec[ActorRef[Response]] = new PekkoCodecs {}.actorRefCodec
implicit lazy val codecCommand: Codec[Command] = deriveCodec
def apply(workers: ActorRef[StatsWorker.Process]): Behavior[Command] =
@@ -46,7 +46,7 @@ object StatsService {
object StatsAggregator {
- sealed trait Event extends CirceAkkaSerializable
+ sealed trait Event extends CircePekkoSerializable
private case object Timeout extends Event
private case class CalculationComplete(length: Int) extends Event
diff --git a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/StatsWorker.scala b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/StatsWorker.scala
similarity index 79%
rename from examples/akka-cluster-app/src/main/scala/org/virtuslab/example/StatsWorker.scala
rename to examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/StatsWorker.scala
index bd3a4bff..1f905981 100644
--- a/examples/akka-cluster-app/src/main/scala/org/virtuslab/example/StatsWorker.scala
+++ b/examples/pekko-cluster-app/src/main/scala/org/virtuslab/example/StatsWorker.scala
@@ -2,25 +2,25 @@ package org.virtuslab.example
import scala.concurrent.duration._
-import akka.actor.typed.ActorRef
-import akka.actor.typed.Behavior
-import akka.actor.typed.scaladsl.ActorContext
-import akka.actor.typed.scaladsl.Behaviors
import io.circe.Codec
import io.circe.generic.semiauto.deriveCodec
+import org.apache.pekko.actor.typed.ActorRef
+import org.apache.pekko.actor.typed.Behavior
+import org.apache.pekko.actor.typed.scaladsl.ActorContext
+import org.apache.pekko.actor.typed.scaladsl.Behaviors
-import org.virtuslab.ash.circe.AkkaCodecs
+import org.virtuslab.psh.circe.PekkoCodecs
object StatsWorker {
- sealed trait Command extends CirceAkkaSerializable
+ sealed trait Command extends CircePekkoSerializable
final case class Process(word: String, replyTo: ActorRef[Processed]) extends Command
private case object EvictCache extends Command
- final case class Processed(word: String, length: Int) extends CirceAkkaSerializable
+ final case class Processed(word: String, length: Int) extends CircePekkoSerializable
implicit lazy val codecProcessed: Codec[Processed] = deriveCodec
- implicit lazy val codecActorRefProcessed: Codec[ActorRef[Processed]] = new AkkaCodecs {}.actorRefCodec
+ implicit lazy val codecActorRefProcessed: Codec[ActorRef[Processed]] = new PekkoCodecs {}.actorRefCodec
implicit lazy val codecCommand: Codec[Command] = deriveCodec
def apply(): Behavior[Command] = Behaviors.setup { ctx =>
diff --git a/examples/akka-cluster-app/.scalafix.conf b/examples/pekko-persistence-app/.scalafix.conf
similarity index 90%
rename from examples/akka-cluster-app/.scalafix.conf
rename to examples/pekko-persistence-app/.scalafix.conf
index 7f9241bb..ed64a48b 100644
--- a/examples/akka-cluster-app/.scalafix.conf
+++ b/examples/pekko-persistence-app/.scalafix.conf
@@ -9,5 +9,5 @@ OrganizeImports.groups = [
"java.",
"scala.",
"*",
- "org.virtuslab.ash"
+ "org.virtuslab.psh"
]
diff --git a/examples/akka-persistence-app/.scalafmt.conf b/examples/pekko-persistence-app/.scalafmt.conf
similarity index 100%
rename from examples/akka-persistence-app/.scalafmt.conf
rename to examples/pekko-persistence-app/.scalafmt.conf
diff --git a/examples/akka-persistence-app/README.md b/examples/pekko-persistence-app/README.md
similarity index 65%
rename from examples/akka-persistence-app/README.md
rename to examples/pekko-persistence-app/README.md
index e65962d8..c8ac1694 100644
--- a/examples/akka-persistence-app/README.md
+++ b/examples/pekko-persistence-app/README.md
@@ -1,12 +1,12 @@
-## akka-persistence-app example project
-`akka-persistence-app` is an example project to show real usage of the Dump Persistence Schema Compiler Plugin.
-This project uses logic from the [akka-microservices-tutorial](https://developer.lightbend.com/docs/akka-platform-guide/microservices-tutorial/index.html)
-(the `shopping-cart-service`), with Akka Serialization Helper added.
+## pekko-persistence-app example project
+`pekko-persistence-app` is an example project to show real usage of the Dump Persistence Schema Compiler Plugin.
+This project uses logic from the [pekko-microservices-tutorial](https://github.com/apache/incubator-pekko-platform-guide/blob/main/docs-source/docs/modules/microservices-tutorial/pages/index.adoc)
+(the `shopping-cart-service`), with Pekko Serialization Helper added.
## Dump Persistence Schema Compiler Plugin usage
You can test Dump Persistence Schema Compiler Plugin on this example project. There are two possibilities to do it:
- `sbt compile` - compiles the project with the `dump-persistence-schema` phase enabled. `dump-persistence-schema` phase dumps detected persistence schema (types for Events and States) into `.json` files under the `target/dump-psersistence-schema-cache` directory of this project. These `.json` files are cache files used later by the `ashDumpPersistenceSchema` sbt task.
-- `sbt ashDumpPersistenceSchema` — sbt task that creates final output of the dump using mentioned `.json` files. Output is saved into the `target/akka-persistence-app-dump-persistence-schema-0.1.0-SNAPSHOT.yaml` file.
+- `sbt ashDumpPersistenceSchema` — sbt task that creates final output of the dump using mentioned `.json` files. Output is saved into the `target/pekko-persistence-app-dump-persistence-schema-0.1.0-SNAPSHOT.yaml` file.
You can just invoke `sbt ashDumpPersistenceSchema` without `sbt compile` — `ashDumpPersistenceSchema` task will invoke `sbt compile` if needed.
## Running the sample code
@@ -20,7 +20,7 @@ You can just invoke `sbt ashDumpPersistenceSchema` without `sbt compile` —
2. Create database tables with:
```
- docker exec -i akka-persistence-app_postgres-db_1 psql -U shopping-cart -t < ddl-scripts/create_tables.sql`
+ docker exec -i pekko-persistence-app_postgres-db_1 psql -U shopping-cart -t < ddl-scripts/create_tables.sql`
```
3. Start a first node:
@@ -47,9 +47,9 @@ You can just invoke `sbt ashDumpPersistenceSchema` without `sbt compile` —
grpcurl -d '{"cartId":"cart1", "itemId":"T-shirt", "quantity":3}' -plaintext 127.0.0.1:8101 shoppingcart.ShoppingCartService.AddItem
```
-7. Dump persistence schema with Akka Serialization Helper (after shutting down the application):
+7. Dump persistence schema with Pekko Serialization Helper (after shutting down the application):
```
sbt ashDumpPersistenceSchema
```
-Output saved into the `target/akka-persistence-app-dump-persistence-schema-0.1.0-SNAPSHOT.yaml` file.
+Output saved into the `target/pekko-persistence-app-dump-persistence-schema-0.1.0-SNAPSHOT.yaml` file.
diff --git a/examples/pekko-persistence-app/build.sbt b/examples/pekko-persistence-app/build.sbt
new file mode 100644
index 00000000..6eb2097e
--- /dev/null
+++ b/examples/pekko-persistence-app/build.sbt
@@ -0,0 +1,79 @@
+import org.virtuslab.psh.PekkoSerializationHelperPlugin
+
+name := "pekko-persistence-app"
+
+scalaVersion := "2.13.11"
+
+Compile / scalacOptions ++= Seq(
+ "-target:11",
+ "-deprecation",
+ "-feature",
+ "-unchecked",
+ "-Xlog-reflective-calls",
+ "-Xlint",
+ "-Ywarn-unused")
+Compile / javacOptions ++= Seq("-Xlint:unchecked", "-Xlint:deprecation")
+
+Test / parallelExecution := false
+Test / logBuffered := false
+
+fork := true // must be true due to https://discuss.lightbend.com/t/pekko-projection-getting-started-guide-example-could-not-run-eventgeneratorapp/9434/2
+Global / cancelable := false // ctrl-c
+
+ThisBuild / resolvers += Resolver.ApacheMavenSnapshotsRepo
+
+val pekkoVersion = "1.0.1"
+val pekkoHttpVersion = "1.0.0"
+val pekkoHttp2SupportVersion = "0.0.0+4272-045c925b-SNAPSHOT"
+val pekkoManagementVersion = "1.0.0"
+val pekkoPersistenceJdbcVersion = "0.0.0+998-6a9e5841-SNAPSHOT"
+val pekkoProjectionVersion = "0.0.0+68-6f80a745-SNAPSHOT"
+val circeVersion = "0.14.5"
+val scalikeJdbcVersion = "3.5.0"
+
+enablePlugins(PekkoGrpcPlugin, JavaAppPackaging, DockerPlugin, PekkoSerializationHelperPlugin)
+dockerBaseImage := "docker.io/library/adoptopenjdk:11-jre-hotspot"
+dockerUsername := sys.props.get("docker.username")
+dockerRepository := sys.props.get("docker.registry")
+
+libraryDependencySchemes += "org.apache.pekko" %% "pekko-http-core" % "always"
+
+libraryDependencies ++= Seq(
+ // 1. Basic dependencies for a clustered application
+ "org.apache.pekko" %% "pekko-stream" % pekkoVersion,
+ "org.apache.pekko" %% "pekko-cluster-typed" % pekkoVersion,
+ "org.apache.pekko" %% "pekko-cluster-sharding-typed" % pekkoVersion,
+ "org.apache.pekko" %% "pekko-actor-testkit-typed" % pekkoVersion % Test,
+ // Pekko Management powers Health Checks and Pekko Cluster Bootstrapping
+ "org.apache.pekko" %% "pekko-management" % pekkoManagementVersion,
+ "org.apache.pekko" %% "pekko-http" % pekkoHttpVersion,
+ "org.apache.pekko" %% "pekko-http-spray-json" % pekkoHttpVersion,
+ "org.apache.pekko" %% "pekko-management-cluster-http" % pekkoManagementVersion,
+ "org.apache.pekko" %% "pekko-management-cluster-bootstrap" % pekkoManagementVersion,
+ "org.apache.pekko" %% "pekko-discovery-kubernetes-api" % pekkoManagementVersion,
+ "org.apache.pekko" %% "pekko-discovery" % pekkoVersion,
+ // Common dependencies for logging and testing
+ "org.apache.pekko" %% "pekko-slf4j" % pekkoVersion,
+ "ch.qos.logback" % "logback-classic" % "1.4.7",
+ "org.scalatest" %% "scalatest" % "3.2.12" % Test,
+ // 2. Using gRPC and/or protobuf
+ "org.apache.pekko" %% "pekko-http2-support" % pekkoHttp2SupportVersion,
+ // 3. Using Pekko Persistence
+ "org.apache.pekko" %% "pekko-persistence-typed" % pekkoVersion,
+ "org.apache.pekko" %% "pekko-serialization-jackson" % pekkoVersion,
+ "org.apache.pekko" %% "pekko-persistence-jdbc" % pekkoPersistenceJdbcVersion,
+ "org.apache.pekko" %% "pekko-persistence-testkit" % pekkoVersion % Test,
+ "org.postgresql" % "postgresql" % "42.6.0",
+ // 4. Querying or projecting data from Pekko Persistence
+ "org.apache.pekko" %% "pekko-persistence-query" % pekkoVersion,
+ "org.apache.pekko" %% "pekko-projection-eventsourced" % pekkoProjectionVersion,
+ "org.apache.pekko" %% "pekko-projection-jdbc" % pekkoProjectionVersion,
+ "org.scalikejdbc" %% "scalikejdbc" % scalikeJdbcVersion,
+ "org.scalikejdbc" %% "scalikejdbc-config" % scalikeJdbcVersion,
+ // 5. Dependencies needed to use Pekko Serialization Helper with circe codecs
+ "io.circe" %% "circe-core" % circeVersion,
+ PekkoSerializationHelperPlugin.annotation,
+ PekkoSerializationHelperPlugin.circePekkoSerializer)
+
+ThisBuild / semanticdbEnabled := true
+ThisBuild / semanticdbVersion := "4.7.8"
diff --git a/examples/akka-persistence-app/ddl-scripts/create_tables.sql b/examples/pekko-persistence-app/ddl-scripts/create_tables.sql
similarity index 83%
rename from examples/akka-persistence-app/ddl-scripts/create_tables.sql
rename to examples/pekko-persistence-app/ddl-scripts/create_tables.sql
index 20c6c62a..6ca417fb 100644
--- a/examples/akka-persistence-app/ddl-scripts/create_tables.sql
+++ b/examples/pekko-persistence-app/ddl-scripts/create_tables.sql
@@ -53,9 +53,9 @@ CREATE TABLE IF NOT EXISTS public.snapshot (
PRIMARY KEY(persistence_id, sequence_number)
);
---drop table if exists public.akka_projection_offset_store;
+--drop table if exists public.pekko_projection_offset_store;
-CREATE TABLE IF NOT EXISTS public.akka_projection_offset_store (
+CREATE TABLE IF NOT EXISTS public.pekko_projection_offset_store (
projection_name VARCHAR(255) NOT NULL,
projection_key VARCHAR(255) NOT NULL,
current_offset VARCHAR(255) NOT NULL,
@@ -65,11 +65,11 @@ CREATE TABLE IF NOT EXISTS public.akka_projection_offset_store (
PRIMARY KEY(projection_name, projection_key)
);
-CREATE INDEX IF NOT EXISTS projection_name_index ON public.akka_projection_offset_store (projection_name);
+CREATE INDEX IF NOT EXISTS projection_name_index ON public.pekko_projection_offset_store (projection_name);
---drop table if exists public.akka_projection_management;
+--drop table if exists public.pekko_projection_management;
-CREATE TABLE IF NOT EXISTS public.akka_projection_management (
+CREATE TABLE IF NOT EXISTS public.pekko_projection_management (
projection_name VARCHAR(255) NOT NULL,
projection_key VARCHAR(255) NOT NULL,
paused BOOLEAN NOT NULL,
diff --git a/examples/akka-persistence-app/docker-compose.yml b/examples/pekko-persistence-app/docker-compose.yml
similarity index 100%
rename from examples/akka-persistence-app/docker-compose.yml
rename to examples/pekko-persistence-app/docker-compose.yml
diff --git a/examples/akka-persistence-app/project/build.properties b/examples/pekko-persistence-app/project/build.properties
similarity index 100%
rename from examples/akka-persistence-app/project/build.properties
rename to examples/pekko-persistence-app/project/build.properties
diff --git a/examples/akka-persistence-app/project/plugins.sbt b/examples/pekko-persistence-app/project/plugins.sbt
similarity index 58%
rename from examples/akka-persistence-app/project/plugins.sbt
rename to examples/pekko-persistence-app/project/plugins.sbt
index c9bd395d..d134d770 100644
--- a/examples/akka-persistence-app/project/plugins.sbt
+++ b/examples/pekko-persistence-app/project/plugins.sbt
@@ -1,7 +1,7 @@
resolvers += Resolver.ApacheMavenSnapshotsRepo
addSbtPlugin("com.github.sbt" % "sbt-native-packager" % "1.9.9")
-addSbtPlugin("com.lightbend.akka.grpc" % "sbt-akka-grpc" % "2.1.6")
+addSbtPlugin("org.apache.pekko" % "sbt-pekko-grpc" % "0.0.0-94-0bfb43a6-SNAPSHOT")
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.0")
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.11.0")
-addSbtPlugin("org.virtuslab.ash" % "sbt-akka-serialization-helper" % "0.7.2")
+addSbtPlugin("org.virtuslab.psh" % "sbt-pekko-serialization-helper" % "0.7.2.1")
diff --git a/examples/akka-persistence-app/src/main/protobuf/ShoppingCartService.proto b/examples/pekko-persistence-app/src/main/protobuf/ShoppingCartService.proto
similarity index 100%
rename from examples/akka-persistence-app/src/main/protobuf/ShoppingCartService.proto
rename to examples/pekko-persistence-app/src/main/protobuf/ShoppingCartService.proto
diff --git a/examples/akka-persistence-app/src/main/resources/application.conf b/examples/pekko-persistence-app/src/main/resources/application.conf
similarity index 79%
rename from examples/akka-persistence-app/src/main/resources/application.conf
rename to examples/pekko-persistence-app/src/main/resources/application.conf
index d3434f12..5113089b 100644
--- a/examples/akka-persistence-app/src/main/resources/application.conf
+++ b/examples/pekko-persistence-app/src/main/resources/application.conf
@@ -3,10 +3,10 @@ include "grpc"
include "persistence"
include "serialization"
-akka {
+pekko {
loglevel = DEBUG
}
-akka-persistence-app {
+pekko-persistence-app {
ask-timeout = 5 s
}
diff --git a/examples/akka-persistence-app/src/main/resources/cluster.conf b/examples/pekko-persistence-app/src/main/resources/cluster.conf
similarity index 75%
rename from examples/akka-persistence-app/src/main/resources/cluster.conf
rename to examples/pekko-persistence-app/src/main/resources/cluster.conf
index e982dfe1..c75faa0c 100644
--- a/examples/akka-persistence-app/src/main/resources/cluster.conf
+++ b/examples/pekko-persistence-app/src/main/resources/cluster.conf
@@ -1,4 +1,4 @@
-akka {
+pekko {
actor.provider = cluster
remote.artery {
@@ -6,7 +6,7 @@ akka {
}
cluster {
- downing-provider-class = "akka.cluster.sbr.SplitBrainResolverProvider"
+ downing-provider-class = "org.apache.pekko.cluster.sbr.SplitBrainResolverProvider"
shutdown-after-unsuccessful-join-seed-nodes = 120s
@@ -17,7 +17,7 @@ akka {
}
}
-akka.management {
+pekko.management {
http {
port = 8558
port = ${?HTTP_MGMT_PORT}
diff --git a/examples/akka-persistence-app/src/main/resources/grpc.conf b/examples/pekko-persistence-app/src/main/resources/grpc.conf
similarity index 69%
rename from examples/akka-persistence-app/src/main/resources/grpc.conf
rename to examples/pekko-persistence-app/src/main/resources/grpc.conf
index 6e322df2..a98adb6b 100644
--- a/examples/akka-persistence-app/src/main/resources/grpc.conf
+++ b/examples/pekko-persistence-app/src/main/resources/grpc.conf
@@ -1,6 +1,6 @@
-akka.http.server.preview.enable-http2 = on
+pekko.http.server.preview.enable-http2 = on
-akka-persistence-app {
+pekko-persistence-app {
grpc {
# consider setting this to a specific interface for your environment
diff --git a/examples/akka-persistence-app/src/main/resources/local-shared.conf b/examples/pekko-persistence-app/src/main/resources/local-shared.conf
similarity index 67%
rename from examples/akka-persistence-app/src/main/resources/local-shared.conf
rename to examples/pekko-persistence-app/src/main/resources/local-shared.conf
index 1c12af4d..65f23dd7 100644
--- a/examples/akka-persistence-app/src/main/resources/local-shared.conf
+++ b/examples/pekko-persistence-app/src/main/resources/local-shared.conf
@@ -1,11 +1,11 @@
-akka-persistence-app.grpc.interface = "127.0.0.1"
-akka.remote.artery.canonical.hostname = "127.0.0.1"
-akka.management.http.hostname = "127.0.0.1"
+pekko-persistence-app.grpc.interface = "127.0.0.1"
+pekko.remote.artery.canonical.hostname = "127.0.0.1"
+pekko.management.http.hostname = "127.0.0.1"
-## The following setting overrides for Akka Management, Akka Discovery and Akka Projections
+## The following setting overrides for Pekko Management, Pekko Discovery and Pekko Projections
## should only be used in a local environment during development.
-akka.management.cluster.bootstrap.contact-point-discovery {
- service-name = "akka-persistence-app"
+pekko.management.cluster.bootstrap.contact-point-discovery {
+ service-name = "pekko-persistence-app"
discovery-method = config
# boostrap filters ports with the same IP assuming they are previous instances running on the same node
# unless a port is specified
@@ -17,10 +17,10 @@ akka.management.cluster.bootstrap.contact-point-discovery {
contact-with-all-contact-points = false
}
-akka.discovery {
+pekko.discovery {
config {
services {
- "akka-persistence-app" {
+ "pekko-persistence-app" {
endpoints = [
{host = "127.0.0.1", port = 9101}
{host = "127.0.0.1", port = 9102}
diff --git a/examples/pekko-persistence-app/src/main/resources/local1.conf b/examples/pekko-persistence-app/src/main/resources/local1.conf
new file mode 100644
index 00000000..3e6b1504
--- /dev/null
+++ b/examples/pekko-persistence-app/src/main/resources/local1.conf
@@ -0,0 +1,7 @@
+include "application"
+include "local-shared"
+
+pekko-persistence-app.grpc.port = 8101
+
+pekko.remote.artery.canonical.port = 2551
+pekko.management.http.port = 9101
diff --git a/examples/pekko-persistence-app/src/main/resources/local2.conf b/examples/pekko-persistence-app/src/main/resources/local2.conf
new file mode 100644
index 00000000..e4d79f71
--- /dev/null
+++ b/examples/pekko-persistence-app/src/main/resources/local2.conf
@@ -0,0 +1,7 @@
+include "application"
+include "local-shared"
+
+pekko-persistence-app.grpc.port = 8102
+
+pekko.management.http.port = 9102
+pekko.remote.artery.canonical.port = 2552
diff --git a/examples/akka-persistence-app/src/main/resources/logback.xml b/examples/pekko-persistence-app/src/main/resources/logback.xml
similarity index 81%
rename from examples/akka-persistence-app/src/main/resources/logback.xml
rename to examples/pekko-persistence-app/src/main/resources/logback.xml
index f4e889fc..a828611a 100644
--- a/examples/akka-persistence-app/src/main/resources/logback.xml
+++ b/examples/pekko-persistence-app/src/main/resources/logback.xml
@@ -2,7 +2,7 @@
- [%date{ISO8601}] [%level] [%logger] [%X{akkaAddress}] [%marker] [%thread] - %msg%n
+ [%date{ISO8601}] [%level] [%logger] [%X{pekkoAddress}] [%marker] [%thread] - %msg%n
diff --git a/examples/akka-persistence-app/src/main/resources/persistence.conf b/examples/pekko-persistence-app/src/main/resources/persistence.conf
similarity index 87%
rename from examples/akka-persistence-app/src/main/resources/persistence.conf
rename to examples/pekko-persistence-app/src/main/resources/persistence.conf
index b89a19ad..8e268877 100644
--- a/examples/akka-persistence-app/src/main/resources/persistence.conf
+++ b/examples/pekko-persistence-app/src/main/resources/persistence.conf
@@ -1,4 +1,4 @@
-akka {
+pekko {
# use JDBC plugin to store both snapshots and the events of the persistent actors
persistence {
journal.plugin = "jdbc-journal"
@@ -14,7 +14,7 @@ akka {
}
}
-# These settings configure the database connection for ScalikeJDBC and the akka-persistence-jdbc plugin
+# These settings configure the database connection for ScalikeJDBC and the pekko-persistence-jdbc plugin
jdbc-connection-settings {
driver = "org.postgresql.Driver"
@@ -26,11 +26,11 @@ jdbc-connection-settings {
# the following properties are used to configure the
- # Hikari connection pool used on the read-side (akka-projections)
+ # Hikari connection pool used on the read-side (pekko-projections)
connection-pool {
# How many connections should be available to from the pool?
# it's recommended to use the same value used by the blocking-jdbc-dispatcher (see above)
- max-pool-size = ${akka.projection.jdbc.blocking-jdbc-dispatcher.thread-pool-executor.fixed-pool-size}
+ max-pool-size = ${pekko.projection.jdbc.blocking-jdbc-dispatcher.thread-pool-executor.fixed-pool-size}
# How long should we wait (in millis) before it times out?
# In a normal scenario, we should always be able to get a connection
@@ -42,7 +42,7 @@ jdbc-connection-settings {
}
-akka-persistence-jdbc {
+pekko-persistence-jdbc {
shared-databases {
default {
# the slick profile must be compatible with the configured jdbc-connection-settings.driver
@@ -71,12 +71,12 @@ jdbc-journal {
use-shared-db = "default"
}
-# the akka-persistence-snapshot-store in use
+# the pekko-persistence-snapshot-store in use
jdbc-snapshot-store {
use-shared-db = "default"
}
-# the akka-persistence-query provider in use
+# the pekko-persistence-query provider in use
jdbc-read-journal {
use-shared-db = "default"
}
diff --git a/examples/akka-persistence-app/src/main/resources/serialization.conf b/examples/pekko-persistence-app/src/main/resources/serialization.conf
similarity index 58%
rename from examples/akka-persistence-app/src/main/resources/serialization.conf
rename to examples/pekko-persistence-app/src/main/resources/serialization.conf
index 3b0421ac..53a2038e 100644
--- a/examples/akka-persistence-app/src/main/resources/serialization.conf
+++ b/examples/pekko-persistence-app/src/main/resources/serialization.conf
@@ -1,8 +1,8 @@
-akka.actor {
+pekko.actor {
serializers {
circe-json = "org.virtuslab.example.ExampleSerializer"
}
serialization-bindings {
- "org.virtuslab.example.CirceAkkaSerializable" = circe-json
+ "org.virtuslab.example.CircePekkoSerializable" = circe-json
}
}
diff --git a/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/CircePekkoSerializable.scala b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/CircePekkoSerializable.scala
new file mode 100644
index 00000000..4d54c0f1
--- /dev/null
+++ b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/CircePekkoSerializable.scala
@@ -0,0 +1,6 @@
+package org.virtuslab.example
+
+import org.virtuslab.psh.annotation.SerializabilityTrait
+
+@SerializabilityTrait
+trait CircePekkoSerializable extends Product with Serializable
diff --git a/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala
new file mode 100644
index 00000000..865cfd36
--- /dev/null
+++ b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ExampleSerializer.scala
@@ -0,0 +1,24 @@
+package org.virtuslab.example
+
+import org.apache.pekko.actor.ExtendedActorSystem
+
+import org.virtuslab.psh.annotation.Serializer
+import org.virtuslab.psh.circe.CircePekkoSerializer
+import org.virtuslab.psh.circe.Register
+import org.virtuslab.psh.circe.Registration
+
+@Serializer(classOf[CircePekkoSerializable], Register.REGISTRATION_REGEX)
+class ExampleSerializer(actorSystem: ExtendedActorSystem)
+ extends CircePekkoSerializer[CircePekkoSerializable](actorSystem) {
+ override def identifier: Int = 7312
+
+ override lazy val codecs: Seq[Registration[_ <: CircePekkoSerializable]] = Seq(
+ Register[ShoppingCart.Command],
+ Register[ShoppingCart.Event],
+ Register[ShoppingCart.State],
+ Register[ShoppingCart.Summary])
+
+ override lazy val manifestMigrations: Seq[(String, Class[_])] = Nil
+
+ override lazy val packagePrefix: String = "org.virtuslab.example"
+}
diff --git a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/Main.scala b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/Main.scala
similarity index 68%
rename from examples/akka-persistence-app/src/main/scala/org/virtuslab/example/Main.scala
rename to examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/Main.scala
index 0716a2cc..4d82cc1c 100644
--- a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/Main.scala
+++ b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/Main.scala
@@ -2,11 +2,11 @@ package org.virtuslab.example
import scala.util.control.NonFatal
-import akka.actor.typed.ActorSystem
-import akka.actor.typed.scaladsl.Behaviors
-import akka.management.cluster.bootstrap.ClusterBootstrap
-import akka.management.scaladsl.AkkaManagement
import com.typesafe.config.ConfigFactory
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.actor.typed.scaladsl.Behaviors
+import org.apache.pekko.management.cluster.bootstrap.ClusterBootstrap
+import org.apache.pekko.management.scaladsl.PekkoManagement
import org.slf4j.LoggerFactory
object Main {
@@ -16,7 +16,7 @@ object Main {
def main(args: Array[String]): Unit = {
val chosenConfig = args.headOption.getOrElse(
throw new IllegalArgumentException(
- "Application started without specifying the akka .conf file in runtime args. " +
+ "Application started without specifying the pekko .conf file in runtime args. " +
"Please, run again with filename added as the first argument. E.g.: `sbt \"run chosen_config.conf\"`"))
val config = ConfigFactory.load(chosenConfig)
val system = ActorSystem[Nothing](Behaviors.empty, "ShoppingCartService", config)
@@ -31,13 +31,13 @@ object Main {
}
def init(system: ActorSystem[_]): Unit = {
- AkkaManagement(system).start()
+ PekkoManagement(system).start()
ClusterBootstrap(system).start()
val grpcInterface =
- system.settings.config.getString("akka-persistence-app.grpc.interface")
+ system.settings.config.getString("pekko-persistence-app.grpc.interface")
val grpcPort =
- system.settings.config.getInt("akka-persistence-app.grpc.port")
+ system.settings.config.getInt("pekko-persistence-app.grpc.port")
val grpcService = new ShoppingCartServiceImpl(system)
ShoppingCartServer.start(grpcInterface, grpcPort, system, grpcService)
diff --git a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCart.scala b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCart.scala
similarity index 75%
rename from examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCart.scala
rename to examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCart.scala
index d1caf553..e7d8ab32 100644
--- a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCart.scala
+++ b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCart.scala
@@ -2,23 +2,23 @@ package org.virtuslab.example
import scala.concurrent.duration._
-import akka.actor.typed.ActorRef
-import akka.actor.typed.ActorSystem
-import akka.actor.typed.Behavior
-import akka.actor.typed.SupervisorStrategy
-import akka.cluster.sharding.typed.scaladsl.ClusterSharding
-import akka.cluster.sharding.typed.scaladsl.Entity
-import akka.cluster.sharding.typed.scaladsl.EntityTypeKey
-import akka.pattern.StatusReply
-import akka.persistence.typed.PersistenceId
-import akka.persistence.typed.scaladsl.Effect
-import akka.persistence.typed.scaladsl.EventSourcedBehavior
-import akka.persistence.typed.scaladsl.ReplyEffect
-import akka.persistence.typed.scaladsl.RetentionCriteria
import io.circe.Codec
import io.circe.generic.semiauto.deriveCodec
-
-import org.virtuslab.ash.circe.AkkaCodecs
+import org.apache.pekko.actor.typed.ActorRef
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.actor.typed.Behavior
+import org.apache.pekko.actor.typed.SupervisorStrategy
+import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding
+import org.apache.pekko.cluster.sharding.typed.scaladsl.Entity
+import org.apache.pekko.cluster.sharding.typed.scaladsl.EntityTypeKey
+import org.apache.pekko.pattern.StatusReply
+import org.apache.pekko.persistence.typed.PersistenceId
+import org.apache.pekko.persistence.typed.scaladsl.Effect
+import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior
+import org.apache.pekko.persistence.typed.scaladsl.ReplyEffect
+import org.apache.pekko.persistence.typed.scaladsl.RetentionCriteria
+
+import org.virtuslab.psh.circe.PekkoCodecs
object ShoppingCart {
@@ -45,7 +45,7 @@ object ShoppingCart {
/**
* This interface defines all the commands (messages) that the ShoppingCart actor supports.
*/
- sealed trait Command extends CirceAkkaSerializable
+ sealed trait Command extends CircePekkoSerializable
/**
* A command to add an item to the cart.
@@ -58,12 +58,12 @@ object ShoppingCart {
/**
* Summary of the shopping cart state, used in reply messages.
*/
- final case class Summary(items: Map[String, Int]) extends CirceAkkaSerializable
+ final case class Summary(items: Map[String, Int]) extends CircePekkoSerializable
/**
* This interface defines all the events that the ShoppingCart supports.
*/
- sealed trait Event extends CirceAkkaSerializable {
+ sealed trait Event extends CircePekkoSerializable {
def cartId: String
}
@@ -74,7 +74,7 @@ object ShoppingCart {
* @param items
* \- Map containing information about items that are in the cart currently
*/
- final case class State(items: Map[String, Int]) extends CirceAkkaSerializable {
+ final case class State(items: Map[String, Int]) extends CircePekkoSerializable {
def hasItem(itemId: String): Boolean =
items.contains(itemId)
@@ -93,8 +93,8 @@ object ShoppingCart {
val empty: State = State(items = Map.empty)
}
- // codecs derivation for all types extending CirceAkkaSerializable
- implicit lazy val codecActorRefResponse: Codec[ActorRef[StatusReply[Summary]]] = new AkkaCodecs {}.actorRefCodec
+ // codecs derivation for all types extending CircePekkoSerializable
+ implicit lazy val codecActorRefResponse: Codec[ActorRef[StatusReply[Summary]]] = new PekkoCodecs {}.actorRefCodec
implicit lazy val codecCommand: Codec[Command] = deriveCodec
implicit lazy val summaryCommand: Codec[Summary] = deriveCodec
implicit lazy val codecEvent: Codec[Event] = deriveCodec
diff --git a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServer.scala b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServer.scala
similarity index 79%
rename from examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServer.scala
rename to examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServer.scala
index 4d7878f3..0b7a6e7b 100644
--- a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServer.scala
+++ b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServer.scala
@@ -6,12 +6,12 @@ import scala.concurrent.duration._
import scala.util.Failure
import scala.util.Success
-import akka.actor.typed.ActorSystem
-import akka.grpc.scaladsl.ServerReflection
-import akka.grpc.scaladsl.ServiceHandler
-import akka.http.scaladsl.Http
-import akka.http.scaladsl.model.HttpRequest
-import akka.http.scaladsl.model.HttpResponse
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.grpc.scaladsl.ServerReflection
+import org.apache.pekko.grpc.scaladsl.ServiceHandler
+import org.apache.pekko.http.scaladsl.Http
+import org.apache.pekko.http.scaladsl.model.HttpRequest
+import org.apache.pekko.http.scaladsl.model.HttpResponse
object ShoppingCartServer {
diff --git a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServiceImpl.scala b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServiceImpl.scala
similarity index 82%
rename from examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServiceImpl.scala
rename to examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServiceImpl.scala
index 84ad84ca..c2a1d205 100644
--- a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServiceImpl.scala
+++ b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/ShoppingCartServiceImpl.scala
@@ -4,11 +4,11 @@ import java.util.concurrent.TimeoutException
import scala.concurrent.Future
-import akka.actor.typed.ActorSystem
-import akka.cluster.sharding.typed.scaladsl.ClusterSharding
-import akka.grpc.GrpcServiceException
-import akka.util.Timeout
import io.grpc.Status
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding
+import org.apache.pekko.grpc.GrpcServiceException
+import org.apache.pekko.util.Timeout
import org.slf4j.LoggerFactory
class ShoppingCartServiceImpl(system: ActorSystem[_]) extends proto.ShoppingCartService {
@@ -18,7 +18,7 @@ class ShoppingCartServiceImpl(system: ActorSystem[_]) extends proto.ShoppingCart
private val logger = LoggerFactory.getLogger(getClass)
implicit private val timeout: Timeout =
- Timeout.create(system.settings.config.getDuration("akka-persistence-app.ask-timeout"))
+ Timeout.create(system.settings.config.getDuration("pekko-persistence-app.ask-timeout"))
private val sharding = ClusterSharding(system)
diff --git a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSession.scala b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSession.scala
similarity index 79%
rename from examples/akka-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSession.scala
rename to examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSession.scala
index 1f7cfdc2..ddf7c054 100644
--- a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSession.scala
+++ b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSession.scala
@@ -2,8 +2,8 @@ package org.virtuslab.example.repository
import java.sql.Connection
-import akka.japi.function.Function
-import akka.projection.jdbc.JdbcSession
+import org.apache.pekko.japi.function.Function
+import org.apache.pekko.projection.jdbc.JdbcSession
import scalikejdbc._
object ScalikeJdbcSession {
@@ -18,7 +18,7 @@ object ScalikeJdbcSession {
}
/**
- * Provide database connections within a transaction to Akka Projections.
+ * Provide database connections within a transaction to Pekko Projections.
*/
final class ScalikeJdbcSession extends JdbcSession {
val db: DB = DB.connect()
diff --git a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSetup.scala b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSetup.scala
similarity index 98%
rename from examples/akka-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSetup.scala
rename to examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSetup.scala
index 081dbd94..784e9e22 100644
--- a/examples/akka-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSetup.scala
+++ b/examples/pekko-persistence-app/src/main/scala/org/virtuslab/example/repository/ScalikeJdbcSetup.scala
@@ -1,8 +1,8 @@
package org.virtuslab.example.repository
-import akka.actor.typed.ActorSystem
import com.typesafe.config.Config
import com.zaxxer.hikari.HikariDataSource
+import org.apache.pekko.actor.typed.ActorSystem
import scalikejdbc.ConnectionPool
import scalikejdbc.DataSourceCloser
import scalikejdbc.DataSourceConnectionPool
diff --git a/examples/akka-persistence-app/src/test/resources/logback-test.xml b/examples/pekko-persistence-app/src/test/resources/logback-test.xml
similarity index 70%
rename from examples/akka-persistence-app/src/test/resources/logback-test.xml
rename to examples/pekko-persistence-app/src/test/resources/logback-test.xml
index 615e2562..1ab4c01b 100644
--- a/examples/akka-persistence-app/src/test/resources/logback-test.xml
+++ b/examples/pekko-persistence-app/src/test/resources/logback-test.xml
@@ -3,7 +3,7 @@
- [%date{ISO8601}] [%level] [%logger] [%X{akkaAddress}] [%marker] [%thread] - %msg%n
+ [%date{ISO8601}] [%level] [%logger] [%X{pekkoAddress}] [%marker] [%thread] - %msg%n
diff --git a/examples/akka-persistence-app/src/test/resources/persistence-test.conf b/examples/pekko-persistence-app/src/test/resources/persistence-test.conf
similarity index 100%
rename from examples/akka-persistence-app/src/test/resources/persistence-test.conf
rename to examples/pekko-persistence-app/src/test/resources/persistence-test.conf
diff --git a/examples/akka-persistence-app/src/test/scala/org.virtuslab/example/ShoppingCartSpec.scala b/examples/pekko-persistence-app/src/test/scala/org.virtuslab/example/ShoppingCartSpec.scala
similarity index 85%
rename from examples/akka-persistence-app/src/test/scala/org.virtuslab/example/ShoppingCartSpec.scala
rename to examples/pekko-persistence-app/src/test/scala/org.virtuslab/example/ShoppingCartSpec.scala
index d2058695..3e4ed9ef 100644
--- a/examples/akka-persistence-app/src/test/scala/org.virtuslab/example/ShoppingCartSpec.scala
+++ b/examples/pekko-persistence-app/src/test/scala/org.virtuslab/example/ShoppingCartSpec.scala
@@ -1,21 +1,21 @@
package org.virtuslab.example
-import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
-import akka.pattern.StatusReply
-import akka.persistence.testkit.scaladsl.EventSourcedBehaviorTestKit
import com.typesafe.config.ConfigFactory
+import org.apache.pekko.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
+import org.apache.pekko.pattern.StatusReply
+import org.apache.pekko.persistence.testkit.scaladsl.EventSourcedBehaviorTestKit
import org.scalatest.BeforeAndAfterEach
import org.scalatest.wordspec.AnyWordSpecLike
object ShoppingCartSpec {
val config = ConfigFactory
.parseString("""
- akka.actor {
+ pekko.actor {
serializers {
circe-json = "org.virtuslab.example.ExampleSerializer"
}
serialization-bindings {
- "org.virtuslab.example.CirceAkkaSerializable" = circe-json
+ "org.virtuslab.example.CircePekkoSerializable" = circe-json
}
}
""")
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 1d5c491e..1de2c30b 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -4,8 +4,8 @@ object Dependencies {
val scalaVersion213 = "2.13.11"
val scalaVersion212 = "2.12.18"
- val akkaProjectionVersion = "1.2.5"
- val akkaVersion = "2.6.20"
+ val pekkoProjectionVersion = "0.0.0+68-6f80a745-SNAPSHOT"
+ val pekkoVersion = "1.0.1"
val borerVersion = "1.8.0"
val circeYamlVersion = "0.14.2"
val circeVersion = "0.14.5"
@@ -18,20 +18,20 @@ object Dependencies {
val sprayJson = "io.spray" %% "spray-json" % "1.3.6"
val scalaCollectionCompat = "org.scala-lang.modules" %% "scala-collection-compat" % "2.10.0"
- val akkaActor = "com.typesafe.akka" %% "akka-actor" % akkaVersion
- val akkaActorTyped = "com.typesafe.akka" %% "akka-actor-typed" % akkaVersion
- val akkaStream = "com.typesafe.akka" %% "akka-stream" % akkaVersion
- val akkaPersistenceTyped = "com.typesafe.akka" %% "akka-persistence-typed" % akkaVersion
- val akkaProjections = "com.lightbend.akka" %% "akka-projection-eventsourced" % akkaProjectionVersion
- val akkaTestKitTyped = "com.typesafe.akka" %% "akka-actor-testkit-typed" % akkaVersion
- val akkaStreamTestKit = "com.typesafe.akka" %% "akka-stream-testkit" % akkaVersion
+ val pekkoActor = "org.apache.pekko" %% "pekko-actor" % pekkoVersion
+ val pekkoActorTyped = "org.apache.pekko" %% "pekko-actor-typed" % pekkoVersion
+ val pekkoStream = "org.apache.pekko" %% "pekko-stream" % pekkoVersion
+ val pekkoPersistenceTyped = "org.apache.pekko" %% "pekko-persistence-typed" % pekkoVersion
+ val pekkoProjections = "org.apache.pekko" %% "pekko-projection-eventsourced" % pekkoProjectionVersion
+ val pekkoTestKitTyped = "org.apache.pekko" %% "pekko-actor-testkit-typed" % pekkoVersion
+ val pekkoStreamTestKit = "org.apache.pekko" %% "pekko-stream-testkit" % pekkoVersion
- val akkaHttpCors = "ch.megard" %% "akka-http-cors" % "1.2.0" // required by akka-grpc-runtime
- val akkaGrpc = "com.lightbend.akka.grpc" %% "akka-grpc-runtime" % "2.1.6"
+ val pekkoHttpCors = "ch.megard" %% "pekko-http-cors" % "0.0.0-SNAPSHOT" // required by pekko-grpc-runtime
+ val pekkoGrpc = "org.apache.pekko" %% "pekko-grpc-runtime" % "1.0.0-RC2-2-56662643-SNAPSHOT"
val borerCore = "io.bullet" %% "borer-core" % borerVersion
val borerDerivation = "io.bullet" %% "borer-derivation" % borerVersion
- val borerAkka = "io.bullet" %% "borer-compat-akka" % borerVersion
+ val borerPekko = "io.bullet" %% "borer-compat-pekko" % borerVersion
val circeCore = "io.circe" %% "circe-core" % circeVersion
val circeGeneric = "io.circe" %% "circe-generic" % circeVersion
diff --git a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/build.sbt b/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/build.sbt
deleted file mode 100644
index 5687d6a1..00000000
--- a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/build.sbt
+++ /dev/null
@@ -1,8 +0,0 @@
-val scala213 = "2.13.6"
-
-name := "dependencies"
-version := "0.1"
-scalaVersion := scala213
-
-enablePlugins(AkkaSerializationHelperPlugin)
-libraryDependencies += AkkaSerializationHelperPlugin.circeAkkaSerializer
diff --git a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/DumpPersistenceSchema.scala b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/DumpPersistenceSchema.scala
similarity index 91%
rename from sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/DumpPersistenceSchema.scala
rename to sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/DumpPersistenceSchema.scala
index 004c07a8..6a0630a5 100644
--- a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/DumpPersistenceSchema.scala
+++ b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/DumpPersistenceSchema.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import better.files.{File => SFile, _}
import io.circe.generic.auto._
@@ -8,11 +8,11 @@ import sbt.Keys._
import sbt._
import spray.json._
-import org.virtuslab.ash.model._
+import org.virtuslab.psh.model._
object DumpPersistenceSchema {
import DumpPersistenceSchemaJsonProtocol._
- import AkkaSerializationHelperPlugin.autoImport._
+ import PekkoSerializationHelperPlugin.autoImport._
def apply(outputFile: SFile, inputDirectory: SFile): SFile = {
val typeDefinitions = for {
diff --git a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/AkkaSerializationHelperKeys.scala b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/PekkoSerializationHelperKeys.scala
similarity index 95%
rename from sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/AkkaSerializationHelperKeys.scala
rename to sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/PekkoSerializationHelperKeys.scala
index 941f2268..be1f682c 100644
--- a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/AkkaSerializationHelperKeys.scala
+++ b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/PekkoSerializationHelperKeys.scala
@@ -1,11 +1,11 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import sbt.File
import sbt.librarymanagement.ModuleID
import sbt.settingKey
import sbt.taskKey
-trait AkkaSerializationHelperKeys {
+trait PekkoSerializationHelperKeys {
lazy val ashDumpPersistenceSchemaCompilerPlugin = settingKey[ModuleID]("ModuleID of dump persistence plugin")
lazy val ashCodecRegistrationCheckerCompilerPlugin =
settingKey[ModuleID]("ModuleID of codec registration checker plugin")
diff --git a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/AkkaSerializationHelperPlugin.scala b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/PekkoSerializationHelperPlugin.scala
similarity index 91%
rename from sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/AkkaSerializationHelperPlugin.scala
rename to sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/PekkoSerializationHelperPlugin.scala
index cc696c1f..8c60b9f2 100644
--- a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/AkkaSerializationHelperPlugin.scala
+++ b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/PekkoSerializationHelperPlugin.scala
@@ -1,17 +1,17 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import sbt.Def
import sbt.Keys._
import sbt._
-object AkkaSerializationHelperPlugin extends AutoPlugin {
+object PekkoSerializationHelperPlugin extends AutoPlugin {
- object autoImport extends AkkaSerializationHelperKeys {
- val baseAshSettings: Seq[Def.Setting[_]] = AkkaSerializationHelperPlugin.baseAshSettings
+ object autoImport extends PekkoSerializationHelperKeys {
+ val baseAshSettings: Seq[Def.Setting[_]] = PekkoSerializationHelperPlugin.baseAshSettings
}
import autoImport.{baseAshSettings => _, _}
- val circeAkkaSerializer = component("circe-akka-serializer")
+ val circePekkoSerializer = component("circe-pekko-serializer")
val annotation = component("annotation")
@@ -56,7 +56,7 @@ object AkkaSerializationHelperPlugin extends AutoPlugin {
private lazy val ashVersion = getClass.getPackage.getImplementationVersion
- private def component(id: String) = "org.virtuslab.ash" %% id % ashVersion
+ private def component(id: String) = "org.virtuslab.psh" %% id % ashVersion
private def ashScalacOptionsInConfig(conf: Configuration) = {
inConfig(conf)(ashScalacOptions := {
diff --git a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/model/DumpPersistenceSchemaJsonProtocol.scala b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/model/DumpPersistenceSchemaJsonProtocol.scala
similarity index 90%
rename from sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/model/DumpPersistenceSchemaJsonProtocol.scala
rename to sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/model/DumpPersistenceSchemaJsonProtocol.scala
index 1718f7ca..f21494cd 100644
--- a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/model/DumpPersistenceSchemaJsonProtocol.scala
+++ b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/model/DumpPersistenceSchemaJsonProtocol.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.model
+package org.virtuslab.psh.model
import spray.json.DefaultJsonProtocol
import spray.json.JsonFormat
diff --git a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/model/Field.scala b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/model/Field.scala
similarity index 60%
rename from sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/model/Field.scala
rename to sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/model/Field.scala
index e10fb82e..25f68185 100644
--- a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/model/Field.scala
+++ b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/model/Field.scala
@@ -1,3 +1,3 @@
-package org.virtuslab.ash.model
+package org.virtuslab.psh.model
case class Field(name: String, typeName: String)
diff --git a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/model/TypeDefinition.scala b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/model/TypeDefinition.scala
similarity index 83%
rename from sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/model/TypeDefinition.scala
rename to sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/model/TypeDefinition.scala
index 35a36948..0e403385 100644
--- a/sbt-akka-serialization-helper/src/main/scala/org/virtuslab/ash/model/TypeDefinition.scala
+++ b/sbt-pekko-serialization-helper/src/main/scala/org/virtuslab/psh/model/TypeDefinition.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.model
+package org.virtuslab.psh.model
final case class TypeDefinition(
name: String,
diff --git a/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/build.sbt b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/build.sbt
new file mode 100644
index 00000000..160375fb
--- /dev/null
+++ b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/build.sbt
@@ -0,0 +1,8 @@
+val scala213 = "2.13.6"
+
+name := "dependencies"
+version := "0.1"
+scalaVersion := scala213
+
+enablePlugins(PekkoSerializationHelperPlugin)
+libraryDependencies += PekkoSerializationHelperPlugin.circePekkoSerializer
diff --git a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/project/build.properties b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/project/build.properties
similarity index 100%
rename from sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/project/build.properties
rename to sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/project/build.properties
diff --git a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/project/plugins.sbt b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/project/plugins.sbt
similarity index 72%
rename from sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/project/plugins.sbt
rename to sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/project/plugins.sbt
index 797122ce..db03fb06 100644
--- a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/project/plugins.sbt
+++ b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/project/plugins.sbt
@@ -1,5 +1,5 @@
sys.props.get("plugin.version") match {
- case Some(x) => addSbtPlugin("org.virtuslab.ash" % "sbt-akka-serialization-helper" % x)
+ case Some(x) => addSbtPlugin("org.virtuslab.psh" % "sbt-pekko-serialization-helper" % x)
case _ =>
sys.error("""|The system property 'plugin.version' is not defined.
|Specify this property using "-Dplugin.version=..." in `scriptedLaunchOpts` sbt setting""".stripMargin)
diff --git a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/test b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/test
similarity index 100%
rename from sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/test
rename to sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/dependencies/test
diff --git a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/build.sbt b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/build.sbt
similarity index 77%
rename from sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/build.sbt
rename to sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/build.sbt
index a31ac1b9..7b9c41c4 100644
--- a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/build.sbt
+++ b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/build.sbt
@@ -4,11 +4,11 @@ lazy val scala212 = "2.12.14"
name := "simple-dump"
version := "0.1"
scalaVersion := scala213
-val akkaVersion = "2.6.20"
-libraryDependencies += "com.typesafe.akka" %% "akka-persistence-typed" % akkaVersion
+val pekkoVersion = "1.0.1"
+libraryDependencies += "org.apache.pekko" %% "pekko-persistence-typed" % pekkoVersion
crossScalaVersions := Seq(scala213, scala212)
-enablePlugins(AkkaSerializationHelperPlugin)
+enablePlugins(PekkoSerializationHelperPlugin)
ashCompilerPluginCacheDirectory := crossTarget.value
ashDumpPersistenceSchema / ashDumpPersistenceSchemaOutputDirectoryPath := crossTarget.value.getPath
ashDumpPersistenceSchema / ashDumpPersistenceSchemaOutputFilename := "dump.yaml"
diff --git a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/project/build.properties b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/project/build.properties
similarity index 100%
rename from sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/project/build.properties
rename to sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/project/build.properties
diff --git a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/project/plugins.sbt b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/project/plugins.sbt
similarity index 72%
rename from sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/project/plugins.sbt
rename to sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/project/plugins.sbt
index 797122ce..db03fb06 100644
--- a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/project/plugins.sbt
+++ b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/project/plugins.sbt
@@ -1,5 +1,5 @@
sys.props.get("plugin.version") match {
- case Some(x) => addSbtPlugin("org.virtuslab.ash" % "sbt-akka-serialization-helper" % x)
+ case Some(x) => addSbtPlugin("org.virtuslab.psh" % "sbt-pekko-serialization-helper" % x)
case _ =>
sys.error("""|The system property 'plugin.version' is not defined.
|Specify this property using "-Dplugin.version=..." in `scriptedLaunchOpts` sbt setting""".stripMargin)
diff --git a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/src/main/scala/Data.scala b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/src/main/scala/Data.scala
similarity index 100%
rename from sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/src/main/scala/Data.scala
rename to sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/src/main/scala/Data.scala
diff --git a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/src/main/scala/Triggers.scala b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/src/main/scala/Triggers.scala
similarity index 77%
rename from sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/src/main/scala/Triggers.scala
rename to sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/src/main/scala/Triggers.scala
index 28c7c130..49740b60 100644
--- a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/src/main/scala/Triggers.scala
+++ b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/src/main/scala/Triggers.scala
@@ -1,4 +1,4 @@
-import akka.persistence.typed.scaladsl.Effect
+import org.apache.pekko.persistence.typed.scaladsl.Effect
import scala.annotation.StaticAnnotation
diff --git a/sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/test b/sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/test
similarity index 100%
rename from sbt-akka-serialization-helper/src/sbt-test/sbt-dumpschema/simple/test
rename to sbt-pekko-serialization-helper/src/sbt-test/sbt-dumpschema/simple/test
diff --git a/sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.AdditionalData.json b/sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.AdditionalData.json
similarity index 100%
rename from sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.AdditionalData.json
rename to sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.AdditionalData.json
diff --git a/sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.ClassTest.json b/sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.ClassTest.json
similarity index 100%
rename from sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.ClassTest.json
rename to sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.ClassTest.json
diff --git a/sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.ClassWithAdditionData.json b/sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.ClassWithAdditionData.json
similarity index 100%
rename from sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.ClassWithAdditionData.json
rename to sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.ClassWithAdditionData.json
diff --git a/sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeepTrait.json b/sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeepTrait.json
similarity index 100%
rename from sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeepTrait.json
rename to sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeepTrait.json
diff --git a/sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeeperTrait.json b/sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeeperTrait.json
similarity index 100%
rename from sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeeperTrait.json
rename to sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeeperTrait.json
diff --git a/sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeepestClass.json b/sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeepestClass.json
similarity index 100%
rename from sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeepestClass.json
rename to sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.DeepestClass.json
diff --git a/sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.GenericsTest.json b/sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.GenericsTest.json
similarity index 100%
rename from sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.GenericsTest.json
rename to sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.GenericsTest.json
diff --git a/sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.TraitWithAnnotation.json b/sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.TraitWithAnnotation.json
similarity index 100%
rename from sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.TraitWithAnnotation.json
rename to sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.TraitWithAnnotation.json
diff --git a/sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.json b/sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.json
similarity index 100%
rename from sbt-akka-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.json
rename to sbt-pekko-serialization-helper/src/test/resources/example-jsons/org.random.project.Data.json
diff --git a/sbt-akka-serialization-helper/src/test/resources/target.yaml b/sbt-pekko-serialization-helper/src/test/resources/target.yaml
similarity index 100%
rename from sbt-akka-serialization-helper/src/test/resources/target.yaml
rename to sbt-pekko-serialization-helper/src/test/resources/target.yaml
diff --git a/sbt-akka-serialization-helper/src/test/scala/org/virtuslab/ash/DumpPersistenceSchemaSpec.scala b/sbt-pekko-serialization-helper/src/test/scala/org/virtuslab/psh/DumpPersistenceSchemaSpec.scala
similarity index 95%
rename from sbt-akka-serialization-helper/src/test/scala/org/virtuslab/ash/DumpPersistenceSchemaSpec.scala
rename to sbt-pekko-serialization-helper/src/test/scala/org/virtuslab/psh/DumpPersistenceSchemaSpec.scala
index f9c37456..f8c7f381 100644
--- a/sbt-akka-serialization-helper/src/test/scala/org/virtuslab/ash/DumpPersistenceSchemaSpec.scala
+++ b/sbt-pekko-serialization-helper/src/test/scala/org/virtuslab/psh/DumpPersistenceSchemaSpec.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import better.files.File
import org.scalatest.flatspec.AnyFlatSpecLike
diff --git a/scripts/format-code b/scripts/format-code
index d8db424e..ddde120e 100755
--- a/scripts/format-code
+++ b/scripts/format-code
@@ -7,8 +7,8 @@ sbt scalafmtAll scalafixAll scalafmtSbt
cd examples/event-migration
sbt scalafmtAll scalafixAll scalafmtSbt
-cd ../akka-cluster-app
+cd ../pekko-cluster-app
sbt scalafmtAll scalafixAll scalafmtSbt
-cd ../akka-persistence-app
+cd ../pekko-persistence-app
sbt scalafmtAll scalafixAll scalafmtSbt
diff --git a/scripts/substitute-sbt-plugin-snapshot-version b/scripts/substitute-sbt-plugin-snapshot-version
index 13c6c90b..7ab75f45 100755
--- a/scripts/substitute-sbt-plugin-snapshot-version
+++ b/scripts/substitute-sbt-plugin-snapshot-version
@@ -4,10 +4,10 @@ set -e -o pipefail -u
sbt publishLocal
-version=$(ls -1t ~/.ivy2/local/org.virtuslab.ash/sbt-akka-serialization-helper/scala_2.12/sbt_1.0/ | head -1)
+version=$(ls -1t ~/.ivy2/local/org.virtuslab.psh/sbt-pekko-serialization-helper/scala_2.12/sbt_1.0/ | head -1)
# Version can be more elegantly extracted using:
# sbt -Dsbt.supershell=false -error "print sbtPekkoSerializationHelper/version"
# but the problem is that snapshot versions include minute-resolution timestamp,
# which is likely to change from the preceding `sbt publishLocal`.
-find . -type f | grep '\.sbt$' | xargs sed -E 's/("sbt-akka-serialization-helper") % ".*"/\1 % "'"$version"'"/' -i
+find . -type f | grep '\.sbt$' | xargs sed -E 's/("sbt-pekko-serialization-helper") % ".*"/\1 % "'"$version"'"/' -i
diff --git a/serializability-checker-compiler-plugin/src/main/resources/scalac-plugin.xml b/serializability-checker-compiler-plugin/src/main/resources/scalac-plugin.xml
index 5867f3d4..da11d414 100644
--- a/serializability-checker-compiler-plugin/src/main/resources/scalac-plugin.xml
+++ b/serializability-checker-compiler-plugin/src/main/resources/scalac-plugin.xml
@@ -1,4 +1,4 @@
serializability-checker-plugin
- org.virtuslab.ash.SerializabilityCheckerCompilerPlugin
+ org.virtuslab.psh.SerializabilityCheckerCompilerPlugin
diff --git a/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/ClassType.scala b/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/ClassType.scala
similarity index 93%
rename from serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/ClassType.scala
rename to serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/ClassType.scala
index 13c276a5..47a1a37e 100644
--- a/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/ClassType.scala
+++ b/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/ClassType.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
sealed trait ClassType {
val name: String
diff --git a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/CrossVersionReporter.scala b/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CrossVersionReporter.scala
similarity index 96%
rename from dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/CrossVersionReporter.scala
rename to serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CrossVersionReporter.scala
index 46502519..b9e326ad 100644
--- a/dump-persistence-schema-compiler-plugin/src/main/scala/org/virtuslab/ash/CrossVersionReporter.scala
+++ b/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/CrossVersionReporter.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import scala.tools.nsc.Global
import scala.tools.nsc.reporters.Reporter
diff --git a/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializabilityCheckerCompilerPlugin.scala b/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializabilityCheckerCompilerPlugin.scala
similarity index 84%
rename from serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializabilityCheckerCompilerPlugin.scala
rename to serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializabilityCheckerCompilerPlugin.scala
index 39604002..e9dc24ef 100644
--- a/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializabilityCheckerCompilerPlugin.scala
+++ b/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializabilityCheckerCompilerPlugin.scala
@@ -1,15 +1,15 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import scala.tools.nsc.Global
import scala.tools.nsc.plugins.Plugin
import scala.tools.nsc.plugins.PluginComponent
-import org.virtuslab.ash.SerializabilityCheckerCompilerPlugin.Flags._
+import org.virtuslab.psh.SerializabilityCheckerCompilerPlugin.Flags._
class SerializabilityCheckerCompilerPlugin(override val global: Global) extends Plugin {
override val name: String = "serializability-checker-plugin"
override val description: String =
- """checks whether a specified Akka serialization is applied to all messages, events and persistent state classes"""
+ """checks whether a specified Pekko serialization is applied to all messages, events and persistent state classes"""
// Placeholder options
private val pluginOptions = new SerializabilityCheckerOptions()
@@ -36,10 +36,10 @@ class SerializabilityCheckerCompilerPlugin(override val global: Global) extends
override val optionsHelp: Option[String] = Some(s"""
|$verbose - print additional info about detected serializability traits and serializable classes
- |$disableGenerics - disables detection of messages/events/state based on their usage as a type param of certain classes, e.g. akka.actor.typed.Behavior or akka.persistence.typed.scaladsl.Effect
- |$disableGenericMethods - disables detection of messages/events/state based on their usage as generic argument to a method, e.g. akka.actor.typed.scaladsl.ActorContext.ask
- |$disableMethods - disables detection of messages/events/state based on type of arguments to a method, e.g. akka.actor.typed.ActorRef.tell
- |$disableMethodsUntyped - disables detection of messages/events/state based on type of arguments to a method that takes Any, used for Akka Classic
+ |$disableGenerics - disables detection of messages/events/state based on their usage as a type param of certain classes, e.g. org.apache.pekko.actor.typed.Behavior or org.apache.pekko.persistence.typed.scaladsl.Effect
+ |$disableGenericMethods - disables detection of messages/events/state based on their usage as generic argument to a method, e.g. org.apache.pekko.actor.typed.scaladsl.ActorContext.ask
+ |$disableMethods - disables detection of messages/events/state based on type of arguments to a method, e.g. org.apache.pekko.actor.typed.ActorRef.tell
+ |$disableMethodsUntyped - disables detection of messages/events/state based on type of arguments to a method that takes Any, used for Pekko Classic
|$disableHigherOrderFunctions - disables detection of messages/events/state based on return type of the function given as argument to method
|$typesExplicitlyMarkedAsSerializable - comma-separated list of fully-qualified names of types that should be considered serializable by this checker, even if they do NOT extend a designated serializability trait
|""".stripMargin)
@@ -56,5 +56,5 @@ object SerializabilityCheckerCompilerPlugin {
val disableHigherOrderFunctions = "--disable-detection-higher-order-function"
val typesExplicitlyMarkedAsSerializable = "--types-explicitly-marked-as-serializable="
}
- val serializabilityTraitType = "org.virtuslab.ash.annotation.SerializabilityTrait"
+ val serializabilityTraitType = "org.virtuslab.psh.annotation.SerializabilityTrait"
}
diff --git a/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializabilityCheckerCompilerPluginComponent.scala b/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializabilityCheckerCompilerPluginComponent.scala
similarity index 69%
rename from serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializabilityCheckerCompilerPluginComponent.scala
rename to serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializabilityCheckerCompilerPluginComponent.scala
index 2fda54b9..2f54ec13 100644
--- a/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializabilityCheckerCompilerPluginComponent.scala
+++ b/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializabilityCheckerCompilerPluginComponent.scala
@@ -1,10 +1,10 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import scala.tools.nsc.Global
import scala.tools.nsc.Phase
import scala.tools.nsc.plugins.PluginComponent
-import org.virtuslab.ash.SerializabilityCheckerCompilerPlugin.serializabilityTraitType
+import org.virtuslab.psh.SerializabilityCheckerCompilerPlugin.serializabilityTraitType
class SerializabilityCheckerCompilerPluginComponent(
val pluginOptions: SerializabilityCheckerOptions,
@@ -23,7 +23,7 @@ class SerializabilityCheckerCompilerPluginComponent(
override def newPhase(prev: Phase): Phase =
new StdPhase(prev) {
- private val akkaSerializabilityTraits = Seq(
+ private val pekkoSerializabilityTraits = Seq(
"com.google.protobuf.GeneratedMessage",
"com.google.protobuf.GeneratedMessageV3",
"com.typesafe.config.Config",
@@ -45,49 +45,56 @@ class SerializabilityCheckerCompilerPluginComponent(
"scala.Nothing",
"scala.Null")
- private val ignoredTypePrefixes = List("akka.")
+ private val ignoredTypePrefixes = List("org.apache.pekko.")
private val genericsToTypes: Map[String, Seq[ClassType]] = Map(
- "akka.actor.typed.ActorSystem" -> Seq(ClassType.Message),
- "akka.actor.typed.ActorRef" -> Seq(ClassType.Message),
- "akka.actor.typed.Behavior" -> Seq(ClassType.Message),
- "akka.actor.typed.RecipientRef" -> Seq(ClassType.Message),
- "akka.pattern.PipeToSupport.PipeableFuture" -> Seq(ClassType.Message),
- "akka.pattern.PipeToSupport.PipeableCompletionStage" -> Seq(ClassType.Message),
- "akka.persistence.typed.scaladsl.ReplyEffect" -> Seq(ClassType.PersistentEvent, ClassType.PersistentState),
- "akka.persistence.typed.scaladsl.Effect" -> Seq(ClassType.PersistentEvent),
- "akka.persistence.typed.scaladsl.EffectBuilder" -> Seq(ClassType.PersistentEvent),
- "akka.projection.eventsourced.EventEnvelope" -> Seq(ClassType.PersistentEvent, ClassType.PersistentState))
+ "org.apache.pekko.actor.typed.ActorSystem" -> Seq(ClassType.Message),
+ "org.apache.pekko.actor.typed.ActorRef" -> Seq(ClassType.Message),
+ "org.apache.pekko.actor.typed.Behavior" -> Seq(ClassType.Message),
+ "org.apache.pekko.actor.typed.RecipientRef" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.PipeToSupport.PipeableFuture" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.PipeToSupport.PipeableCompletionStage" -> Seq(ClassType.Message),
+ "org.apache.pekko.persistence.typed.scaladsl.ReplyEffect" -> Seq(
+ ClassType.PersistentEvent,
+ ClassType.PersistentState),
+ "org.apache.pekko.persistence.typed.scaladsl.Effect" -> Seq(ClassType.PersistentEvent),
+ "org.apache.pekko.persistence.typed.scaladsl.EffectBuilder" -> Seq(ClassType.PersistentEvent),
+ "org.apache.pekko.projection.eventsourced.EventEnvelope" -> Seq(
+ ClassType.PersistentEvent,
+ ClassType.PersistentState))
private val genericMethodsToTypes: Map[String, Seq[ClassType]] = Map(
- "akka.actor.typed.scaladsl.ActorContext.ask" -> Seq(ClassType.Message, ClassType.Message),
- "akka.actor.typed.scaladsl.AskPattern.Askable.$qmark" -> Seq(ClassType.Message),
- "akka.pattern.PipeToSupport.pipe" -> Seq(ClassType.Message),
- "akka.pattern.PipeToSupport.pipeCompletionStage" -> Seq(ClassType.Message))
+ "org.apache.pekko.actor.typed.scaladsl.ActorContext.ask" -> Seq(ClassType.Message, ClassType.Message),
+ "org.apache.pekko.actor.typed.scaladsl.AskPattern.Askable.$qmark" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.PipeToSupport.pipe" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.PipeToSupport.pipeCompletionStage" -> Seq(ClassType.Message))
private val concreteMethodsToTypes: Map[String, Seq[ClassType]] = Map(
- "akka.actor.typed.ActorRef.ActorRefOps.$bang" -> Seq(ClassType.Message),
- "akka.actor.typed.ActorRef.tell" -> Seq(ClassType.Message),
- "akka.actor.typed.RecipientRef.tell" -> Seq(ClassType.Message))
+ "org.apache.pekko.actor.typed.ActorRef.ActorRefOps.$bang" -> Seq(ClassType.Message),
+ "org.apache.pekko.actor.typed.ActorRef.tell" -> Seq(ClassType.Message),
+ "org.apache.pekko.actor.typed.RecipientRef.tell" -> Seq(ClassType.Message))
private val concreteUntypedMethodsToTypes: Map[String, Seq[ClassType]] = Map(
- "akka.actor.ActorRef.tell" -> Seq(ClassType.Message, ClassType.Ignore),
- "akka.actor.ActorRef.$bang" -> Seq(ClassType.Message),
- "akka.actor.ActorRef.forward" -> Seq(ClassType.Message),
- "akka.pattern.AskSupport.ask" -> Seq(ClassType.Ignore, ClassType.Message, ClassType.Ignore),
- "akka.pattern.AskSupport.askWithStatus" -> Seq(ClassType.Ignore, ClassType.Message, ClassType.Ignore),
- "akka.pattern.AskableActorRef.ask" -> Seq(ClassType.Message),
- "akka.pattern.AskableActorRef.askWithStatus" -> Seq(ClassType.Message),
- "akka.pattern.AskableActorRef.$qmark" -> Seq(ClassType.Message),
- "akka.pattern.AskableActorSelection.ask" -> Seq(ClassType.Message),
- "akka.pattern.AskableActorSelection.$qmark" -> Seq(ClassType.Message),
- "akka.pattern.ExplicitAskSupport.ask" -> Seq(ClassType.Ignore, ClassType.Message, ClassType.Ignore))
+ "org.apache.pekko.actor.ActorRef.tell" -> Seq(ClassType.Message, ClassType.Ignore),
+ "org.apache.pekko.actor.ActorRef.$bang" -> Seq(ClassType.Message),
+ "org.apache.pekko.actor.ActorRef.forward" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.AskSupport.ask" -> Seq(ClassType.Ignore, ClassType.Message, ClassType.Ignore),
+ "org.apache.pekko.pattern.AskSupport.askWithStatus" -> Seq(
+ ClassType.Ignore,
+ ClassType.Message,
+ ClassType.Ignore),
+ "org.apache.pekko.pattern.AskableActorRef.ask" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.AskableActorRef.askWithStatus" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.AskableActorRef.$qmark" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.AskableActorSelection.ask" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.AskableActorSelection.$qmark" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.ExplicitAskSupport.ask" -> Seq(ClassType.Ignore, ClassType.Message, ClassType.Ignore))
private val concreteHigherOrderFunctionsToTypes: Map[String, Seq[ClassType]] = Map(
- "akka.pattern.ExplicitlyAskableActorRef.ask" -> Seq(ClassType.Message),
- "akka.pattern.ExplicitlyAskableActorRef.$qmark" -> Seq(ClassType.Message),
- "akka.pattern.ExplicitlyAskableActorSelection.ask" -> Seq(ClassType.Message),
- "akka.pattern.ExplicitlyAskableActorSelection.$qmark" -> Seq(ClassType.Message))
+ "org.apache.pekko.pattern.ExplicitlyAskableActorRef.ask" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.ExplicitlyAskableActorRef.$qmark" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.ExplicitlyAskableActorSelection.ask" -> Seq(ClassType.Message),
+ "org.apache.pekko.pattern.ExplicitlyAskableActorSelection.$qmark" -> Seq(ClassType.Message))
private val combinedMap: Map[String, Seq[ClassType]] =
genericsToTypes ++ genericMethodsToTypes ++ concreteMethodsToTypes ++ concreteUntypedMethodsToTypes ++ concreteHigherOrderFunctionsToTypes
@@ -169,9 +176,9 @@ class SerializabilityCheckerCompilerPluginComponent(
reporter.error(
detectedPosition,
s"""${typeWithClassType.typ
- .toString()} is used as Akka ${typeWithClassType.classType.name} but does not extend a trait annotated with $serializabilityTraitType.
+ .toString()} is used as Pekko ${typeWithClassType.classType.name} but does not extend a trait annotated with $serializabilityTraitType.
|Passing an object of a class that does NOT extend a trait annotated with $serializabilityTraitType as a ${typeWithClassType.classType.name}
- |may cause Akka to fall back to Java serialization during runtime.
+ |may cause Pekko to fall back to Java serialization during runtime.
|
|""".stripMargin)
reporter.error(
@@ -190,7 +197,7 @@ class SerializabilityCheckerCompilerPluginComponent(
None
else if (tp.typeSymbol.annotations.exists(_.atp.toString() == serializabilityTraitType))
Some(tp)
- else if (akkaSerializabilityTraits.contains(tp.typeSymbol.fullName))
+ else if (pekkoSerializabilityTraits.contains(tp.typeSymbol.fullName))
Some(tp)
else if (pluginOptions.typesExplicitlyMarkedAsSerializable.contains(tp.typeSymbol.fullName))
Some(tp)
diff --git a/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializabilityCheckerOptions.scala b/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializabilityCheckerOptions.scala
similarity index 96%
rename from serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializabilityCheckerOptions.scala
rename to serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializabilityCheckerOptions.scala
index fe802f30..b1ee1f61 100644
--- a/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/ash/SerializabilityCheckerOptions.scala
+++ b/serializability-checker-compiler-plugin/src/main/scala/org/virtuslab/psh/SerializabilityCheckerOptions.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
/**
* Scalac forces us to be stateful. PluginComponents must be created during constructor call and plugin receives options
diff --git a/serializability-checker-compiler-plugin/src/test/resources/AkkaSerializabilityTraitsTest.scala b/serializability-checker-compiler-plugin/src/test/resources/AkkaSerializabilityTraitsTest.scala
deleted file mode 100644
index bcb9d3c8..00000000
--- a/serializability-checker-compiler-plugin/src/test/resources/AkkaSerializabilityTraitsTest.scala
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.random.project
-
-import akka.actor.typed.Behavior
-import org.virtuslab.ash.annotation.SerializabilityTrait
-
-object AkkaSerializabilityTraitsTest {
- def method(): Behavior[RuntimeException] = ???
-
- def method2(): Behavior[Int] = ???
-}
diff --git a/serializability-checker-compiler-plugin/src/test/resources/AkkaWhitelistTest.scala b/serializability-checker-compiler-plugin/src/test/resources/AkkaWhitelistTest.scala
deleted file mode 100644
index 02599f94..00000000
--- a/serializability-checker-compiler-plugin/src/test/resources/AkkaWhitelistTest.scala
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.random.project
-
-import akka.actor.typed.ActorSystem
-import akka.persistence.query.Offset
-import akka.projection.eventsourced.EventEnvelope
-import akka.projection.eventsourced.scaladsl.EventSourcedProvider
-import akka.projection.scaladsl.SourceProvider
-import akka.persistence.typed.scaladsl.ReplyEffect
-import akka.actor.typed.Behavior
-import akka.NotUsed
-
-object AkkaWhitelistTest {
- def test: EventEnvelope[NotUsed] = ???
-}
diff --git a/serializability-checker-compiler-plugin/src/test/resources/AnyNothingTest.scala b/serializability-checker-compiler-plugin/src/test/resources/AnyNothingTest.scala
index 1b11ab4f..a5eff366 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/AnyNothingTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/AnyNothingTest.scala
@@ -1,7 +1,7 @@
package org.random.project
-import akka.actor.typed.ActorSystem
-import akka.actor.typed.Behavior
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.actor.typed.Behavior
object AnyNothingTest {
val one: ActorSystem[Any] = ???
diff --git a/serializability-checker-compiler-plugin/src/test/resources/AskClassicTest.scala b/serializability-checker-compiler-plugin/src/test/resources/AskClassicTest.scala
index 9937a505..da3f0adb 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/AskClassicTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/AskClassicTest.scala
@@ -1,8 +1,8 @@
package org.random.project
-import akka.actor.ActorRef
-import akka.pattern._
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.ActorRef
+import org.apache.pekko.pattern._
+import org.virtuslab.psh.annotation.SerializabilityTrait
object AskClassicTest {
final case class Msg() extends MySerializable
diff --git a/serializability-checker-compiler-plugin/src/test/resources/AskHigherOrderClassicTest.scala b/serializability-checker-compiler-plugin/src/test/resources/AskHigherOrderClassicTest.scala
index ba8a04fc..7372776c 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/AskHigherOrderClassicTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/AskHigherOrderClassicTest.scala
@@ -1,8 +1,8 @@
package org.random.project
-import akka.actor.ActorRef
-import akka.pattern.ExplicitAskSupport
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.ActorRef
+import org.apache.pekko.pattern.ExplicitAskSupport
+import org.virtuslab.psh.annotation.SerializabilityTrait
object AskHigherOrderClassicTest extends ExplicitAskSupport {
final case class Msg(ref: ActorRef) extends MySerializable
diff --git a/serializability-checker-compiler-plugin/src/test/resources/AskRecipientRefTest.scala b/serializability-checker-compiler-plugin/src/test/resources/AskRecipientRefTest.scala
index b4f38796..a6b97cd1 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/AskRecipientRefTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/AskRecipientRefTest.scala
@@ -1,9 +1,9 @@
package org.random.project
-import akka.actor.typed.scaladsl.Behaviors
-import akka.actor.typed.{Behavior, RecipientRef}
-import akka.util.Timeout
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.typed.scaladsl.Behaviors
+import org.apache.pekko.actor.typed.{Behavior, RecipientRef}
+import org.apache.pekko.util.Timeout
+import org.virtuslab.psh.annotation.SerializabilityTrait
import scala.concurrent.duration.DurationInt
import scala.util.{Failure, Success}
diff --git a/serializability-checker-compiler-plugin/src/test/resources/AskSignClassicTest.scala b/serializability-checker-compiler-plugin/src/test/resources/AskSignClassicTest.scala
index 25ebc713..5f7a1d16 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/AskSignClassicTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/AskSignClassicTest.scala
@@ -1,9 +1,9 @@
package org.random.project
-import akka.actor.ActorRef
-import akka.pattern._
-import akka.util.Timeout
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.ActorRef
+import org.apache.pekko.pattern._
+import org.apache.pekko.util.Timeout
+import org.virtuslab.psh.annotation.SerializabilityTrait
object AskSignClassicTest {
final case class Msg() extends MySerializable
diff --git a/serializability-checker-compiler-plugin/src/test/resources/AskSignTest.scala b/serializability-checker-compiler-plugin/src/test/resources/AskSignTest.scala
index d4fee8a0..b7c1d808 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/AskSignTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/AskSignTest.scala
@@ -1,10 +1,10 @@
package org.random.project
-import akka.actor.typed.scaladsl.Behaviors
-import akka.actor.typed.{ActorRef, ActorSystem, Behavior}
-import akka.util.Timeout
-import akka.actor.typed.scaladsl.AskPattern._
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.typed.scaladsl.Behaviors
+import org.apache.pekko.actor.typed.{ActorRef, ActorSystem, Behavior}
+import org.apache.pekko.util.Timeout
+import org.apache.pekko.actor.typed.scaladsl.AskPattern._
+import org.virtuslab.psh.annotation.SerializabilityTrait
import scala.concurrent.duration.DurationInt
import scala.util.{Failure, Success}
diff --git a/serializability-checker-compiler-plugin/src/test/resources/AskTest.scala b/serializability-checker-compiler-plugin/src/test/resources/AskTest.scala
index 736ba2b3..bf857a8e 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/AskTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/AskTest.scala
@@ -1,9 +1,9 @@
package org.random.project
-import akka.actor.typed.scaladsl.Behaviors
-import akka.actor.typed.{ActorRef, Behavior}
-import akka.util.Timeout
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.typed.scaladsl.Behaviors
+import org.apache.pekko.actor.typed.{ActorRef, Behavior}
+import org.apache.pekko.util.Timeout
+import org.virtuslab.psh.annotation.SerializabilityTrait
import scala.concurrent.duration.DurationInt
import scala.util.{Failure, Success}
diff --git a/serializability-checker-compiler-plugin/src/test/resources/BehaviorTest.scala b/serializability-checker-compiler-plugin/src/test/resources/BehaviorTest.scala
index 7b7049ed..90bb569e 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/BehaviorTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/BehaviorTest.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.actor.typed.Behavior
+import org.apache.pekko.actor.typed.Behavior
object BehaviorTest {
sealed trait Command extends MySerializable
diff --git a/serializability-checker-compiler-plugin/src/test/resources/EffectTest.scala b/serializability-checker-compiler-plugin/src/test/resources/EffectTest.scala
index 47233c68..a1a86650 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/EffectTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/EffectTest.scala
@@ -1,13 +1,13 @@
package org.random.project
-import akka.actor.typed.ActorSystem
-import akka.persistence.query.Offset
-import akka.projection.eventsourced.EventEnvelope
-import akka.projection.eventsourced.scaladsl.EventSourcedProvider
-import akka.projection.scaladsl.SourceProvider
-import akka.persistence.typed.scaladsl.Effect
-import akka.actor.typed.Behavior
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.persistence.query.Offset
+import org.apache.pekko.projection.eventsourced.EventEnvelope
+import org.apache.pekko.projection.eventsourced.scaladsl.EventSourcedProvider
+import org.apache.pekko.projection.scaladsl.SourceProvider
+import org.apache.pekko.persistence.typed.scaladsl.Effect
+import org.apache.pekko.actor.typed.Behavior
+import org.virtuslab.psh.annotation.SerializabilityTrait
object EffectTest {
diff --git a/serializability-checker-compiler-plugin/src/test/resources/EventEnvelopeTest.scala b/serializability-checker-compiler-plugin/src/test/resources/EventEnvelopeTest.scala
index a7b49493..5f4b575b 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/EventEnvelopeTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/EventEnvelopeTest.scala
@@ -1,12 +1,12 @@
package org.random.project
-import akka.actor.typed.ActorSystem
-import akka.persistence.query.Offset
-import akka.projection.eventsourced.EventEnvelope
-import akka.projection.eventsourced.scaladsl.EventSourcedProvider
-import akka.projection.scaladsl.SourceProvider
-import akka.persistence.typed.scaladsl.ReplyEffect
-import akka.actor.typed.Behavior
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.persistence.query.Offset
+import org.apache.pekko.projection.eventsourced.EventEnvelope
+import org.apache.pekko.projection.eventsourced.scaladsl.EventSourcedProvider
+import org.apache.pekko.projection.scaladsl.SourceProvider
+import org.apache.pekko.persistence.typed.scaladsl.ReplyEffect
+import org.apache.pekko.actor.typed.Behavior
object EventEnvelopeTest {
trait Command extends MySerializable
diff --git a/serializability-checker-compiler-plugin/src/test/resources/GenericsTest.scala b/serializability-checker-compiler-plugin/src/test/resources/GenericsTest.scala
index ad832e99..993246a9 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/GenericsTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/GenericsTest.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.actor.typed.Behavior
+import org.apache.pekko.actor.typed.Behavior
class GenericsTest[A <: MySerializable] {
def method(msg: A): Behavior[A] = ???
diff --git a/serializability-checker-compiler-plugin/src/test/resources/GenericsTest2.scala b/serializability-checker-compiler-plugin/src/test/resources/GenericsTest2.scala
index 43a69f93..4f289b7a 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/GenericsTest2.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/GenericsTest2.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.actor.typed.{ActorRef, ActorSystem, Behavior}
+import org.apache.pekko.actor.typed.{ActorRef, ActorSystem, Behavior}
object GenericsTest2 {
def init[T](system: ActorSystem[_], behavior: Behavior[T], name: String): ActorRef[T] = ???
diff --git a/serializability-checker-compiler-plugin/src/test/resources/GenericsTest3.scala b/serializability-checker-compiler-plugin/src/test/resources/GenericsTest3.scala
index b84d6bf9..6b13d042 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/GenericsTest3.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/GenericsTest3.scala
@@ -1,8 +1,8 @@
package org.random.project
-import akka.actor.typed.ActorSystem
-import akka.grpc.scaladsl.WebHandler
-import akka.http.scaladsl.model.{HttpRequest, HttpResponse}
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.grpc.scaladsl.WebHandler
+import org.apache.pekko.http.scaladsl.model.{HttpRequest, HttpResponse}
import scala.concurrent.Future
diff --git a/serializability-checker-compiler-plugin/src/test/resources/MySerializableYes.scala b/serializability-checker-compiler-plugin/src/test/resources/MySerializableYes.scala
index 30a89d31..9b257edb 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/MySerializableYes.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/MySerializableYes.scala
@@ -1,6 +1,6 @@
package org.random.project
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.virtuslab.psh.annotation.SerializabilityTrait
@SerializabilityTrait
trait MySerializable
diff --git a/serializability-checker-compiler-plugin/src/test/resources/PekkoSerializabilityTraitsTest.scala b/serializability-checker-compiler-plugin/src/test/resources/PekkoSerializabilityTraitsTest.scala
new file mode 100644
index 00000000..5d014a3f
--- /dev/null
+++ b/serializability-checker-compiler-plugin/src/test/resources/PekkoSerializabilityTraitsTest.scala
@@ -0,0 +1,10 @@
+package org.random.project
+
+import org.apache.pekko.actor.typed.Behavior
+import org.virtuslab.psh.annotation.SerializabilityTrait
+
+object PekkoSerializabilityTraitsTest {
+ def method(): Behavior[RuntimeException] = ???
+
+ def method2(): Behavior[Int] = ???
+}
diff --git a/serializability-checker-compiler-plugin/src/test/resources/PekkoWhitelistTest.scala b/serializability-checker-compiler-plugin/src/test/resources/PekkoWhitelistTest.scala
new file mode 100644
index 00000000..752801a3
--- /dev/null
+++ b/serializability-checker-compiler-plugin/src/test/resources/PekkoWhitelistTest.scala
@@ -0,0 +1,14 @@
+package org.random.project
+
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.persistence.query.Offset
+import org.apache.pekko.projection.eventsourced.EventEnvelope
+import org.apache.pekko.projection.eventsourced.scaladsl.EventSourcedProvider
+import org.apache.pekko.projection.scaladsl.SourceProvider
+import org.apache.pekko.persistence.typed.scaladsl.ReplyEffect
+import org.apache.pekko.actor.typed.Behavior
+import org.apache.pekko.NotUsed
+
+object PekkoWhitelistTest {
+ def test: EventEnvelope[NotUsed] = ???
+}
diff --git a/serializability-checker-compiler-plugin/src/test/resources/PipeTest.scala b/serializability-checker-compiler-plugin/src/test/resources/PipeTest.scala
index 0f49fa06..14ed62dc 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/PipeTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/PipeTest.scala
@@ -1,10 +1,10 @@
package org.random.project
-import akka.actor.typed.Behavior
-import akka.actor.typed.scaladsl.Behaviors
-import akka.pattern.pipe
-import akka.util.Timeout
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.typed.Behavior
+import org.apache.pekko.actor.typed.scaladsl.Behaviors
+import org.apache.pekko.pattern.pipe
+import org.apache.pekko.util.Timeout
+import org.virtuslab.psh.annotation.SerializabilityTrait
import scala.concurrent.duration.DurationInt
import scala.concurrent.{ExecutionContext, Future}
diff --git a/serializability-checker-compiler-plugin/src/test/resources/ReplyEffectTestEvent.scala b/serializability-checker-compiler-plugin/src/test/resources/ReplyEffectTestEvent.scala
index 6c1e82cc..15f9960a 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/ReplyEffectTestEvent.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/ReplyEffectTestEvent.scala
@@ -1,13 +1,13 @@
package org.random.project
-import akka.actor.typed.ActorSystem
-import akka.persistence.query.Offset
-import akka.projection.eventsourced.EventEnvelope
-import akka.projection.eventsourced.scaladsl.EventSourcedProvider
-import akka.projection.scaladsl.SourceProvider
-import akka.persistence.typed.scaladsl.ReplyEffect
-import akka.actor.typed.Behavior
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.persistence.query.Offset
+import org.apache.pekko.projection.eventsourced.EventEnvelope
+import org.apache.pekko.projection.eventsourced.scaladsl.EventSourcedProvider
+import org.apache.pekko.projection.scaladsl.SourceProvider
+import org.apache.pekko.persistence.typed.scaladsl.ReplyEffect
+import org.apache.pekko.actor.typed.Behavior
+import org.virtuslab.psh.annotation.SerializabilityTrait
object ReplyEffectTestEvent {
@SerializabilityTrait
diff --git a/serializability-checker-compiler-plugin/src/test/resources/ReplyEffectTestState.scala b/serializability-checker-compiler-plugin/src/test/resources/ReplyEffectTestState.scala
index b1c9c106..d47ccebd 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/ReplyEffectTestState.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/ReplyEffectTestState.scala
@@ -1,13 +1,13 @@
package org.random.project
-import akka.actor.typed.ActorSystem
-import akka.persistence.query.Offset
-import akka.projection.eventsourced.EventEnvelope
-import akka.projection.eventsourced.scaladsl.EventSourcedProvider
-import akka.projection.scaladsl.SourceProvider
-import akka.persistence.typed.scaladsl.ReplyEffect
-import akka.actor.typed.Behavior
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.typed.ActorSystem
+import org.apache.pekko.persistence.query.Offset
+import org.apache.pekko.projection.eventsourced.EventEnvelope
+import org.apache.pekko.projection.eventsourced.scaladsl.EventSourcedProvider
+import org.apache.pekko.projection.scaladsl.SourceProvider
+import org.apache.pekko.persistence.typed.scaladsl.ReplyEffect
+import org.apache.pekko.actor.typed.Behavior
+import org.virtuslab.psh.annotation.SerializabilityTrait
object ReplyEffectTestState {
@SerializabilityTrait
diff --git a/serializability-checker-compiler-plugin/src/test/resources/TellClassicTest.scala b/serializability-checker-compiler-plugin/src/test/resources/TellClassicTest.scala
index 854ca50b..5058488a 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/TellClassicTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/TellClassicTest.scala
@@ -1,7 +1,7 @@
package org.random.project
-import akka.actor.ActorRef
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.ActorRef
+import org.virtuslab.psh.annotation.SerializabilityTrait
object TellClassicTest {
final case class Msg() extends MySerializable
diff --git a/serializability-checker-compiler-plugin/src/test/resources/TellEitherSeqSetTest.scala b/serializability-checker-compiler-plugin/src/test/resources/TellEitherSeqSetTest.scala
index 8db9b870..3952b8d0 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/TellEitherSeqSetTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/TellEitherSeqSetTest.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.actor.ActorRef
+import org.apache.pekko.actor.ActorRef
object TellEitherSeqSetTest {
diff --git a/serializability-checker-compiler-plugin/src/test/resources/TellEitherTest.scala b/serializability-checker-compiler-plugin/src/test/resources/TellEitherTest.scala
index 2e075a40..b5c00d3d 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/TellEitherTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/TellEitherTest.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.actor.ActorRef
+import org.apache.pekko.actor.ActorRef
object TellEitherTest {
diff --git a/serializability-checker-compiler-plugin/src/test/resources/TellSeqTest.scala b/serializability-checker-compiler-plugin/src/test/resources/TellSeqTest.scala
index 06c2ed07..ab4a8492 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/TellSeqTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/TellSeqTest.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.actor.ActorRef
+import org.apache.pekko.actor.ActorRef
object TellSeqTest {
diff --git a/serializability-checker-compiler-plugin/src/test/resources/TellSetTest.scala b/serializability-checker-compiler-plugin/src/test/resources/TellSetTest.scala
index 5c09e4e8..e26af10a 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/TellSetTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/TellSetTest.scala
@@ -1,6 +1,6 @@
package org.random.project
-import akka.actor.ActorRef
+import org.apache.pekko.actor.ActorRef
object TellSetTest {
diff --git a/serializability-checker-compiler-plugin/src/test/resources/TellSignClassicTest.scala b/serializability-checker-compiler-plugin/src/test/resources/TellSignClassicTest.scala
index 341ef637..f59f51a9 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/TellSignClassicTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/TellSignClassicTest.scala
@@ -1,7 +1,7 @@
package org.random.project
-import akka.actor.ActorRef
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.ActorRef
+import org.virtuslab.psh.annotation.SerializabilityTrait
object TellSignClassicTest {
final case class Msg() extends MySerializable
diff --git a/serializability-checker-compiler-plugin/src/test/resources/TellSignTest.scala b/serializability-checker-compiler-plugin/src/test/resources/TellSignTest.scala
index ebd45762..bf2f00c4 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/TellSignTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/TellSignTest.scala
@@ -1,8 +1,8 @@
package org.random.project
-import akka.actor.typed.ActorRef
-import akka.actor.typed.scaladsl.Behaviors
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.typed.ActorRef
+import org.apache.pekko.actor.typed.scaladsl.Behaviors
+import org.virtuslab.psh.annotation.SerializabilityTrait
object TellSignTest {
@SerializabilityTrait
diff --git a/serializability-checker-compiler-plugin/src/test/resources/TellTest.scala b/serializability-checker-compiler-plugin/src/test/resources/TellTest.scala
index dd27ccc4..45db6bc5 100644
--- a/serializability-checker-compiler-plugin/src/test/resources/TellTest.scala
+++ b/serializability-checker-compiler-plugin/src/test/resources/TellTest.scala
@@ -1,8 +1,8 @@
package org.random.project
-import akka.actor.typed.ActorRef
-import akka.actor.typed.scaladsl.Behaviors
-import org.virtuslab.ash.annotation.SerializabilityTrait
+import org.apache.pekko.actor.typed.ActorRef
+import org.apache.pekko.actor.typed.scaladsl.Behaviors
+import org.virtuslab.psh.annotation.SerializabilityTrait
object TellTest {
@SerializabilityTrait
diff --git a/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/SerializabilityCheckerCompilerPluginComponentSpec.scala b/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/SerializabilityCheckerCompilerPluginComponentSpec.scala
similarity index 91%
rename from serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/SerializabilityCheckerCompilerPluginComponentSpec.scala
rename to serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/SerializabilityCheckerCompilerPluginComponentSpec.scala
index 3316c399..4682ff90 100644
--- a/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/SerializabilityCheckerCompilerPluginComponentSpec.scala
+++ b/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/SerializabilityCheckerCompilerPluginComponentSpec.scala
@@ -1,11 +1,11 @@
-package org.virtuslab.ash
+package org.virtuslab.psh
import better.files.File
import org.scalatest.matchers.should
import org.scalatest.wordspec.AnyWordSpecLike
-import org.virtuslab.ash.SerializabilityCheckerCompilerPlugin.Flags._
-import org.virtuslab.ash.compiler.SerializabilityCheckerCompiler
+import org.virtuslab.psh.SerializabilityCheckerCompilerPlugin.Flags._
+import org.virtuslab.psh.compiler.SerializabilityCheckerCompiler
class SerializabilityCheckerCompilerPluginComponentSpec extends AnyWordSpecLike with should.Matchers {
private def getResourceAsString(name: String) =
@@ -145,10 +145,10 @@ class SerializabilityCheckerCompilerPluginComponentSpec extends AnyWordSpecLike
}
- "whitelist all Akka types from checks" in {
- val akkaWhitelist = getResourceAsString("AkkaWhitelistTest.scala")
+ "whitelist all Pekko types from checks" in {
+ val pekkoWhitelist = getResourceAsString("PekkoWhitelistTest.scala")
- val out = SerializabilityCheckerCompiler.compileCode(List(serYesCode, akkaWhitelist))
+ val out = SerializabilityCheckerCompiler.compileCode(List(serYesCode, pekkoWhitelist))
out should have size 0
}
@@ -171,8 +171,8 @@ class SerializabilityCheckerCompilerPluginComponentSpec extends AnyWordSpecLike
List(disableGenericMethods, disableMethods, disableMethodsUntyped, disableHigherOrderFunctions))
}
- "respect Akka serializers" in {
- val code = getResourceAsString("AkkaSerializabilityTraitsTest.scala")
+ "respect Pekko serializers" in {
+ val code = getResourceAsString("PekkoSerializabilityTraitsTest.scala")
SerializabilityCheckerCompiler.compileCode(List(serNoCode, code)) should be("")
}
@@ -184,17 +184,17 @@ class SerializabilityCheckerCompilerPluginComponentSpec extends AnyWordSpecLike
"fail on usage of Either as a message" in {
val code = getResourceAsString("TellEitherTest.scala")
SerializabilityCheckerCompiler.compileCode(List(code)) should include(
- "Right[Nothing,String] is used as Akka message")
+ "Right[Nothing,String] is used as Pekko message")
}
"fail on usage of Seq as a message" in {
val code = getResourceAsString("TellSeqTest.scala")
- SerializabilityCheckerCompiler.compileCode(List(code)) should include("Seq[String] is used as Akka message")
+ SerializabilityCheckerCompiler.compileCode(List(code)) should include("Seq[String] is used as Pekko message")
}
"fail on usage of Set as a message" in {
val code = getResourceAsString("TellSetTest.scala")
- SerializabilityCheckerCompiler.compileCode(List(code)) should include("Set[String] is used as Akka message")
+ SerializabilityCheckerCompiler.compileCode(List(code)) should include("Set[String] is used as Pekko message")
}
"not fail on usage of Either as a message when Either is explicitly marked as serializable" in {
@@ -209,9 +209,9 @@ class SerializabilityCheckerCompilerPluginComponentSpec extends AnyWordSpecLike
val output = SerializabilityCheckerCompiler.compileCode(
List(code),
List(typesExplicitlyMarkedAsSerializable + "scala.util.Either,scala.collection.immutable.Set"))
- output should include("Seq[String] is used as Akka message")
- (output should not).include("Right[Nothing,String] is used as Akka message")
- (output should not).include("Set[String] is used as Akka message")
+ output should include("Seq[String] is used as Pekko message")
+ (output should not).include("Right[Nothing,String] is used as Pekko message")
+ (output should not).include("Set[String] is used as Pekko message")
}
}
}
diff --git a/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/compiler/SerializabilityCheckerCompiler.scala b/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/compiler/SerializabilityCheckerCompiler.scala
similarity index 95%
rename from serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/compiler/SerializabilityCheckerCompiler.scala
rename to serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/compiler/SerializabilityCheckerCompiler.scala
index 07938786..e58bc0db 100644
--- a/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/compiler/SerializabilityCheckerCompiler.scala
+++ b/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/compiler/SerializabilityCheckerCompiler.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.compiler
+package org.virtuslab.psh.compiler
import java.io.BufferedReader
import java.io.PrintWriter
@@ -15,7 +15,7 @@ import scala.tools.nsc.io.VirtualDirectory
import scala.tools.nsc.reporters.ConsoleReporter
import scala.tools.nsc.util.ClassPath
-import org.virtuslab.ash.SerializabilityCheckerCompilerPlugin
+import org.virtuslab.psh.SerializabilityCheckerCompilerPlugin
object SerializabilityCheckerCompiler {
def compileCode(code: List[String], args: List[String] = List.empty): String = {
diff --git a/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/compiler/SerializabilityCheckerCompilerSpec.scala b/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/compiler/SerializabilityCheckerCompilerSpec.scala
similarity index 94%
rename from serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/compiler/SerializabilityCheckerCompilerSpec.scala
rename to serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/compiler/SerializabilityCheckerCompilerSpec.scala
index 83d135e1..7e5990d8 100644
--- a/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/ash/compiler/SerializabilityCheckerCompilerSpec.scala
+++ b/serializability-checker-compiler-plugin/src/test/scala/org/virtuslab/psh/compiler/SerializabilityCheckerCompilerSpec.scala
@@ -1,4 +1,4 @@
-package org.virtuslab.ash.compiler
+package org.virtuslab.psh.compiler
import org.scalatest.flatspec.AnyFlatSpecLike
import org.scalatest.matchers.should.Matchers