translatenix 014b3a8816 Bind PackageServer to ephemeral port to avoid port conflicts (#227)
This is a comprehensive solution to the "flaky PackageServer tests"
problem. It rules out port conflicts and imposes no limits on test
parallelism. The same solution can be used for other test servers
in the future.

Major changes:
- Turn `PackageServer` from a singleton into a class that is
  instantiated per test class or test method.
- Start the server the first time its `port` property is read.
  Bind the server to an ephemeral port instead of port 12110.
- For every test that uses `PackageServer`, pass the server port to
  `--test-port`, `HttpClient.Builder.setTestPort`, the `CliBaseOptions`
  or `ExecutorOptions` constructor, or the Gradle plugin's `testPort` property.
  Wire all of these to `RequestRewritingClient`'s `testPort` constructor parameter.
- Enhance `RequestRewritingClient` to replace port 12110 with `testPort`
  in request URIs unless `testPort` is -1 (its default).
- Introduce `ExecutorOptions.Builder`.
  This makes executor options more comfortable to create
  and allows to hide options such as `testPort`.
- Deprecate the `ExecutorOptions` constructor to steer users towards the builder.
- Get rid of `ExecutorOptions2`, which is no longer needed.
- Clean up `EmbeddedExecutorTest` with the help of the builder.
2024-03-13 10:40:55 -07:00
2024-02-01 14:00:22 -08:00
2024-02-21 11:31:22 +00:00
2024-02-27 07:50:00 -08:00
2024-02-01 14:00:22 -08:00
2024-02-01 14:00:22 -08:00
2024-02-01 14:00:22 -08:00
2024-02-21 11:31:22 +00:00
2024-02-01 14:00:22 -08:00
2024-02-01 14:00:22 -08:00
2024-02-01 14:00:22 -08:00
2024-02-01 14:00:22 -08:00
2024-02-01 20:55:37 -08:00
2024-02-01 14:00:22 -08:00
2024-02-01 14:00:22 -08:00
2024-02-01 14:00:22 -08:00
2024-02-26 18:28:29 +01:00
2024-02-01 14:00:22 -08:00
2024-02-01 14:00:22 -08:00
2024-02-01 14:00:22 -08:00

= image:.idea/icon.svg[Pkl,30] Pkl 

:uri-homepage: https://pkl-lang.org
:uri-docs: {uri-homepage}/main/current
:uri-docs-introduction: {uri-docs}/introduction
:uri-docs-release-notes: {uri-docs}/release-notes
:uri-docs-language: {uri-docs}/language
:uri-docs-tools: {uri-docs}/tools
:uri-github-issue: https://github.com/apple/pkl/issues
:uri-github-discussions: https://github.com/apple/pkl/discussions
:uri-pkl-examples: https://pkl-lang.org/main/current/examples.html
:uri-installation: https://pkl-lang.org/main/current/pkl-cli/index.html#installation
:uri-lang-reference: https://pkl-lang.org/main/current/language-reference/index.html
:uri-ci-artifacts: https://s01.oss.sonatype.org/content/groups/public/org/pkl-lang/
:uri-ci-pipeline: https://app.circleci.com/pipelines/github/apple/pkl

A configuration as code language with rich validation and tooling.

== Quick Links

* {uri-installation}[Installation]
* {uri-lang-reference}[Language Reference]

== Documentation

* {uri-homepage}[Home Page]
** {uri-docs-introduction}[Introduction]
** {uri-docs-language}[Language]
** {uri-docs-tools}[Tools]
** {uri-pkl-examples}[Examples]
** {uri-docs-release-notes}[Release Notes]

== Community

We'd love to hear from you!

* Create an {uri-github-issue}[issue]
* Ask a question on {uri-github-discussions}[GitHub Discussions]

== Development image:https://circleci.com/gh/apple/pkl.svg?style=svg["Apple", link="https://app.circleci.com/pipelines/github/apple/pkl"]
* link:CONTRIBUTING.adoc[] for tips on pull requests and filing issues
* link:DEVELOPMENT.adoc[] for build instructions
* {uri-ci-artifacts}[Sonatype Repository] for the artifacts/binaries built by our {uri-ci-pipeline}[CI pipelines] (and those of our other tools and packages repositories).
Description
No description provided
Readme 30 MiB
Latest
2025-12-15 20:18:34 +01:00
Languages
Java 63.9%
Kotlin 30.3%
Pkl 5%
JavaScript 0.6%
CSS 0.2%