Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NODE-2631 Java 11 #3919

Merged
merged 6 commits into from
Dec 5, 2023
Merged
Show file tree
Hide file tree
Changes from all 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
2 changes: 1 addition & 1 deletion .github/workflows/check-pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '8'
java-version: '11'
- name: Cache SBT
uses: actions/cache@v3
with:
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,17 +58,17 @@ A quick introduction of the minimal setup you need to get a running node.
Linux systems:
```bash
sudo apt-get update
sudo apt-get install openjdk-8-jre
sudo apt-get install openjdk-11-jre
java -jar node/target/waves-all*.jar path/to/config/waves-{network}.conf
```

Mac systems (assuming already installed homebrew):
```bash
brew cask install adoptopenjdk/openjdk/adoptopenjdk8
brew cask install adoptopenjdk/openjdk/adoptopenjdk11
java -jar node/target/waves-all*.jar path/to/config/waves-{network}.conf
```

Windows systems (assuming already installed OpenJDK 8):
Windows systems (assuming already installed OpenJDK 11):
```bash
java -jar node/target/waves-all*.jar path/to/config/waves-{network}.conf
```
Expand Down Expand Up @@ -97,9 +97,9 @@ To build and test this project, you will have to follow these steps:

```bash
sudo apt-get update
sudo apt-get install openjdk-8-jre # Ubuntu
sudo apt-get install openjdk-11-jre # Ubuntu
# or
# brew cask install adoptopenjdk/openjdk/adoptopenjdk8 # Mac
# brew cask install adoptopenjdk/openjdk/adoptopenjdk11 # Mac
```

- Install SBT (Scala Build Tool)
Expand Down
2 changes: 1 addition & 1 deletion benchmark/build.sbt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
enablePlugins(JmhPlugin)

Jmh / version := "1.33"
Jmh / version := "1.37"

libraryDependencies ++= Seq(
"org.scodec" %% "scodec-core" % "1.11.10",
Expand Down
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ enablePlugins(GitVersioning)
git.uncommittedSignifier := Some("DIRTY")
git.useGitDescribe := true
ThisBuild / git.useGitDescribe := true
ThisBuild / PB.protocVersion := "3.24.4" // https://protobuf.dev/support/version-support/#java
ThisBuild / PB.protocVersion := "3.25.1" // https://protobuf.dev/support/version-support/#java

lazy val lang =
crossProject(JSPlatform, JVMPlatform)
Expand Down
2 changes: 1 addition & 1 deletion docker/node-sbt-builder.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM eclipse-temurin:8-jdk-jammy
FROM eclipse-temurin:11-jdk-jammy

ARG WAVES_VERSION
ARG SBT_VERSION
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.wavesplatform.lang.v1.parser

import com.wavesplatform.lang.v1.parser.Expressions.*
import fastparse.*
import fastparse.MultiLineWhitespace.*

sealed abstract class BinaryOperation {
val func: String
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,7 @@ class Parser(stdLibVersion: StdLibVersion)(implicit offset: LibrariesOffset) {
}

def invalid[A: P]: P[INVALID] = {
import fastparse.NoWhitespace.*
P(Index ~~ CharPred(_ != '\n').rep(1) ~~ Index)
P(Index ~~ CharPred(_ != '\n').repX(1) ~~ Index)
.map { case (start, end) =>
INVALID(Pos(start, end), "can't parse the expression")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.wavesplatform.lang.v1.parser
import com.wavesplatform.lang.v1.parser.Expressions.*
import com.wavesplatform.lang.v1.parser.Parser.LibrariesOffset
import fastparse.*
import fastparse.MultiLineWhitespace.*

sealed abstract class UnaryOperation {
val func: String
Expand Down
2 changes: 1 addition & 1 deletion node/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ inConfig(Debian)(
maintainer := "com.wavesplatform",
packageSource := sourceDirectory.value / "package",
linuxStartScriptTemplate := (packageSource.value / "systemd.service").toURI.toURL,
debianPackageDependencies += "java8-runtime-headless",
debianPackageDependencies += "java11-runtime-headless",
maintainerScripts := maintainerScriptsFromDirectory(packageSource.value / "debian", Seq("postinst", "postrm", "prerm"))
)
)
Expand Down
46 changes: 23 additions & 23 deletions project/Dependencies.scala
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ object Dependencies {
private[this] val protoSchemasLib =
"com.wavesplatform" % "protobuf-schemas" % "1.5.1-SNAPSHOT" classifier "protobuf-src" intransitive ()

private def akkaModule(module: String) = "com.typesafe.akka" %% s"akka-$module" % "2.6.21"
private def akkaModule(module: String) = "com.typesafe.akka" %% s"akka-$module" % "2.8.5"

private def akkaHttpModule(module: String) = "com.typesafe.akka" %% module % "10.2.10"
private def akkaHttpModule(module: String) = "com.typesafe.akka" %% module % "10.5.3"

private def kamonModule(module: String) = "io.kamon" %% s"kamon-$module" % "2.6.5"
private def kamonModule(module: String) = "io.kamon" %% s"kamon-$module" % "2.6.6"

private def jacksonModule(group: String, module: String) = s"com.fasterxml.jackson.$group" % s"jackson-$module" % "2.15.3"

private def web3jModule(module: String) = "org.web3j" % module % "4.9.8" // https://github.com/web3j/web3j/issues/1907
private def web3jModule(module: String) = "org.web3j" % module % "4.9.8" // 4.10+ requires Java 17 https://github.com/web3j/web3j/issues/1907

def monixModule(module: String): Def.Initialize[ModuleID] = Def.setting("io.monix" %%% s"monix-$module" % "3.4.1")

Expand All @@ -26,21 +26,21 @@ object Dependencies {
val googleGuava = "com.google.guava" % "guava" % "32.1.3-jre"
val kamonCore = kamonModule("core")
val machinist = "org.typelevel" %% "machinist" % "0.6.8"
val logback = "ch.qos.logback" % "logback-classic" % "1.3.11" // 1.4.x and later is built for Java 11
val logback = "ch.qos.logback" % "logback-classic" % "1.4.11" // 1.4.x and later is built for Java 11
val janino = "org.codehaus.janino" % "janino" % "3.1.10"
val asyncHttpClient = "org.asynchttpclient" % "async-http-client" % "2.12.3"
val curve25519 = "com.wavesplatform" % "curve25519-java" % "0.6.6"
val nettyHandler = "io.netty" % "netty-handler" % "4.1.100.Final"
val nettyHandler = "io.netty" % "netty-handler" % "4.1.101.Final"

val shapeless = Def.setting("com.chuusai" %%% "shapeless" % "2.3.10")

val playJson = "com.typesafe.play" %% "play-json" % "2.9.4" // 2.10.x and later is built for Java 11
val playJson = "com.typesafe.play" %% "play-json" % "2.10.3" // 2.10.x and later is built for Java 11

val scalaTest = "org.scalatest" %% "scalatest" % "3.2.17" % Test
val scalaJsTest = Def.setting("com.lihaoyi" %%% "utest" % "0.8.1" % Test)
val scalaJsTest = Def.setting("com.lihaoyi" %%% "utest" % "0.8.2" % Test)

val sttp3 = "com.softwaremill.sttp.client3" % "core_2.13" % "3.5.2" // 3.6.x and later is built for Java 11
val sttp3Monix = "com.softwaremill.sttp.client3" %% "monix" % "3.5.2"
val sttp3 = "com.softwaremill.sttp.client3" % "core_2.13" % "3.9.1" // 3.6.x and later is built for Java 11
val sttp3Monix = "com.softwaremill.sttp.client3" %% "monix" % "3.9.1"

val bouncyCastleProvider = "org.bouncycastle" % s"bcprov-jdk15on" % "1.70"

Expand All @@ -59,9 +59,9 @@ object Dependencies {
// explicit dependency can likely be removed when monix 3 is released
monixModule("eval").value,
"org.typelevel" %%% s"cats-core" % "2.10.0",
"com.lihaoyi" %%% "fastparse" % "2.3.3",
"com.lihaoyi" %%% "fastparse" % "3.0.2",
shapeless.value,
"org.typelevel" %%% "cats-mtl" % "1.3.1",
"org.typelevel" %%% "cats-mtl" % "1.4.0",
"ch.obermuhlner" % "big-math" % "2.3.2",
googleGuava, // BaseEncoding.base16()
curve25519,
Expand All @@ -74,7 +74,7 @@ object Dependencies {
lazy val it = scalaTest +: Seq(
logback,
"com.spotify" % "docker-client" % "8.16.0",
"com.fasterxml.jackson.dataformat" % "jackson-dataformat-properties" % "2.14.2",
"com.fasterxml.jackson.dataformat" % "jackson-dataformat-properties" % "2.16.0",
asyncHttpClient
).map(_ % Test)

Expand All @@ -97,9 +97,9 @@ object Dependencies {
akkaModule("slf4j") % Runtime
)

private val rocksdb = "org.rocksdb" % "rocksdbjni" % "8.5.4"
private val rocksdb = "org.rocksdb" % "rocksdbjni" % "8.8.1"

private val scalapbJson = "com.thesamet.scalapb" %% "scalapb-json4s" % "0.11.1"
private val scalapbJson = "com.thesamet.scalapb" %% "scalapb-json4s" % "0.12.1"

lazy val node = Def.setting(
Seq(
Expand Down Expand Up @@ -127,14 +127,14 @@ object Dependencies {
nettyHandler,
"com.typesafe.scala-logging" %% "scala-logging" % "3.9.5",
"eu.timepit" %% "refined" % "0.11.0" exclude ("org.scala-lang.modules", "scala-xml_2.13"),
"com.esaulpaugh" % "headlong" % "9.4.0",
"com.esaulpaugh" % "headlong" % "10.0.1",
web3jModule("abi"),
akkaModule("testkit") % Test,
akkaHttpModule("akka-http-testkit") % Test,
) ++ test ++ console ++ logDeps ++ protobuf.value ++ langCompilerPlugins.value
)

val gProto = "com.google.protobuf" % "protobuf-java" % "3.24.4"
val gProto = "com.google.protobuf" % "protobuf-java" % "3.25.1"

lazy val scalapbRuntime = Def.setting(
Seq(
Expand Down Expand Up @@ -162,18 +162,18 @@ object Dependencies {
scalapbJson,
// https://github.com/netty/netty/wiki/Native-transports
// "io.netty" % "netty-transport-native-epoll" % "4.1.79.Final" classifier "linux-x86_64",
"com.github.ben-manes.caffeine" % "caffeine" % "3.1.2",
"net.logstash.logback" % "logstash-logback-encoder" % "7.2" % Runtime,
"com.github.ben-manes.caffeine" % "caffeine" % "3.1.8",
"net.logstash.logback" % "logstash-logback-encoder" % "7.4" % Runtime,
"org.ehcache" % "sizeof" % "0.4.3", // Weighing caches
kamonModule("caffeine"),
kamonModule("prometheus"),
sttp3,
sttp3Monix,
"org.scala-lang.modules" %% "scala-xml" % "2.2.0", // JUnit reports
akkaHttpModule("akka-http-testkit") % Test,
"com.softwaremill.diffx" %% "diffx-core" % "0.8.3" % Test,
"com.softwaremill.diffx" %% "diffx-scalatest-should" % "0.8.3" % Test,
"io.grpc" % "grpc-inprocess" % scalapb.compiler.Version.grpcJavaVersion % Test
"com.softwaremill.diffx" %% "diffx-core" % "0.9.0" % Test,
"com.softwaremill.diffx" %% "diffx-scalatest-should" % "0.9.0" % Test,
"io.grpc" % "grpc-inprocess" % "1.59.0" % Test
) ++ Dependencies.console ++ Dependencies.logDeps ++ Dependencies.test
)

Expand All @@ -189,5 +189,5 @@ object Dependencies {
// https://github.com/sbt/sbt-javaagent#scopes
// dist (only sbt-native-packager), because causes using logs before needed, so System.setProperty in RideRunnerWithPreparedStateApp has no effect.
lazy val kanela =
Seq("io.kamon" % "kanela-agent" % "1.0.17" % "dist")
Seq("io.kamon" % "kanela-agent" % "1.0.18" % "dist")
}
4 changes: 2 additions & 2 deletions project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ addSbtPlugin("com.thesamet" % "sbt-protoc" % "1.0.6")
libraryDependencies += "com.thesamet.scalapb" %% "compilerplugin" % "0.11.14"

Seq(
"com.eed3si9n" % "sbt-assembly" % "2.1.3",
"com.eed3si9n" % "sbt-assembly" % "2.1.5",
"com.github.sbt" % "sbt-native-packager" % "1.9.16",
"se.marcuslonnberg" % "sbt-docker" % "1.11.0",
"org.scala-js" % "sbt-scalajs" % "1.14.0",
Expand All @@ -20,7 +20,7 @@ Seq(
).map(addSbtPlugin)

libraryDependencies ++= Seq(
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.15.3",
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.16.0",
"org.hjson" % "hjson" % "3.1.0",
"org.vafer" % "jdeb" % "1.10" artifacts Artifact("jdeb", "jar", "jar"),
"org.slf4j" % "jcl-over-slf4j" % "2.0.9",
Expand Down