use scala 2.13 and java 11 (#38)

This commit is contained in:
Michał Siatkowski
2022-08-10 16:15:53 +02:00
committed by GitHub
parent 1b254f8ed5
commit dc0fefcb53
15 changed files with 45 additions and 45 deletions

View File

@@ -8,7 +8,7 @@ platform:
steps:
- name: build
image: java:openjdk-8
image: amd64/openjdk:11-jdk-slim
environment:
GRADLE_USER_HOME: ~/.gradle
commands:
@@ -59,7 +59,7 @@ platform:
steps:
- name: build
image: arm64v8/openjdk:8-slim
image: arm64v8/openjdk:11-jdk-slim
environment:
GRADLE_USER_HOME: ~/.gradle
commands:

View File

@@ -2,6 +2,5 @@ dependencies {
implementation project(':common')
api "org.scalaj:scalaj-http_$scala:2.4.2"
api "org.json4s:json4s-jackson_$scala:3.6.0-M3"
api "com.softwaremill.quicklens:quicklens_$scala:1.4.12"
api "org.json4s:json4s-jackson_$scala:3.6.12"
}

View File

@@ -3,11 +3,13 @@ package com.lbs.api.http
import cats.instances.either._
import com.lbs.api.exception.GenericException
import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, FunSuiteLike, Matchers}
import org.scalatest.BeforeAndAfterEach
import org.scalatest.funsuite.AnyFunSuite
import org.scalatest.matchers.should.Matchers
import org.scalatestplus.mockito.MockitoSugar
import scalaj.http.{HttpRequest, HttpResponse}
class ExtendedHttpRequestSpec extends FunSuiteLike with Matchers with MockitoSugar with BeforeAndAfterEach {
class ExtendedHttpRequestSpec extends AnyFunSuite with Matchers with MockitoSugar with BeforeAndAfterEach {
private val request = mock[HttpRequest]
private type ThrowableOr[T] = Either[Throwable, T]

View File

@@ -16,9 +16,10 @@ allprojects {
dependencies {
compileOnly "org.scala-lang:scala-library:$scala.$scala_minor"
testImplementation "org.scalatest:scalatest_$scala:3.0.4"
testImplementation "org.scalatest:scalatest_$scala:3.2.11"
testRuntimeOnly 'com.vladsch.flexmark:flexmark-all:0.62.2' // version depends on scalatest dependency
testImplementation "org.mockito:mockito-core:2.13.0"
testImplementation "org.scalatestplus:mockito-4-2_$scala:3.2.11.0"
testImplementation "org.pegdown:pegdown:1.6.0"
}
}

View File

@@ -1,5 +1,4 @@
dependencies {
api "org.slf4j:slf4j-api:1.7.25"
api "ch.qos.logback:logback-classic:1.2.3"
api "org.typelevel:cats-core_$scala:2.0.0-M1"
api "ch.qos.logback:logback-classic:1.2.11"
api "org.typelevel:cats-core_$scala:2.8.0"
}

View File

@@ -1,9 +1,8 @@
package com.lbs.common
import scala.collection.TraversableLike
import scala.collection.generic.CanBuildFrom
import scala.language.{higherKinds, implicitConversions}
import scala.collection.{BuildFrom, IterableOps}
import scala.language.implicitConversions
trait ModelConverters {
@@ -15,9 +14,8 @@ trait ModelConverters {
def mapTo[To](implicit converter: ObjectConverter[From, To]): To = converter.convert(anyRef)
}
implicit def sequenceConverters[From, To, Col[+X] <: TraversableLike[X, Col[X]]]
(implicit objectConverter: ObjectConverter[From, To], bf: CanBuildFrom[Col[From], To, Col[To]]): ObjectConverter[Col[From], Col[To]] = {
col: Col[From] => col.map(objectConverter.convert)
}
implicit def sequenceConverters[From, To, Col[+X] <: IterableOps[X, Col, Col[X]]]
(implicit objectConverter: ObjectConverter[From, To]): ObjectConverter[Col[From], Col[To]] =
(col: Col[From]) => col.map(objectConverter.convert)
}

View File

@@ -1,4 +1,4 @@
FROM azul/zulu-openjdk-alpine:8u282-jre
FROM amd64/openjdk:11-jre-slim
RUN apk update && apk upgrade && apk add netcat-openbsd tzdata && apk add --no-cache nss
RUN mkdir -p /app

View File

@@ -1,4 +1,4 @@
FROM arm64v8/openjdk:8-alpine
FROM arm64v8/openjdk:11-jre-slim
RUN apk update && apk upgrade && apk add netcat-openbsd tzdata && apk add --no-cache nss
RUN mkdir -p /app

View File

@@ -3,5 +3,5 @@ org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Dfile.encoding=UTF-8
scala=2.12
scala_minor=16
scala=2.13
scala_minor=8

View File

@@ -6,14 +6,14 @@ dependencies {
implementation project(":bot")
implementation project(":common")
implementation "com.lihaoyi:sourcecode_$scala:0.1.4"
implementation "com.lihaoyi:sourcecode_$scala:0.3.0"
implementation "org.springframework.boot:spring-boot-starter"
implementation "org.springframework.boot:spring-boot-starter-data-jpa"
implementation "org.liquibase:liquibase-core"
implementation "org.jasypt:jasypt:1.9.2"
implementation "org.postgresql:postgresql:42.2.26"
implementation 'org.jasypt:jasypt:1.9.3'
implementation 'org.postgresql:postgresql:42.3.6'
testImplementation "com.typesafe.akka:akka-testkit_$scala:2.6.19"
testImplementation "org.springframework.boot:spring-boot-starter-test"

View File

@@ -21,7 +21,7 @@ object Lang {
LangsMap.getOrElse(id, sys.error(s"Unknown language id $id"))
}
val version: String = Try(Source.fromFile("version").getLines.mkString).getOrElse("Unknown")
val version: String = Try(Source.fromFile("version").getLines().mkString).getOrElse("Unknown")
}
trait Lang {
@@ -35,7 +35,7 @@ trait Lang {
protected def capitalizeFirstLetter(str: String): String = {
if (str != null && str != "") {
val fistCapitalLetter = str.head.toTitleCase
fistCapitalLetter + str.tail.toLowerCase
s"$fistCapitalLetter${str.tail.toLowerCase}"
} else ""
}

View File

@@ -7,7 +7,7 @@ import org.springframework.stereotype.Repository
import java.time.ZonedDateTime
import javax.persistence.EntityManager
import scala.collection.JavaConverters._
import scala.jdk.CollectionConverters._
@Repository
class DataRepository(@Autowired em: EntityManager) {
@@ -21,7 +21,7 @@ class DataRepository(@Autowired em: EntityManager) {
| order by city.time desc""".stripMargin, classOf[CityHistory])
.setParameter("accountId", accountId)
.setMaxResults(maxHistory)
.getResultList.asScala
.getResultList.asScala.toSeq
}
def getClinicHistory(accountId: Long, cityId: Long): Seq[ClinicHistory] = {
@@ -32,7 +32,7 @@ class DataRepository(@Autowired em: EntityManager) {
.setParameter("accountId", accountId)
.setParameter("cityId", cityId)
.setMaxResults(maxHistory)
.getResultList.asScala
.getResultList.asScala.toSeq
}
def getServiceHistory(accountId: Long, cityId: Long, clinicId: Option[Long]): Seq[ServiceHistory] = {
@@ -45,7 +45,7 @@ class DataRepository(@Autowired em: EntityManager) {
.setParameter("cityId", cityId)
.setMaxResults(maxHistory)
clinicId.map(id => query.setParameter("clinicId", id)).getOrElse(query).getResultList.asScala
clinicId.map(id => query.setParameter("clinicId", id)).getOrElse(query).getResultList.asScala.toSeq
}
def getDoctorHistory(accountId: Long, cityId: Long, clinicId: Option[Long], serviceId: Long): Seq[DoctorHistory] = {
@@ -60,7 +60,7 @@ class DataRepository(@Autowired em: EntityManager) {
.setParameter("serviceId", serviceId)
.setMaxResults(maxHistory)
clinicId.map(id => query.setParameter("clinicId", id)).getOrElse(query).getResultList.asScala
clinicId.map(id => query.setParameter("clinicId", id)).getOrElse(query).getResultList.asScala.toSeq
}
def findCredentials(accountId: Long): Option[Credentials] = {
@@ -73,7 +73,7 @@ class DataRepository(@Autowired em: EntityManager) {
def getActiveMonitorings: Seq[Monitoring] = {
em.createQuery(
"""select monitoring from Monitoring monitoring where monitoring.active = true""".stripMargin, classOf[Monitoring])
.getResultList.asScala
.getResultList.asScala.toSeq
}
def getActiveMonitoringsCount(accountId: Long): JLong = {
@@ -89,7 +89,7 @@ class DataRepository(@Autowired em: EntityManager) {
"""select monitoring from Monitoring monitoring where monitoring.active = true
| and monitoring.accountId = :accountId order by monitoring.dateTo asc""".stripMargin, classOf[Monitoring])
.setParameter("accountId", accountId)
.getResultList.asScala
.getResultList.asScala.toSeq
}
def getAllMonitoringsCount(accountId: Long): JLong = {
@@ -107,7 +107,7 @@ class DataRepository(@Autowired em: EntityManager) {
.setParameter("accountId", accountId)
.setFirstResult(start)
.setMaxResults(count)
.getResultList.asScala
.getResultList.asScala.toSeq
}
@@ -131,7 +131,7 @@ class DataRepository(@Autowired em: EntityManager) {
"""select monitoring from Monitoring monitoring where monitoring.active = true
| and monitoring.created > :since""".stripMargin, classOf[Monitoring])
.setParameter("since", since)
.getResultList.asScala
.getResultList.asScala.toSeq
}
def findMonitoring(accountId: Long, monitoringId: Long): Option[Monitoring] = {
@@ -206,7 +206,7 @@ class DataRepository(@Autowired em: EntityManager) {
em.createQuery(
"select credentials from Credentials credentials where credentials.userId = :userId", classOf[Credentials])
.setParameter("userId", userId)
.getResultList.asScala
.getResultList.asScala.toSeq
}
def findUserCredentialsByUserIdAndAccountId(userId: Long, accountId: Long): Option[Credentials] = {

View File

@@ -2,9 +2,10 @@ package com.lbs.server.conversation
import akka.actor.ActorSystem
import akka.testkit.{ImplicitSender, TestKit}
import org.scalatest.{BeforeAndAfterAll, WordSpecLike}
import org.scalatest.BeforeAndAfterAll
import org.scalatest.wordspec.AnyWordSpecLike
abstract class AkkaTestKit extends TestKit(ActorSystem()) with ImplicitSender with WordSpecLike with BeforeAndAfterAll {
abstract class AkkaTestKit extends TestKit(ActorSystem()) with ImplicitSender with AnyWordSpecLike with BeforeAndAfterAll {
override def afterAll(): Unit = {
TestKit.shutdownActorSystem(system)
}

View File

@@ -63,8 +63,8 @@ class AuthSpec extends AkkaTestKit {
val cmd = Command(source, Message("1", Some("any")))
auth ! cmd
chatActor.expectMsg(cmd)
unauthorizedHelpActor.expectNoMsg()
loginActor.expectNoMsg()
unauthorizedHelpActor.expectNoMessage()
loginActor.expectNoMessage()
}
}
@@ -85,8 +85,8 @@ class AuthSpec extends AkkaTestKit {
val cmd = Command(source, Message("1", Some("any")))
auth ! cmd
chatActor.expectMsg(cmd)
unauthorizedHelpActor.expectNoMsg()
loginActor.expectNoMsg()
unauthorizedHelpActor.expectNoMessage()
loginActor.expectNoMessage()
}
"initialize dialogue with login actor on /login command" in {

View File

@@ -4,7 +4,7 @@ import akka.actor.ActorSystem
import akka.testkit.TestProbe
import org.mockito.ArgumentMatchers._
import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar
import org.scalatestplus.mockito.MockitoSugar
import scala.reflect.ClassTag