Skip to content

Commit

Permalink
Prepare for JPMS - rename packages (#10974)
Browse files Browse the repository at this point in the history
* Rename packages in logging-utils-akka

* Migrate buildInfo to Java

* Rename packages in logging

* Rename package in scala-yaml

* No usage of CompilerDirectives inside pkg

* log errors of initialization of directory watcher

* HashCodeNode does not use com.google.common.base.Objects

* Rename rest of the packages

* fmt

* Fix dependencies on version-output

* Add necessary dependencies to testkit

* Rename instruments in runtime-fat-jar module-info

* Fix compilation errors because of BuildVersion

* Fix logger renames

* Use java.util.List directly

* Fixes after merge

* Improve error message in NativeLauncherSpec

* Fix logger renames

* Fix json version formatting

* Revert "No usage of CompilerDirectives inside pkg"

This reverts commit cc7e078.

* fmt
  • Loading branch information
Akirathan authored Sep 6, 2024
1 parent 2819b42 commit 19ff2a2
Show file tree
Hide file tree
Showing 197 changed files with 1,260 additions and 1,036 deletions.
12 changes: 8 additions & 4 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -992,7 +992,8 @@ lazy val `version-output` = (project in file("lib/scala/version-output"))
.settings(
frgaalJavaCompilerSetting,
Compile / sourceGenerators += Def.task {
val file = (Compile / sourceManaged).value / "buildinfo" / "Info.scala"
val file =
(Compile / sourceManaged).value / "org" / "enso" / "version" / "GeneratedVersion.java"
BuildInfo
.writeBuildInfoFile(
file = file,
Expand Down Expand Up @@ -1222,14 +1223,16 @@ lazy val testkit = project
.in(file("lib/scala/testkit"))
.settings(
frgaalJavaCompilerSetting,
libraryDependencies ++= Seq(
libraryDependencies ++= logbackPkg ++ Seq(
"org.apache.commons" % "commons-lang3" % commonsLangVersion,
"commons-io" % "commons-io" % commonsIoVersion,
"org.scalatest" %% "scalatest" % scalatestVersion,
"junit" % "junit" % junitVersion,
"com.github.sbt" % "junit-interface" % junitIfVersion
"com.github.sbt" % "junit-interface" % junitIfVersion,
"org.slf4j" % "slf4j-api" % slf4jVersion
)
)
.dependsOn(`logging-service-logback`)

lazy val searcher = project
.in(file("lib/scala/searcher"))
Expand Down Expand Up @@ -1444,7 +1447,7 @@ val truffleRunOptionsSettings = Seq(
* the potential conflicts with other *.conf files.
*/
val testLogProviderOptions = Seq(
"-Dslf4j.provider=org.enso.logger.TestLogProvider",
"-Dslf4j.provider=org.enso.logging.service.logback.test.provider.TestLogProvider",
"-Dconfig.resource=application-test.conf"
)

Expand Down Expand Up @@ -2978,6 +2981,7 @@ lazy val editions = project
cleanFiles += baseDirectory.value / ".." / ".." / "distribution" / "editions"
)
.dependsOn(semver)
.dependsOn(`version-output`)
.dependsOn(testkit % Test)

lazy val semver = project
Expand Down
27 changes: 14 additions & 13 deletions docs/infrastructure/logging.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ The configuration has two main sections:
During component's setup, its `application.conf` config file is parsed. The
config's keys and values are validated and, if correct, the parsed
representation is available as an instance of
`org.enso.logger.config.LoggingServiceConfig` class. The class encapsulates the
`org.enso.logging.config.LoggingServiceConfig` class. The class encapsulates the
`logging-service` section of `application.conf` file and is used to
programmatically initialize loggers.

Expand Down Expand Up @@ -191,7 +191,7 @@ File appender directs all log events to a log file:

Rolling policy is a fully optional property of File Appender that would trigger
automatic log rotation. All properties are optional with some reasonable
defaults if missing (defined in `org.enso.logger.config.FileAppender` config
defaults if missing (defined in `org.enso.logging.config.FileAppender` config
class).

#### Socket Appender
Expand Down Expand Up @@ -281,9 +281,10 @@ The `org.slf4j.Logger` instances have to know where to send log events. This
setting is typically performed once, when the service starts, and applies
globally during its execution. Currently, it is not possible to dynamically
change where log events are being stored. The main (abstract) class used for
setting up logging is `org.enso.logger.LoggerSetup`. An instance of that class
can be retrieved with the thread-safe `org.enso.logger.LoggerSetup.get` factory
method. `org.enso.logger.LoggerSetup` provides a number of `setupXYZAppender`
setting up logging is `org.enso.logging.config.LoggerSetup`. An instance of that
class can be retrieved with the thread-safe
`org.enso.logging.config.LoggerSetup.get` factory method.
`org.enso.logging.config.LoggerSetup` provides a number of `setupXYZAppender`
methods that will direct loggers to send log events to an `XYZ` appender.
Setting a specific hard-coded appender programmatically should however be
avoided by the users. Instead, one should invoke one of the overloaded `setup`
Expand All @@ -292,7 +293,7 @@ configuration.

```java
package foo;
import org.enso.logger.LoggerSetup;
import org.enso.logging.config.LoggerSetup;
import org.slf4j.event.Level;

public class MyService {
Expand All @@ -308,13 +309,13 @@ public class MyService {
}
```

`org.enso.logging.LoggingSetupHelper` class was introduced to help with the most
common use cases - establishing a file-based logging in the Enso's dedicated
directories or connecting to an existing logging server once it starts accepting
connections. That is why services don't call `LoggerSetup` directly but instead
provide a service-specific implementation of
`org.enso.logging.LoggingSetupHelper`. `LoggingSetupHelper` and `LoggerSetup`
provide `teardown` methods to properly dispose of log events.
`org.enso.logging.service.LoggingSetupHelper` class was introduced to help with
the most common use cases - establishing a file-based logging in the Enso's
dedicated directories or connecting to an existing logging server once it starts
accepting connections. That is why services don't call `LoggerSetup` directly
but instead provide a service-specific implementation of
`org.enso.logging.service.LoggingSetupHelper`. `LoggingSetupHelper` and
`LoggerSetup` provide `teardown` methods to properly dispose of log events.

### Log Masking

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import org.enso.logger.Converter;
import org.enso.logger.JulHandler;
import org.enso.logger.LoggerSetup;
import org.enso.logging.config.LoggerSetup;
import org.graalvm.polyglot.Context;
import org.graalvm.polyglot.HostAccess;
import org.graalvm.polyglot.io.MessageTransport;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package org.enso.languageserver.boot

import akka.actor.ActorSystem
import akka.stream.Materializer
import buildinfo.Info
import com.typesafe.config.ConfigFactory
import org.enso.distribution.locking.{
ResourceManager,
Expand Down Expand Up @@ -48,13 +47,14 @@ import org.enso.librarymanager.local.DefaultLocalLibraryProvider
import org.enso.librarymanager.published.PublishedLibraryCache
import org.enso.lockmanager.server.LockManagerService
import org.enso.logger.masking.Masking
import org.enso.logger.akka.AkkaConverter
import org.enso.common.RuntimeOptions
import org.enso.common.ContextFactory
import org.enso.logging.utils.akka.AkkaConverter
import org.enso.polyglot.RuntimeServerInfo
import org.enso.profiling.events.NoopEventsMonitor
import org.enso.searcher.memory.InMemorySuggestionsRepo
import org.enso.text.{ContentBasedVersioning, Sha3_224VersionCalculator}
import org.enso.version.BuildVersion
import org.graalvm.polyglot.io.MessageEndpoint
import org.slf4j.event.Level
import org.slf4j.LoggerFactory
Expand All @@ -75,7 +75,7 @@ class MainModule(serverConfig: LanguageServerConfig, logLevel: Level) {
private val log = LoggerFactory.getLogger(this.getClass)
log.debug(
"Initializing main module of the Language Server from [{}, {}, {}]",
Info.currentEdition,
BuildVersion.currentEdition,
serverConfig,
logLevel
)
Expand Down Expand Up @@ -312,7 +312,7 @@ class MainModule(serverConfig: LanguageServerConfig, logLevel: Level) {
RuntimeOptions.LOG_MASKING,
Masking.isMaskingEnabled.toString
)
extraOptions.put(RuntimeOptions.EDITION_OVERRIDE, Info.currentEdition)
extraOptions.put(RuntimeOptions.EDITION_OVERRIDE, BuildVersion.currentEdition)
extraOptions.put(
RuntimeOptions.JOB_PARALLELISM,
Runtime.getRuntime.availableProcessors().toString
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import org.enso.languageserver.libraries.BlockingOperation
import org.enso.languageserver.requesthandler.RequestTimeout
import org.enso.languageserver.util.UnhandledLogging
import org.enso.libraryupload.{auth, LibraryUploader}
import org.enso.logging.LoggingServiceManager
import org.enso.logging.service.LoggingServiceManager

import scala.concurrent.Future
import scala.concurrent.duration.FiniteDuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,10 @@ import org.enso.languageserver.text.TextProtocol
import org.enso.languageserver.util.UnhandledLogging
import org.enso.languageserver.vcsmanager.VcsManagerApi._
import org.enso.languageserver.workspace.WorkspaceApi.ProjectInfo
import org.enso.logger.akka.ActorMessageLogging
import org.enso.logging.utils.akka.ActorMessageLogging
import org.enso.polyglot.runtime.Runtime.Api
import org.enso.polyglot.runtime.Runtime.Api.ProgressNotification
import org.enso.version.BuildVersion

import java.util.UUID

Expand Down Expand Up @@ -289,8 +290,8 @@ class JsonConnectionController(
InitProtocolConnection,
request.id,
InitProtocolConnection.Result(
buildinfo.Info.ensoVersion,
buildinfo.Info.currentEdition,
BuildVersion.ensoVersion,
BuildVersion.currentEdition,
allContentRoots
)
)
Expand Down Expand Up @@ -346,8 +347,8 @@ class JsonConnectionController(
InitProtocolConnection,
id,
InitProtocolConnection.Result(
buildinfo.Info.ensoVersion,
buildinfo.Info.currentEdition,
BuildVersion.ensoVersion,
BuildVersion.currentEdition,
roots
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import org.enso.languageserver.runtime.{
}
import org.enso.languageserver.session.JsonSession
import org.enso.languageserver.util.UnhandledLogging
import org.enso.logger.akka.ActorMessageLogging
import org.enso.logging.utils.akka.ActorMessageLogging
import org.enso.polyglot.runtime.Runtime.Api

import java.nio.charset.StandardCharsets
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package org.enso.languageserver.requesthandler.workspace

import akka.actor.{Actor, Props}
import buildinfo.Info
import com.typesafe.scalalogging.LazyLogging
import org.enso.jsonrpc.{Request, ResponseError, ResponseResult}
import org.enso.languageserver.data.Config
Expand All @@ -10,6 +9,7 @@ import org.enso.languageserver.util.UnhandledLogging
import org.enso.languageserver.workspace.WorkspaceApi.ProjectInfo
import org.enso.logger.masking.MaskedPath
import org.enso.pkg.{Config => PkgConfig}
import org.enso.version.BuildVersion

import java.io.{File, FileReader}

Expand All @@ -31,8 +31,8 @@ class ProjectInfoHandler(languageServerConfig: Config)
if (projectConfig.isSuccess) {
val projectInfo = ProjectInfo.Result(
projectName = projectConfig.get.moduleName,
engineVersion = Info.ensoVersion,
graalVersion = Info.graalVersion
engineVersion = BuildVersion.ensoVersion,
graalVersion = BuildVersion.graalVersion
)
sender() ! ResponseResult(
ProjectInfo,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import org.enso.languageserver.event.{
import org.enso.languageserver.monitoring.MonitoringProtocol.{Ping, Pong}
import org.enso.languageserver.runtime.handler._
import org.enso.languageserver.util.UnhandledLogging
import org.enso.logger.akka.ActorMessageLogging
import org.enso.logging.utils.akka.ActorMessageLogging
import org.enso.polyglot.runtime.Runtime.Api
import org.enso.polyglot.runtime.Runtime.Api.ContextId

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import org.enso.languageserver.runtime.RuntimeConnector.{
}
import org.enso.languageserver.util.UnhandledLogging
import org.enso.lockmanager.server.LockManagerService
import org.enso.logger.akka.ActorMessageLogging
import org.enso.logger.masking.ToLogString
import org.enso.logging.utils.akka.ActorMessageLogging
import org.enso.polyglot.runtime.Runtime
import org.enso.polyglot.runtime.Runtime.{Api, ApiEnvelope}
import org.enso.polyglot.runtime.serde.ApiSerde
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package org.enso.languageserver.util

import akka.actor.Actor
import com.typesafe.scalalogging.LazyLogging
import org.enso.logger.akka.AkkaConverter
import org.enso.logging.utils.akka.AkkaConverter
import org.slf4j.event.Level

trait UnhandledLogging extends LazyLogging { this: Actor =>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package org.enso.filewatcher
package org.enso.filewatcher.test

import org.enso.filewatcher.Watcher

import java.util.concurrent.Executor

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
package org.enso.filewatcher
package org.enso.filewatcher.test

import org.enso.filewatcher.{Watcher, WatcherFactory}

import java.nio.file.Path

class NoopWatcherFactory extends WatcherFactory {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@ import org.enso.languageserver.boot.StartupConfig
import org.enso.languageserver.data._
import org.enso.languageserver.event.InitializedEvent
import org.enso.languageserver.filemanager.{ContentRoot, ContentRootWithFile}
import org.enso.logger.ReportLogsOnFailure
import org.enso.searcher.memory.InMemorySuggestionsRepo
import org.enso.testkit.{FlakySpec, ToScalaFutureConversions}
import org.enso.testkit.{
FlakySpec,
ReportLogsOnFailure,
ToScalaFutureConversions
}
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,12 @@ import org.enso.languageserver.filemanager.ContentRootManagerProtocol.{
ContentRootsAddedNotification,
SubscribeToNotifications
}
import org.enso.logger.ReportLogsOnFailure
import org.enso.polyglot.runtime.Runtime.Api
import org.enso.testkit.{EitherValue, WithTemporaryDirectory}
import org.enso.testkit.{
EitherValue,
ReportLogsOnFailure,
WithTemporaryDirectory
}
import org.scalatest.concurrent.Futures
import org.scalatest.concurrent.ScalaFutures.convertScalaFuture
import org.scalatest.matchers.should.Matchers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package org.enso.languageserver.filemanager
import io.circe.Json
import io.circe.syntax._
import io.circe.literal._
import org.enso.logger.ReportLogsOnFailure
import org.enso.testkit.ReportLogsOnFailure
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package org.enso.languageserver.filemanager

import org.apache.commons.io.FileUtils
import org.enso.languageserver.effect.Effects
import org.enso.logger.ReportLogsOnFailure
import org.enso.testkit.ReportLogsOnFailure
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package org.enso.languageserver.libraries

import org.enso.editions.LibraryName
import org.enso.logger.ReportLogsOnFailure
import org.enso.pkg.{
Component,
ComponentGroup,
Expand All @@ -11,6 +10,7 @@ import org.enso.pkg.{
GroupName,
GroupReference
}
import org.enso.testkit.ReportLogsOnFailure
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package org.enso.languageserver.libraries

import org.enso.editions.LibraryName
import org.enso.logger.ReportLogsOnFailure
import org.enso.pkg.{
ComponentGroup,
ComponentGroups,
Config,
GroupName,
GroupReference
}
import org.enso.testkit.ReportLogsOnFailure
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import org.enso.languageserver.libraries.EditionReference.{
CurrentProjectEdition,
NamedEdition
}
import org.enso.logger.ReportLogsOnFailure
import org.enso.testkit.ReportLogsOnFailure
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.enso.languageserver.libraries

import io.circe.syntax._
import org.enso.logger.ReportLogsOnFailure
import org.enso.testkit.ReportLogsOnFailure
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@ import akka.testkit._
import org.enso.distribution.FileSystem.PathSyntax
import org.enso.editions.LibraryName
import org.enso.librarymanager.LibraryLocations
import org.enso.logger.ReportLogsOnFailure
import org.enso.pkg.PackageManager
import org.enso.testkit.WithTemporaryDirectory
import org.enso.testkit.{ReportLogsOnFailure, WithTemporaryDirectory}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
import org.scalatest.BeforeAndAfterAll
Expand Down
Loading

0 comments on commit 19ff2a2

Please sign in to comment.