Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ You can install a pre-commit hook with `bin/hooks.sh`
```
.
├── api | autowire api (rpc server <=> browser)
│ | models for server <=> sbt (akka-remote)
│ | models for server <=> sbt (pekko-remote)
├── balancer | distribute load based on sbt configuration
├── bin | scalfmt runner
├── build.sbt | build definition
Expand All @@ -110,7 +110,7 @@ You can install a pre-commit hook with `bin/hooks.sh`

Scala.js Client run/save/format +-------------------------------------------+
+---------------------+ AutowireApi +---------------------+ +-------------------------------------------+|
| ScastieBackend | (HTTP) | +------------+ | akka+remote +-------------------------------------------+||
| ScastieBackend | (HTTP) | +------------+ | pekko+remote +-------------------------------------------+||
| +--------+ +-----------------> | |LoadBalancer| <------------------+ | SbtActor Sbt(Process) |||
| | | | | +------------+ | | | +----------+ +-----------+ |||
| | | | | | +---> | | <-------> |sbt|scastie| ||+
Expand All @@ -120,7 +120,7 @@ You can install a pre-commit hook with `bin/hooks.sh`
| | | | | |
| | | | | | +-------------------------------------------+
| | | | | SnippetContainer(DB)| +-------------------------------------------+|
| | | | | | akka+remote +-------------------------------------------+||
| | | | | | pekko+remote +-------------------------------------------+||
| | | | <-----------------+ oauth | <-----------+ | ScalaCliActor ScalaCli(Bsp) |||
| +--------+ | SnippetProgress | static ressources | | | +----------+ +-----------+ |||
| | (sse/websocket) +---------------------+ +---> | | <-------> |scala-cli | ||+
Expand Down
2 changes: 1 addition & 1 deletion balancer/src/main/resources/reference.conf
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ org.scastie.balancer {
remote-scli-ports-size = 1
}

akka.actor.warn-about-java-serializer-usage = false
pekko.actor.warn-about-java-serializer-usage = false
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package org.scastie.balancer

import com.typesafe.config.Config
import akka.actor.ActorSelection
import org.apache.pekko.actor.ActorSelection
import org.scastie.api.ActorConnected
import akka.actor.ActorLogging
import akka.actor.Actor
import akka.actor.ActorRef
import org.apache.pekko.actor.ActorLogging
import org.apache.pekko.actor.Actor
import org.apache.pekko.actor.ActorRef
import scala.concurrent.Future
import akka.pattern.ask
import akka.util.Timeout
import org.apache.pekko.pattern.ask
import org.apache.pekko.util.Timeout
import scala.concurrent.duration._
import org.scastie.api.RunnerPing
import scala.collection.concurrent.TrieMap
Expand Down Expand Up @@ -39,7 +39,7 @@ abstract class BaseDispatcher[R, S](config: Config) extends Actor with ActorLogg
runnerName: String,
runnerAddress: SocketAddress,
actorName: String
) = s"akka://$runnerName@${runnerAddress.host}:${runnerAddress.port}/user/$actorName"
) = s"pekko://$runnerName@${runnerAddress.host}:${runnerAddress.port}/user/$actorName"

def connectRunner(path: String): ActorSelection = {
val selection = context.actorSelection(path)
Expand Down
22 changes: 11 additions & 11 deletions balancer/src/main/scala/org/scastie/balancer/DispatchActor.scala
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package org.scastie.balancer

import akka.actor.Actor
import akka.actor.ActorLogging
import akka.actor.ActorRef
import akka.actor.ActorSelection
import akka.actor.OneForOneStrategy
import akka.actor.SupervisorStrategy
import akka.actor.Props
import akka.event
import akka.pattern.ask
import akka.remote.DisassociatedEvent
import akka.util.Timeout
import org.apache.pekko.actor.Actor
import org.apache.pekko.actor.ActorLogging
import org.apache.pekko.actor.ActorRef
import org.apache.pekko.actor.ActorSelection
import org.apache.pekko.actor.OneForOneStrategy
import org.apache.pekko.actor.SupervisorStrategy
import org.apache.pekko.actor.Props
import org.apache.pekko.event
import org.apache.pekko.pattern.ask
import org.apache.pekko.remote.DisassociatedEvent
import org.apache.pekko.util.Timeout
import org.scastie.api._
import org.scastie.storage._
import org.scastie.storage.filesystem._
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.scastie.balancer

import akka.NotUsed
import akka.actor.{Actor, ActorRef}
import akka.stream.scaladsl.Source
import org.apache.pekko.NotUsed
import org.apache.pekko.actor.{Actor, ActorRef}
import org.apache.pekko.stream.scaladsl.Source
import org.scastie.api._
import org.scastie.util.GraphStageForwarder

Expand Down
30 changes: 15 additions & 15 deletions balancer/src/main/scala/org/scastie/balancer/SbtDispatcher.scala
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
package org.scastie.balancer

import akka.event
import akka.actor.Actor
import akka.actor.ActorRef
import org.apache.pekko.event
import org.apache.pekko.actor.Actor
import org.apache.pekko.actor.ActorRef
import com.typesafe.config.Config
import akka.actor.ActorLogging
import org.apache.pekko.actor.ActorLogging
import com.typesafe.config.ConfigFactory
import akka.actor.ActorSelection
import org.apache.pekko.actor.ActorSelection
import org.scastie.api._
import org.scastie.util._
import scala.concurrent.Future
import akka.remote.DisassociatedEvent
import org.apache.pekko.remote.DisassociatedEvent
import java.time.Instant
import scala.concurrent._
import akka.pattern.ask
import org.apache.pekko.pattern.ask

import scala.concurrent.duration._
import java.util.concurrent.Executors
import akka.actor.Address
import akka.actor.ActorSystem
import akka.util.Timeout
import org.apache.pekko.actor.Address
import org.apache.pekko.actor.ActorSystem
import org.apache.pekko.util.Timeout
import java.util.concurrent.atomic.AtomicReference

class SbtDispatcher(config: Config, progressActor: ActorRef, statusActor: ActorRef)
Expand Down Expand Up @@ -118,13 +118,13 @@ class SbtDispatcher(config: Config, progressActor: ActorRef, statusActor: ActorR
case Replay(SbtRun(snippetId, inputs, progressActor, snippetActor)) =>
log.info("Replay: " + inputs.code)

case RunnerConnect(runnerHostname, runnerAkkaPort) =>
if (!remoteSbtSelections.contains(SocketAddress(runnerHostname, runnerAkkaPort))) {
log.info("Connected Runner {}", runnerAkkaPort)
case RunnerConnect(runnerHostname, runnerPekkoPort) =>
if (!remoteSbtSelections.contains(SocketAddress(runnerHostname, runnerPekkoPort))) {
log.info("Connected Runner {}", runnerPekkoPort)

val address = SocketAddress(runnerHostname, runnerAkkaPort)
val address = SocketAddress(runnerHostname, runnerPekkoPort)
val ref = connectRunner(getRemoteActorPath("SbtRunner", address, "SbtActor"))
val sel = SocketAddress(runnerHostname, runnerAkkaPort) -> ref
val sel = SocketAddress(runnerHostname, runnerPekkoPort) -> ref
Comment thread
warcholjakub marked this conversation as resolved.

remoteSbtSelections.addOne(sel)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package org.scastie.balancer

import akka.actor.Actor
import akka.actor.ActorLogging
import org.apache.pekko.actor.Actor
import org.apache.pekko.actor.ActorLogging
import com.typesafe.config.Config
import akka.actor.ActorRef
import akka.actor.ActorSelection
import org.apache.pekko.actor.ActorRef
import org.apache.pekko.actor.ActorSelection
import java.time.Instant
import scala.collection.immutable.Queue
import org.scastie.util.SbtTask
import org.scastie.util.ScalaCliTask
import org.scastie.api._
import akka.util.Timeout
import org.apache.pekko.util.Timeout
import scala.concurrent.duration._
import akka.pattern.ask
import akka.remote.DisassociatedEvent
import org.apache.pekko.pattern.ask
import org.apache.pekko.remote.DisassociatedEvent
import java.util.concurrent.ConcurrentLinkedQueue
import scala.jdk.CollectionConverters._
import scala.collection.concurrent.TrieMap
Expand Down Expand Up @@ -72,11 +72,11 @@ class ScalaCliDispatcher(config: Config, progressActor: ActorRef, statusActor: A
val sender = this.sender()
ping(remoteServers.values.toList).andThen(s => sender ! RunnerPong)

case RunnerConnect(runnerHostname, runnerAkkaPort) =>
if (!remoteServers.contains(SocketAddress(runnerHostname, runnerAkkaPort))) {
log.info("Connected runner {}", runnerAkkaPort)
case RunnerConnect(runnerHostname, runnerPort) =>
if (!remoteServers.contains(SocketAddress(runnerHostname, runnerPort))) {
log.info("Connected runner {}", runnerPort)

val address = SocketAddress(runnerHostname, runnerAkkaPort)
val address = SocketAddress(runnerHostname, runnerPort)
val ref = connectRunner(getRemoteActorPath("ScalaCliRunner", address, "ScalaCliActor"))

remoteServers.addOne(address -> ref)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ package org.scastie.balancer

import org.scastie.api._

import akka.actor.{Actor, ActorLogging, ActorRef, Props}
import akka.stream.scaladsl.Source
import org.apache.pekko.actor.{Actor, ActorLogging, ActorRef, Props}
import org.apache.pekko.stream.scaladsl.Source
import java.util.concurrent.TimeUnit

import scala.collection.mutable
import scala.concurrent.duration._

import org.scastie.util.GraphStageForwarder
import akka.actor.Terminated
import org.apache.pekko.actor.Terminated

case object SubscribeStatus

Expand Down
2 changes: 1 addition & 1 deletion balancer/src/main/scala/org/scastie/balancer/package.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.scastie

import akka.actor.ActorSelection
import org.apache.pekko.actor.ActorSelection
import org.scastie.api.{SbtInputs, ScalaCliInputs, ServerState}

package object balancer {
Expand Down
2 changes: 1 addition & 1 deletion balancer/src/test/resources/application.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ org.scastie.balancer {
snippets-storage = files
}

akka.actor.provider = akka.actor.LocalActorRefProvider
pekko.actor.provider = org.apache.pekko.actor.LocalActorRefProvider
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.scastie.balancer

import akka.actor.{ActorSystem, Props}
import akka.pattern.ask
import akka.testkit.{ImplicitSender, TestKit, TestProbe}
import akka.util.Timeout
import org.apache.pekko.actor.{ActorSystem, Props}
import org.apache.pekko.pattern.ask
import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
import org.apache.pekko.util.Timeout
import org.scastie.api._
import org.scastie.sbt._
import org.scastie.scalacli._
Expand Down Expand Up @@ -76,16 +76,16 @@ class DispatchActorIntegrationTest()
waitFor(sid3, ret)(_.isDone)
}

private val serverAkkaPort = 15000
private val webSystem = ActorSystem("Web", RemotePortConfig(serverAkkaPort))
private val serverRemotePort = 15000
private val webSystem = ActorSystem("Web", RemotePortConfig(serverRemotePort))

private val sbtAkkaPort = 5150
private val sbtRemotePort = 5150
private val sbtSystem =
ActorSystem("SbtRunner", RemotePortConfig(sbtAkkaPort))
ActorSystem("SbtRunner", RemotePortConfig(sbtRemotePort))

private val scalaCliAkkaPort = 5250
private val scalaCliRemotePort = 5250
private val scalaCliSystem =
ActorSystem("ScalaCliRunner", RemotePortConfig(scalaCliAkkaPort))
ActorSystem("ScalaCliRunner", RemotePortConfig(scalaCliRemotePort))

private val progressActor = TestProbe()
private val statusActor = TestProbe()
Expand All @@ -105,9 +105,9 @@ class DispatchActorIntegrationTest()
reconnectInfo = Some(
ReconnectInfo(
serverHostname = localhost,
serverAkkaPort = serverAkkaPort,
serverRemotePort = serverRemotePort,
actorHostname = localhost,
actorAkkaPort = sbtAkkaPort
actorRemotePort = sbtRemotePort
)
)
)
Expand Down Expand Up @@ -136,9 +136,9 @@ class DispatchActorIntegrationTest()
reconnectInfo = Some(
ReconnectInfo(
serverHostname = localhost,
serverAkkaPort = serverAkkaPort,
serverRemotePort = serverRemotePort,
actorHostname = localhost,
actorAkkaPort = scalaCliAkkaPort
actorRemotePort = scalaCliRemotePort
)
)
)
Expand Down Expand Up @@ -210,7 +210,7 @@ class DispatchActorIntegrationTest()
object RemotePortConfig {
def apply(port: Int): Config =
ConfigFactory.parseString(
s"""|akka {
s"""|pekko {
| actor {
| provider = cluster
| allow-java-serialization = on
Expand Down
52 changes: 26 additions & 26 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ import com.typesafe.sbt.SbtNativePackager.Universal
import org.scalajs.linker.interface.ModuleSplitStyle
import SbtShared._

def akka(module: String) = "com.typesafe.akka" %% ("akka-" + module) % "2.6.19"
def pekko(module: String) = "org.apache.pekko" %% ("pekko-" + module) % pekkoVersion

val akkaHttpVersion = "10.2.9"
val pekkoHttpVersion = "1.3.0"
val pekkoVersion = "1.4.0"

addCommandAlias("startAll", "scalaCliRunner/reStart;sbtRunner/reStart;server/reStart;metalsRunner/reStart;client/fastLinkJS")
addCommandAlias("startAllProd", "scalaCliRunner/reStart;sbtRunner/reStart;metalsRunner/reStart;server/buildTreesitterWasm;server/fullLinkJS/reStart")
Expand Down Expand Up @@ -66,12 +67,11 @@ lazy val utils = project
.settings(
resolvers += Resolver.typesafeRepo("releases"),
libraryDependencies ++= Seq(
akka("protobuf"),
akka("stream"),
akka("actor"),
akka("remote"),
akka("slf4j"),
akka("testkit") % Test
pekko("stream"),
pekko("actor"),
pekko("remote"),
pekko("slf4j"),
pekko("testkit") % Test
)
)
.dependsOn(api.jvm(ScalaVersions.jvm))
Expand Down Expand Up @@ -158,10 +158,10 @@ lazy val sbtRunner = project
reStart := reStart.dependsOn(runnerRuntimeDependencies: _*).evaluated,
resolvers ++= Resolver.sonatypeOssRepos("public"),
libraryDependencies ++= Seq(
akka("actor"),
akka("testkit") % Test,
akka("cluster"),
akka("slf4j"),
pekko("actor"),
pekko("testkit") % Test,
pekko("cluster"),
pekko("slf4j"),
"com.github.cb372" %% "scalacache-core" % "0.28.0",
"com.github.cb372" %% "scalacache-guava" % "0.28.0",
"org.scalameta" %% "scalafmt-core" % "3.9.2",
Expand Down Expand Up @@ -269,15 +269,15 @@ lazy val server = project
Seq(outputWasmDirectory / treeSitterScalaOutputName, outputWasmDirectory / treeSitterOutputName)
},
libraryDependencies ++= Seq(
"org.apache.commons" % "commons-text" % "1.11.0",
"com.typesafe.akka" %% "akka-http" % akkaHttpVersion,
"com.softwaremill.akka-http-session" %% "core" % "0.7.1",
"ch.megard" %% "akka-http-cors" % "1.2.0",
"de.heikoseeberger" %% "akka-http-circe" % "1.39.2",
akka("cluster"),
akka("slf4j"),
akka("testkit") % Test,
"com.typesafe.akka" %% "akka-http-testkit" % akkaHttpVersion % Test
"org.apache.commons" % "commons-text" % "1.11.0",
"org.apache.pekko" %% "pekko-http" % pekkoHttpVersion,
"com.softwaremill.pekko-http-session" %% "core" % "0.7.1",
"org.apache.pekko" %% "pekko-http-cors" % "1.3.0",
pekko("cluster"),
pekko("slf4j"),
pekko("testkit") % Test,
"com.github.pjfanning" %% "pekko-http-circe" % "3.8.0",
"org.apache.pekko" %% "pekko-http-testkit" % pekkoHttpVersion % Test
)
)
.enablePlugins(JavaServerAppPackaging)
Expand All @@ -288,7 +288,7 @@ lazy val balancer = project
.settings(loggingAndTest)
.settings(smallRunnerRuntimeDependenciesInTest)
.settings(
libraryDependencies += akka("testkit") % Test
libraryDependencies += pekko("testkit") % Test
)
.dependsOn(api.jvm(ScalaVersions.jvm), utils, storage, sbtRunner % Test, scalaCliRunner % Test)

Expand Down Expand Up @@ -399,10 +399,10 @@ lazy val scalaCliRunner = project
reStart := reStart.dependsOn(runnerRuntimeDependencies: _*).evaluated,
resolvers ++= Resolver.sonatypeOssRepos("public"),
libraryDependencies ++= Seq(
akka("actor"),
akka("testkit") % Test,
akka("cluster"),
akka("slf4j"),
pekko("actor"),
pekko("testkit") % Test,
pekko("cluster"),
pekko("slf4j"),
"ch.epfl.scala" % "bsp4j" % "2.1.0-M7",
"org.typelevel" %% "cats-core" % "2.10.0",
"io.circe" %% "circe-parser" % "0.14.6",
Expand Down
Loading