Skip to content

Commit

Permalink
chore: Use the same custom scalac option for webapi and integration (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
seakayone committed Jan 10, 2024
1 parent 83f777d commit b8a45ad
Show file tree
Hide file tree
Showing 113 changed files with 361 additions and 375 deletions.
55 changes: 24 additions & 31 deletions build.sbt
Expand Up @@ -138,6 +138,28 @@ lazy val webApiCommonSettings = Seq(
)
testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework")

val customScalacOptions = Seq(
"-Xsource:3",
"-Wconf:msg=constructor modifiers are assumed:s",
"-feature",
"-unchecked",
"-deprecation",
"-Yresolve-term-conflict:package",
"-Ymacro-annotations",
"-Wunused:imports",
"-Wunused:privates",
"-Wunused:locals",
"-Wunused:explicits",
"-Wunused:implicits",
"-Wunused:params",
"-Wunused:patvars",
"-Wdead-code",
"-Wvalue-discard",
"-Xlint:doc-detached",
// silence twirl templates unused imports warnings
"-Wconf:src=target/.*:s"
)

lazy val webapi: Project = Project(id = "webapi", base = file("webapi"))
.settings(buildSettings)
.settings(
Expand Down Expand Up @@ -172,27 +194,7 @@ lazy val webapi: Project = Project(id = "webapi", base = file("webapi"))
Compile / exportJars := true
)
.settings(
scalacOptions ++= Seq(
"-Xsource:3",
"-Wconf:msg=constructor modifiers are assumed:s",
"-feature",
"-unchecked",
"-deprecation",
"-Yresolve-term-conflict:package",
"-Ymacro-annotations",
"-Wunused:imports",
"-Wunused:privates",
"-Wunused:locals",
"-Wunused:explicits",
"-Wunused:implicits",
"-Wunused:params",
"-Wunused:patvars",
"-Wdead-code",
"-Wvalue-discard",
"-Xlint:doc-detached",
// silence twirl templates unused imports warnings
"-Wconf:src=target/.*:s"
),
scalacOptions ++= customScalacOptions,
logLevel := Level.Info,
javaAgents += Dependencies.aspectjweaver
)
Expand Down Expand Up @@ -271,16 +273,7 @@ lazy val integration: Project = Project(id = "integration", base = file("integra
inConfig(Test) {
Defaults.testSettings ++ Defaults.testTasks ++ baseAssemblySettings ++ headerSettings(Test)
},
scalacOptions ++= Seq(
"-feature",
"-unchecked",
// "-deprecation",
"-Yresolve-term-conflict:package",
"-Ymacro-annotations",
"-Wunused:imports",
// silence twirl templates unused imports warnings
"-Wconf:src=target/.*:s"
),
scalacOptions ++= customScalacOptions,
logLevel := Level.Info,
javaAgents += Dependencies.aspectjweaver,
Test / testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework"),
Expand Down
2 changes: 1 addition & 1 deletion docs/05-internals/design/api-v2/overview.md
Expand Up @@ -110,7 +110,7 @@ following:

```scala
import org.knora.webapi.messages.{SmartIri, StringFormatter}
import org.knora.webapi.messages.IriConversions._
import org.knora.webapi.messages.IriConversions.*
```

Ensure that an implicit instance of `StringFormatter` is in scope:
Expand Down
20 changes: 9 additions & 11 deletions integration/src/test/scala/org/knora/sipi/SipiIT.scala
Expand Up @@ -7,24 +7,24 @@ package org.knora.sipi

import com.github.tomakehurst.wiremock.WireMockServer
import com.github.tomakehurst.wiremock.client.CountMatchingStrategy
import com.github.tomakehurst.wiremock.client.WireMock._
import com.github.tomakehurst.wiremock.client.WireMock.*
import com.github.tomakehurst.wiremock.core.WireMockConfiguration.options
import com.github.tomakehurst.wiremock.matching.RequestPatternBuilder
import com.github.tomakehurst.wiremock.matching.RequestPatternBuilder.newRequestPattern
import zio._
import zio.http._
import zio.*
import zio.http.*
import zio.json.DecoderOps
import zio.json.ast.Json
import zio.test._
import zio.test.*

import scala.util.Failure
import scala.util.Success
import scala.util.Try

import org.knora.sipi.MockDspApiServer.verify._
import org.knora.sipi.MockDspApiServer.verify.*
import org.knora.webapi.config.AppConfig
import org.knora.webapi.messages.admin.responder.KnoraResponseADM
import org.knora.webapi.messages.admin.responder.sipimessages._
import org.knora.webapi.messages.admin.responder.sipimessages.*
import org.knora.webapi.messages.util.KnoraSystemInstances.Users.SystemUser
import org.knora.webapi.routing.JwtService
import org.knora.webapi.routing.JwtServiceLive
Expand All @@ -34,8 +34,6 @@ import org.knora.webapi.testcontainers.SipiTestContainer
object SipiIT extends ZIOSpecDefault {

private val imageTestfile = "FGiLaT4zzuV-CqwbEDFAFeS.jp2"
private val infoTestfile = "FGiLaT4zzuV-CqwbEDFAFeS.info"
private val origTestfile = "FGiLaT4zzuV-CqwbEDFAFeS.jp2.orig"
private val prefix = "0001"

private def getWithoutAuthorization(path: Path) =
Expand Down Expand Up @@ -269,7 +267,7 @@ object SipiIT extends ZIOSpecDefault {
)
)

override def spec: Spec[TestEnvironment with Scope, Any] =
override def spec: Spec[TestEnvironment & Scope, Any] =
suite("Sipi integration tests with mocked dsp-api")(
cookiesSuite,
knoraJsonEndpointSuite,
Expand All @@ -282,10 +280,10 @@ object SipiIT extends ZIOSpecDefault {
} yield assertTrue(response.status.isSuccess, verifyNoInteractionWith(server))
}
)
.provideSomeLayerShared[Scope with Client with WireMockServer](
.provideSomeLayerShared[Scope & Client & WireMockServer](
SharedVolumes.Images.layer >+> SipiTestContainer.layer
)
.provideSomeLayerShared[Scope with Client](MockDspApiServer.layer)
.provideSomeLayerShared[Scope & Client](MockDspApiServer.layer)
.provideSomeLayer[Scope](Client.default) @@ TestAspect.sequential
}

Expand Down
2 changes: 1 addition & 1 deletion integration/src/test/scala/org/knora/webapi/CoreSpec.scala
Expand Up @@ -12,7 +12,7 @@ import org.apache.pekko.testkit.TestKitBase
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import zio._
import zio.*

import scala.concurrent.ExecutionContext
import scala.concurrent.duration.FiniteDuration
Expand Down
10 changes: 5 additions & 5 deletions integration/src/test/scala/org/knora/webapi/E2ESpec.scala
Expand Up @@ -5,14 +5,14 @@

package org.knora.webapi

import com.typesafe.scalalogging._
import com.typesafe.scalalogging.*
import org.apache.pekko
import org.scalatest.BeforeAndAfterAll
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import spray.json._
import zio._
import spray.json.*
import zio.*

import java.nio.file.Files
import java.nio.file.Path
Expand All @@ -31,7 +31,7 @@ import org.knora.webapi.core.TestStartupUtils
import org.knora.webapi.messages.store.sipimessages.SipiUploadResponse
import org.knora.webapi.messages.store.triplestoremessages.RdfDataObject
import org.knora.webapi.messages.store.triplestoremessages.TriplestoreJsonProtocol
import org.knora.webapi.messages.util.rdf._
import org.knora.webapi.messages.util.rdf.*
import org.knora.webapi.routing.KnoraRouteData
import org.knora.webapi.routing.UnsafeZioRun
import org.knora.webapi.testservices.FileToUpload
Expand All @@ -40,7 +40,7 @@ import org.knora.webapi.util.FileUtil
import org.knora.webapi.util.LogAspect

import pekko.http.scaladsl.client.RequestBuilding
import pekko.http.scaladsl.model._
import pekko.http.scaladsl.model.*
import pekko.testkit.TestKitBase

/**
Expand Down
Expand Up @@ -9,13 +9,13 @@ import com.typesafe.scalalogging.LazyLogging
import com.typesafe.scalalogging.Logger
import org.apache.pekko
import org.apache.pekko.http.scaladsl.client.RequestBuilding
import org.apache.pekko.http.scaladsl.model._
import org.apache.pekko.http.scaladsl.model.*
import org.apache.pekko.testkit.TestKitBase
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import spray.json._
import zio._
import spray.json.*
import zio.*

import java.util.concurrent.TimeUnit
import scala.concurrent.Await
Expand All @@ -28,7 +28,7 @@ import org.knora.webapi.core.AppRouter
import org.knora.webapi.core.AppServer
import org.knora.webapi.core.LayersTest.DefaultTestEnvironmentWithSipi
import org.knora.webapi.core.TestStartupUtils
import org.knora.webapi.messages.store.sipimessages._
import org.knora.webapi.messages.store.sipimessages.*
import org.knora.webapi.messages.store.triplestoremessages.RdfDataObject
import org.knora.webapi.messages.store.triplestoremessages.TriplestoreJsonProtocol
import org.knora.webapi.messages.util.rdf.JsonLDDocument
Expand Down
Expand Up @@ -5,7 +5,7 @@

package org.knora.webapi

import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectIdentifierADM._
import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectIdentifierADM.*

/**
* Helps in creating value objects for tests.
Expand Down
4 changes: 2 additions & 2 deletions integration/src/test/scala/org/knora/webapi/R2RSpec.scala
Expand Up @@ -14,7 +14,7 @@ import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import zio._
import zio.*

import java.nio.file.Files
import java.nio.file.Path
Expand All @@ -29,7 +29,7 @@ import org.knora.webapi.config.AppConfig
import org.knora.webapi.core.AppServer
import org.knora.webapi.core.TestStartupUtils
import org.knora.webapi.messages.store.triplestoremessages.RdfDataObject
import org.knora.webapi.messages.util.rdf._
import org.knora.webapi.messages.util.rdf.*
import org.knora.webapi.routing.KnoraRouteData
import org.knora.webapi.routing.UnsafeZioRun
import org.knora.webapi.util.FileUtil
Expand Down
Expand Up @@ -6,8 +6,8 @@
package org.knora.webapi.config

import com.typesafe.config.ConfigFactory
import zio._
import zio.config._
import zio.*
import zio.config.*
import zio.config.typesafe.TypesafeConfigProvider

import org.knora.webapi.config.AppConfig.AppConfigurations
Expand Down
Expand Up @@ -5,8 +5,8 @@

package org.knora.webapi.config

import zio._
import zio.test._
import zio.*
import zio.test.*

import org.knora.webapi.testcontainers.DspIngestTestContainer
import org.knora.webapi.testcontainers.FusekiTestContainer
Expand Down
Expand Up @@ -6,7 +6,7 @@
package org.knora.webapi.core

import org.apache.pekko
import zio._
import zio.*

import org.knora.webapi.config.AppConfig
import org.knora.webapi.store.cache.settings.CacheServiceSettings
Expand All @@ -15,12 +15,11 @@ object ActorSystemTest {

def layer(sys: pekko.actor.ActorSystem): ZLayer[AppConfig, Nothing, ActorSystem] =
ZLayer.scoped {
for {
appConfig <- ZIO.service[AppConfig]
context <- ZIO.executor.map(_.asExecutionContext)
} yield new ActorSystem {
override val system: pekko.actor.ActorSystem = sys
override val cacheServiceSettings: CacheServiceSettings = new CacheServiceSettings(appConfig)
ZIO.serviceWith[AppConfig] { config =>
new ActorSystem {
override val system: pekko.actor.ActorSystem = sys
override val cacheServiceSettings: CacheServiceSettings = new CacheServiceSettings(config)
}
}
}
}
Expand Up @@ -6,12 +6,12 @@
package org.knora.webapi.core

import org.apache.pekko
import zio._
import zio.*

import org.knora.webapi.config.AppConfig.AppConfigurations
import org.knora.webapi.config.AppConfigForTestContainers
import org.knora.webapi.messages.StringFormatter
import org.knora.webapi.messages.util._
import org.knora.webapi.messages.util.*
import org.knora.webapi.messages.util.search.QueryTraverser
import org.knora.webapi.messages.util.search.gravsearch.prequery.InferenceOptimizationService
import org.knora.webapi.messages.util.search.gravsearch.transformers.ConstructTransformer
Expand All @@ -20,23 +20,23 @@ import org.knora.webapi.messages.util.search.gravsearch.types.GravsearchTypeInsp
import org.knora.webapi.messages.util.standoff.StandoffTagUtilV2
import org.knora.webapi.messages.util.standoff.StandoffTagUtilV2Live
import org.knora.webapi.responders.IriService
import org.knora.webapi.responders.admin._
import org.knora.webapi.responders.v2._
import org.knora.webapi.responders.admin.*
import org.knora.webapi.responders.v2.*
import org.knora.webapi.responders.v2.ontology.CardinalityHandler
import org.knora.webapi.responders.v2.ontology.CardinalityHandlerLive
import org.knora.webapi.responders.v2.ontology.OntologyHelpers
import org.knora.webapi.responders.v2.ontology.OntologyHelpersLive
import org.knora.webapi.routing._
import org.knora.webapi.slice.admin.api._
import org.knora.webapi.routing.*
import org.knora.webapi.slice.admin.api.*
import org.knora.webapi.slice.admin.api.service.GroupsRestServiceLive
import org.knora.webapi.slice.admin.api.service.MaintenanceRestService
import org.knora.webapi.slice.admin.api.service.PermissionsRestService
import org.knora.webapi.slice.admin.api.service.ProjectADMRestService
import org.knora.webapi.slice.admin.api.service.ProjectsADMRestServiceLive
import org.knora.webapi.slice.admin.api.service.UsersADMRestServiceLive
import org.knora.webapi.slice.admin.domain.service._
import org.knora.webapi.slice.admin.domain.service.*
import org.knora.webapi.slice.admin.repo.service.KnoraProjectRepoLive
import org.knora.webapi.slice.common.api._
import org.knora.webapi.slice.common.api.*
import org.knora.webapi.slice.common.repo.service.PredicateObjectMapper
import org.knora.webapi.slice.ontology.api.service.RestCardinalityService
import org.knora.webapi.slice.ontology.api.service.RestCardinalityServiceLive
Expand Down
Expand Up @@ -6,7 +6,7 @@
package org.knora.webapi.core

import com.typesafe.scalalogging.LazyLogging
import zio._
import zio.*

import org.knora.webapi.messages.store.triplestoremessages.RdfDataObject
import org.knora.webapi.messages.util.KnoraSystemInstances
Expand Down
Expand Up @@ -14,10 +14,10 @@ import org.knora.webapi.E2ESpec
import org.knora.webapi.messages.store.triplestoremessages.RdfDataObject

import pekko.actor.ActorSystem
import pekko.http.scaladsl.model.HttpMethods._
import pekko.http.scaladsl.model.HttpMethods.*
import pekko.http.scaladsl.model.HttpResponse
import pekko.http.scaladsl.model.StatusCodes
import pekko.http.scaladsl.model.headers._
import pekko.http.scaladsl.model.headers.*
import pekko.http.scaladsl.testkit.RouteTestTimeout

/**
Expand Down
Expand Up @@ -7,12 +7,12 @@ package org.knora.webapi.e2e

import org.apache.pekko

import dsp.errors._
import org.knora.webapi._
import dsp.errors.*
import org.knora.webapi.*
import org.knora.webapi.http.handler

import pekko.http.scaladsl.model._
import pekko.http.scaladsl.server.Directives._
import pekko.http.scaladsl.model.*
import pekko.http.scaladsl.server.Directives.*
import pekko.http.scaladsl.server.Route

/**
Expand Down
Expand Up @@ -17,7 +17,7 @@ import org.knora.webapi.core.State
import org.knora.webapi.core.domain.AppState

import pekko.actor.ActorSystem
import pekko.http.scaladsl.model._
import pekko.http.scaladsl.model.*
import pekko.http.scaladsl.testkit.RouteTestTimeout

/**
Expand Down

0 comments on commit b8a45ad

Please sign in to comment.