enso/distribution/project-manager/THIRD-PARTY/NOTICE
Hubert Plociniczak c54c3b7e9d
Eliminate circe-yaml dependency (#10326)
* Eliminating circe-yaml

This change adds our very-own YAML parser on top of SnakeYAML. Compared
to Circe parser on top of SnakeYAML. The advantage? In some not-so-distant
future we might actually get rid of circe and the related performance
issues.

The logic is similar to what circe does i.e. analyzing SnakeYAML to
build our own structure.
This change is not complete, as there are still some tests failing, but
most common Configs are already parseable.
We _could_ auto-generate some of the code but still some of the logic
would have to be tweaked by hand; the current logic has a number of
special cases, as I found out the hard way.

* wip: more tests passing

* Fix remaining tests in ConfigSpec

* Fixing YAML decoder for editions

Dropping circe as a decoder for Editions revealed some problems. Turns
out the current implementation had even more special cases to deal with.

* nit

* Allow for empty exports

* Mostly complete encodin part

Replaced almost all `toYAML` locations with SnakeYAML equivalent.
The encoding has to use Java collections for which there exists a
built-in support. If we were to use Scala collections we would have to
deal with tagging, at the very least.

* Remove the last remaining Circe's YAML parser

* Bug fix + further loop optimization

* removal of some dependencies

* Remove circe-yaml

Added a custom SnakeYAML Node updater to mimick the JSON -> YAML -> JSON
conversion needed for updating fields. The algorithm recursively follows
the key-path and inserts the desired Node. This is not a performance
oriented code on purpose.

* Fix compilation issues

`circe-core` was marked as `provided` but no one eventually included it
in the final jar, hence `NoClassFoundException`.

* fix licensing

* Removing obsolete circe definitions

* fmt

* nits

* s/SnakeYamlDecoder/YamlDecoder

* fmt

* Partial revert, PM needs JSON decoders/encoders

* style

* incremental compilation gone wrong
2024-07-05 09:32:45 +02:00

418 lines
22 KiB
Plaintext

Enso
Copyright 2020 New Byte Order sp. z o. o.
As the Project Manager is built into a native binary using GraalVM Native Image,
some of the dependencies that are listed here may not actually be distributed
with it if their code was removed during compilation. For completeness, this
document lists all source dependencies that were used for its compilation.
The version of this Project Manager built for the Linux platform uses `zlib`
created by Jean-loup Gailly and Mark Adler, see: `COPYRIGHT-ZLIB`.
The version of this Project Manager built for the Linux platform uses the `musl`
libc licensed under the MIT license. Its copyright notice is included in file
`COPYRIGHT-MUSL`.
------------------------------
'shapeless_2.13', licensed under the Apache 2, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.chuusai.shapeless_2.13-2.3.10`.
'jsoniter-scala-core_2.13', licensed under the MIT License, is distributed with the project-manager.
The license information can be found along with the copyright notices.
Copyright notices related to this dependency can be found in the directory `com.github.plokhotnyuk.jsoniter-scala.jsoniter-scala-core_2.13-2.28.5`.
'jsoniter-scala-macros_2.13', licensed under the MIT License, is distributed with the project-manager.
The license information can be found along with the copyright notices.
Copyright notices related to this dependency can be found in the directory `com.github.plokhotnyuk.jsoniter-scala.jsoniter-scala-macros_2.13-2.28.5`.
'pureconfig-core_2.13', licensed under the Mozilla Public License, version 2.0, is distributed with the project-manager.
The license information can be found along with the copyright notices.
Copyright notices related to this dependency can be found in the directory `com.github.pureconfig.pureconfig-core_2.13-0.17.4`.
'pureconfig-generic-base_2.13', licensed under the Mozilla Public License, version 2.0, is distributed with the project-manager.
The license information can be found along with the copyright notices.
Copyright notices related to this dependency can be found in the directory `com.github.pureconfig.pureconfig-generic-base_2.13-0.17.4`.
'pureconfig-generic_2.13', licensed under the Mozilla Public License, version 2.0, is distributed with the project-manager.
The license information can be found along with the copyright notices.
Copyright notices related to this dependency can be found in the directory `com.github.pureconfig.pureconfig-generic_2.13-0.17.4`.
'pureconfig_2.13', licensed under the Mozilla Public License, version 2.0, is distributed with the project-manager.
The license file can be found at `licenses/Mozilla Public License, version 2.0.html`.
Copyright notices related to this dependency can be found in the directory `com.github.pureconfig.pureconfig_2.13-0.17.4`.
'flatbuffers-java', licensed under the Apache License V2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.google.flatbuffers.flatbuffers-java-24.3.25`.
'akka-actor-typed_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.typesafe.akka.akka-actor-typed_2.13-2.6.20`.
'akka-actor_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.typesafe.akka.akka-actor_2.13-2.6.20`.
'akka-http-core_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.typesafe.akka.akka-http-core_2.13-10.2.10`.
'akka-http-spray-json_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.typesafe.akka.akka-http-spray-json_2.13-10.2.10`.
'akka-http_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.typesafe.akka.akka-http_2.13-10.2.10`.
'akka-parsing_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.typesafe.akka.akka-parsing_2.13-10.2.10`.
'akka-protobuf-v3_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license information can be found along with the copyright notices.
Copyright notices related to this dependency can be found in the directory `com.typesafe.akka.akka-protobuf-v3_2.13-2.6.20`.
'akka-slf4j_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.typesafe.akka.akka-slf4j_2.13-2.6.20`.
'akka-stream_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.typesafe.akka.akka-stream_2.13-2.6.20`.
'config', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.typesafe.config-1.4.2`.
'scala-logging_2.13', licensed under the Apache 2.0 License, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.typesafe.scala-logging.scala-logging_2.13-3.9.4`.
'ssl-config-core_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `com.typesafe.ssl-config-core_2.13-0.4.3`.
'commons-cli', licensed under the Apache License, Version 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `commons-cli.commons-cli-1.5.0`.
'commons-io', licensed under the Apache-2.0, is distributed with the project-manager.
The license information can be found along with the copyright notices.
Copyright notices related to this dependency can be found in the directory `commons-io.commons-io-2.12.0`.
'izumi-reflect-thirdparty-boopickle-shaded_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `dev.zio.izumi-reflect-thirdparty-boopickle-shaded_2.13-2.3.8`.
'izumi-reflect_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `dev.zio.izumi-reflect_2.13-2.3.8`.
'zio-internal-macros_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `dev.zio.zio-internal-macros_2.13-2.0.14`.
'zio-interop-cats_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `dev.zio.zio-interop-cats_2.13-23.0.0.6`.
'zio-stacktracer_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `dev.zio.zio-stacktracer_2.13-2.0.14`.
'zio_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `dev.zio.zio_2.13-2.0.14`.
'circe-core_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.circe.circe-core_2.13-0.14.7`.
'circe-generic_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.circe.circe-generic_2.13-0.14.7`.
'circe-jawn_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.circe.circe-jawn_2.13-0.14.7`.
'circe-literal_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.circe.circe-literal_2.13-0.14.7`.
'circe-numbers_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.circe.circe-numbers_2.13-0.14.7`.
'circe-parser_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.circe.circe-parser_2.13-0.14.7`.
'helidon-builder-api', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.builder.helidon-builder-api-4.0.8`.
'helidon-common-features', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.features.helidon-common-features-4.0.8`.
'helidon-common-features-api', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.features.helidon-common-features-api-4.0.8`.
'helidon-common', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-4.0.8`.
'helidon-common-buffers', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-buffers-4.0.8`.
'helidon-common-config', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-config-4.0.8`.
'helidon-common-configurable', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-configurable-4.0.8`.
'helidon-common-context', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-context-4.0.8`.
'helidon-common-key-util', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-key-util-4.0.8`.
'helidon-common-mapper', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-mapper-4.0.8`.
'helidon-common-media-type', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-media-type-4.0.8`.
'helidon-common-parameters', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-parameters-4.0.8`.
'helidon-common-security', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-security-4.0.8`.
'helidon-common-socket', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-socket-4.0.8`.
'helidon-common-task', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-task-4.0.8`.
'helidon-common-tls', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-tls-4.0.8`.
'helidon-common-types', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-types-4.0.8`.
'helidon-common-uri', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.common.helidon-common-uri-4.0.8`.
'helidon-config', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.config.helidon-config-4.0.8`.
'helidon', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.helidon-4.0.8`.
'helidon-http-encoding', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.http.encoding.helidon-http-encoding-4.0.8`.
'helidon-http', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.http.helidon-http-4.0.8`.
'helidon-http-media', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.http.media.helidon-http-media-4.0.8`.
'helidon-inject-api', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.inject.helidon-inject-api-4.0.8`.
'helidon-logging-common', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.logging.helidon-logging-common-4.0.8`.
'helidon-webclient', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.webclient.helidon-webclient-4.0.8`.
'helidon-webclient-api', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.webclient.helidon-webclient-api-4.0.8`.
'helidon-webclient-http1', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.webclient.helidon-webclient-http1-4.0.8`.
'helidon-webclient-websocket', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.webclient.helidon-webclient-websocket-4.0.8`.
'helidon-webserver', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.webserver.helidon-webserver-4.0.8`.
'helidon-webserver-websocket', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.webserver.helidon-webserver-websocket-4.0.8`.
'helidon-websocket', licensed under the Apache 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.helidon.websocket.helidon-websocket-4.0.8`.
'spray-json_2.13', licensed under the Apache 2, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `io.spray.spray-json_2.13-1.3.6`.
'jakarta.inject-api', licensed under the The Apache Software License, Version 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `jakarta.inject.jakarta.inject-api-2.0.1`.
'commons-compress', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `org.apache.commons.commons-compress-1.23.0`.
'commons-lang3', licensed under the Apache License, Version 2.0, is distributed with the project-manager.
The license information can be found along with the copyright notices.
Copyright notices related to this dependency can be found in the directory `org.apache.commons.commons-lang3-3.12.0`.
'reactive-streams', licensed under the CC0, is distributed with the project-manager.
The license file can be found at `licenses/CC0`.
Copyright notices related to this dependency can be found in the directory `org.reactivestreams.reactive-streams-1.0.3`.
'scala-java8-compat_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `org.scala-lang.modules.scala-java8-compat_2.13-1.0.0`.
'scala-parser-combinators_2.13', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `org.scala-lang.modules.scala-parser-combinators_2.13-1.1.2`.
'scala-library', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `org.scala-lang.scala-library-2.13.11`.
'scala-reflect', licensed under the Apache-2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `org.scala-lang.scala-reflect-2.13.11`.
'slf4j-api', licensed under the MIT License, is distributed with the project-manager.
The license file can be found at `licenses/MIT`.
Copyright notices related to this dependency can be found in the directory `org.slf4j.slf4j-api-2.0.9`.
'cats-core_2.13', licensed under the MIT, is distributed with the project-manager.
The license file can be found at `licenses/MIT`.
Copyright notices related to this dependency can be found in the directory `org.typelevel.cats-core_2.13-2.10.0`.
'cats-kernel_2.13', licensed under the MIT, is distributed with the project-manager.
The license file can be found at `licenses/MIT`.
Copyright notices related to this dependency can be found in the directory `org.typelevel.cats-kernel_2.13-2.10.0`.
'jawn-parser_2.13', licensed under the MIT, is distributed with the project-manager.
The license information can be found along with the copyright notices.
Copyright notices related to this dependency can be found in the directory `org.typelevel.jawn-parser_2.13-1.5.1`.
'snakeyaml', licensed under the Apache License, Version 2.0, is distributed with the project-manager.
The license file can be found at `licenses/APACHE2.0`.
Copyright notices related to this dependency can be found in the directory `org.yaml.snakeyaml-2.2`.