Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Chao ee23a8c3f4 Make CliktCommands classes (#963)
Missed these three classes.

This prevents the AOT compiler from statically initializing CLI argument
default values (like working dir).
2025-02-18 08:29:59 -08:00
Daniel Chao 28b128f86f Run spotless formatting (#958)
When we updated spotless's Java and Kotlin formatter, we changed the underlying
formatting rules.
However, due to spotless ratcheting, these formatting changes don't get applied unless a file
gets touched in a commit.

To avoid future PRs introducing lines of change that aren't related to the intention of the PR,
this is a one-time format of all files.
2025-02-17 07:36:43 -08:00
Daniel Chao 28df90527b Add docs for various keywords (#955) 2025-02-14 13:30:22 -08:00
Daniel Chao eabfcdd333 Allow -DcommitId flag when building Pkl (#954)
This is to allow building Pkl in environments that don't have access
to git.
2025-02-14 09:36:47 -08:00
Daniel Chao 1a4f9ee72e Improve handling of errors when analysis fails (#948)
Modules that cannot be loaded for one reason or another now cause a Pkl Exception,
with the offending import highlighted as part of the stack trace.
2025-02-13 14:00:48 -08:00
Daniel ChaoandIslon Scherer 65cf3237b7 Add parser benchmarks (#953)
The current benchmark is not too useful now that we have a linear parser.

This changes the benchmarks to parse the standard library, and also the language snippet tests.

Co-authored-by: Islon Scherer <islonscherer@gmail.com>
2025-02-13 11:22:31 -08:00
Daniel Chao d00d0ba79f Update dependencies (#938) 2025-02-13 10:19:24 -08:00
Daniel Chao 7c3f8ad261 Improve documentation about Set/Map ordering (#944)
The language reference and stdlib are both slightly incorrect;
maps and sets are ordered when iterated on, but unordered in terms of
equality.
2025-02-12 06:43:51 -08:00
Daniel ChaoandIslon Scherer 7ed710c226 Make commands classes instead of objects (#946)
Making these classes caused native-image to statically initialize
them at build time, which included CLI argument default values
(like working dir).

This turns them back into classes.

Co-authored-by: Islon Scherer <islonscherer@gmail.com>
2025-02-11 06:38:19 -08:00
Daniel Chao e85e888f92 [docs] Add documetation about release/evolution/roadmap (#937) 2025-02-05 11:24:41 -08:00
Daniel Chao 3b6fbdff15 Remove usages of VmFunction#apply(Object) (#936)
These call sites should use `ApplyVmFunction1Node` instead.
2025-02-05 09:18:42 -08:00
Daniel Chao 9784cd7265 Turn CLI commands into objects, self register subcommands (#935)
Usages of `RootCommand` no longer need to initialize a new instance, nor register subcommands.
2025-02-05 09:18:23 -08:00
Daniel Chao aadcccd0fc Run a simple eval script (#928)
Execute `1 + 1` instead of eval'ing `circleci.pkl` (might cause
spurious failures due to requirement on network connection).
2025-02-04 07:21:57 -08:00
Daniel ChaoandSam Gammon 9075ca0729 Fix native gvm ci (#930)
* Update GraalVM checksum
* Fix: download JDK on macOS

Signed-off-by: Sam Gammon <sam@elide.dev>
Co-authored-by: Sam Gammon <sam@elide.dev>
2025-02-04 07:21:42 -08:00
Daniel Chao 3815a0206b Optimization: execute const object bodies and typechecks only once (#915)
If the object member is const, it only needs to be executed once, and all children in the prototype chain can use its cached value.

There is a possible other optimization here, not included in this PR: we can avoid adding these values to the child object's cachedMembers.
2025-01-29 07:19:55 -08:00
Daniel Chao 5dc672731d Bump minimum Gradle version to 8.2 (#901)
The Kotlin 2.0 version upgrade made us incompatible with Gradle 8.1.

Given that it is now over 1.5 years old, this drops support for it, and
raises the minimum version to 8.2.
2025-01-27 10:04:31 -08:00
Daniel Chao cdd6d52642 Only run Gradle compatibility tests against minimum and maximum release (#898)
Currently, we run against every release version, which is taking 20
minutes to run in CI, and this will grow as Gradle creates more
releases.

This limits the amount of Gradle versions being tested against;
theoretically, only testing against the minimum version and the maximum
version should ensure that we are compatible with every version in the
range.
2025-01-22 14:08:45 -08:00
Daniel Chao 29049ac437 Import release notes for 0.27.2 (#897) 2025-01-22 09:36:48 -08:00
Daniel Chao 2a9b10097d Revert "Upgrade Kotlin to 1.7.21 (#887)" (#896)
This reverts commit 273d1219a6.
2025-01-22 08:33:06 -08:00
Daniel Chao 257bd6f699 Allow jar:nested: URIs in default security manager (#895)
Nested jars built by spring boot can possibly represent classpath
resource URIs as "jar:nested:".

This changes Pkl to by default trust them with the same level as
modulepath URIs.
2025-01-22 06:42:47 -08:00
Daniel Chao ec7d7267dc Update dependencies (#883)
Most of these dependencies are test dependencies.
2025-01-15 05:39:14 -08:00
Daniel Chao 3096da1920 Update gradle to 8.12 (#884) 2025-01-15 05:38:51 -08:00
Daniel Chao 100dd0560e Support jpkl executable for Windows (#872)
This updates the script used to start the executable to support
Windows as well.

For Windows support, the executable needs to be named `jpkl.bat`.
2025-01-14 05:16:59 -08:00
Daniel Chao f6c74e90a8 Update license year (#871)
* Update license header file spec to use placeholder year
* Update spotless to use ratchet formatting (only format files that have changed)
2025-01-07 10:15:07 +00:00
Daniel Chao a014e8d1d1 Add comment about const check (#859) 2024-12-23 11:38:33 -08:00
Daniel Chao 6fd82a5bb8 Clarify terminology on renderer converters (#860) 2024-12-20 10:36:51 -08:00
Daniel Chao 29fb99ffea Update JDK version in dev docs (#848) 2024-12-20 10:36:35 -08:00
Daniel Chao efe1608bd6 Fix compile error (#857)
PRs https://github.com/apple/pkl/pull/789 and https://github.com/apple/pkl/pull/837 being merged caused a compile error; this fixes them.
2024-12-19 12:15:30 -08:00
Daniel Chao 9982511513 Download JDK for windows build (#851)
Don't use the system Java on Windows builds, instead download them from Adoptium.

Also:

* Fail job if curl returns a 4xx status code
* Add java version to `GradleJob`
2024-12-19 09:23:04 -08:00
Daniel Chao b93cb9b322 Exclude non file-based modules from synthesized *GatherImports task (#821)
This fixes an issue where certain modules tasks fail due to the plugin
attempting to analyze their imports, but the arguments may not actually be
Pkl modules.

For example, the pkldoc task accepts entire packages in its "sourceMoules" property.

This changes the gather imports logic to only analyze file-based modules.
This is also a performance improvement; non file-based modules are unlikely to import
files due to insufficient trust levels.

Also: fix a bug when generating pkldoc on Windows
2024-11-18 11:14:17 -08:00
Dan Chao 44fd680e43 Start next dev iteration 2024-11-05 10:34:31 -08:00
Dan Chao 33bffbe158 Prepare 0.27.0 release 2024-11-05 10:34:31 -08:00
7eedcf1e50 Prepare 0.27.0 release notes (#756)
Co-authored-by: translatenix <119817707+translatenix@users.noreply.github.com>
Co-authored-by: Philip K.F. Hölzenspies <holzensp@gmail.com>
Co-authored-by: Islon Scherer <islonscherer@gmail.com>
2024-11-05 09:49:50 -08:00
Daniel Chao a85a173faa Fix equals/hashCode/hasCachedValue in delegating listings/mappings (#781)
This fixes issues when a mapping/listing delegates to another mapping/listing.

The core issue is that `cachedValues` is not guaranteed to be the complete set
of the object's members; they may be stored on the delegate instead.

Therefore, it's not correct compute hash code and equality based on `cachedValues`.
Instead, it's better to use the `getCachedValue()` method, which has the correct
logic for looking up the existing cached value.
2024-11-05 09:05:36 -08:00
Daniel Chao b402463f3c Eagerly check function arguments when called from inside iterable (#778)
This mitigates an issue where lazy mappings and listings widen an existing bug.

This is a follow-up to https://github.com/apple/pkl/pull/752.
2024-11-05 09:05:09 -08:00
40a08affa6 Use ANSI colors for test results; more polish (#771)
Any thrown Pkl Errors are colored in the simple test report!

Also:
* Refactor `TextFormatter` to be more generic; rename to `TextFormattingStringBuilder`
* Adjust test report slightly (no emojis, add more spacing).
* Introduce `ColorTheme` class.
* Make stack frame descriptors colored as "faint"

Also: this changes the summary so it summarizes _all_ modules, rather than a summary per module.

---------

Co-authored-by: Islon Scherer <islonscherer@gmail.com>
Co-authored-by: Philip K.F. Hölzenspies <holzensp@gmail.com>
2024-11-04 14:14:19 -08:00
Daniel Chao 4b4d81ba93 Fix semver comparison logic (#773)
Fix `isLessThan` logic between semvers
2024-11-03 20:31:04 -08:00
Daniel Chao 66d751f093 Eagerly check listing/mapping in iterables (#752)
There is currently a bug around resolving variables within the iterable of a for
generator or spread syntax (https://github.com/apple/pkl/issues/741)

Normally, mappings/listings are type-checked lazily. However, this results in the said
bug getting widened, for any object members declared in the iterable.

As a workaround for now, prevent the bug from being any worse by ensuring that these
object members are eagerly typechecked.
2024-10-31 14:22:24 -07:00
Daniel Chao acd2222534 Polish test result running and reporting (#738)
Changes:
* Move class `TestResults` to package `org.pkl.core`, because it is a public class (it's the result of `Evaluator#evaluateTest`)
* Change examples to treat individual examples as assertions in the same test. Previously, they were considered different tests with an incrementing number. This better aligns with how facts are treated.
* Change `TestResults` to be a record, and introduce builders.
* Remove "module" test result section (it is not really a section).
* Add javadoc to `TestResults`
* Formatting fix: prefix ✍️ emoji just like we do the  and  emojis 
* Consider writing examples as failures, not successes. `pkl test` will exit with code 10 if the only failing tests are due to writing examples.
2024-10-28 21:05:13 -07:00
Daniel Chao 466ae6fd4c Exclude non-ascii files from windows native snippet tests (#739)
There is an existing bug that is preventing the CLI from loading
these files.
2024-10-26 07:56:00 -07:00
Daniel Chao 22c9a6c9f4 Exclude thrown ascii filename error from native tests (#737)
The URI encoding is not predictable here.
2024-10-24 08:20:56 -07:00
Daniel Chao 5a654e453c Fix formatting issues (#733) 2024-10-23 20:49:16 -07:00
Daniel Chao 9d10832ffc Fix typecheck error on Listing/Mapping (#725)
The addresses the following case:

    local l1: Listing<String> = new { 1 }
    l2: Listing<Int> = (l1) { 2 }

The member in `l1` should be checked against its owner; to check against `Listing<String>`.
2024-10-23 14:38:30 -07:00
Daniel Chao ce25cb8ef0 Add analyze imports libs (SPICE-0001) (#695)
This adds a new feature to build a dependency graph of Pkl programs, following the SPICE outlined in https://github.com/apple/pkl-evolution/pull/2.

It adds:
* CLI command `pkl analyze imports`
* Java API `org.pkl.core.Analyzer`
* Pkl stdlib module `pkl:analyze`
* pkl-gradle extension `analyze`

In addition, it also changes the Gradle plugin such that `transitiveModules` is by default computed from the import graph.
2024-10-23 14:36:57 -07:00
Daniel Chao 0ee3d37524 Add support for const object members (#678)
This adds support for adding the `const` modifier to object members.

Such object members are also required to have the `local` modifier applied.

This follows SPICE-0011.
2024-10-21 22:00:12 -07:00
Daniel Chao 2add291375 Fix formatting of let expressions (#702) 2024-10-17 07:02:24 -07:00
Daniel Chao 7ac51f1f88 Fix invalid syntax in doc comments of pkl:reflect members (#703) 2024-10-17 07:02:10 -07:00
Daniel Chao 3600582908 Add .vscode and .pkl-lsp to gitignore (#677) 2024-10-11 07:59:35 -07:00
Daniel Chao 47f2143e0d Fix PklBugException when reading local package assets (#642) 2024-09-10 05:51:34 -07:00
Daniel Chao 7868d9d9c8 Typecheck Mapping/Listing members lazily (#628)
This changes how the language performs typechecks for mappings and
listings.

Currently, Pkl will shallow-force any Mapping and Listing to check it
the type parameter (e.g. Listing<Person> means each element is checked
to be an instance of Person).

This changes the language to check each member's type when the member
is accessed.

This also adjust test runner to handle thrown errors from within tests.

With the change to make mapping/listing typechecks lazy, we can now
correctly handle thrown errors from within a single test case.

This adjusts the test runner to consider any thrown errors as a failure
for that specific test case.
2024-09-06 15:05:23 -07:00
Daniel Chao b1c2015321 Cherry pick 0.26.3 release notes (#615) 2024-08-06 12:08:44 -07:00
Daniel Chao 7c4904429f Fix: make Gradle tests compatible with Gradle 8.1 (#610)
The tests were using assignment expressions, a Kotlin compiler feature
only available in Gradle 8.2 and onwards.
2024-08-06 07:55:13 -07:00
Daniel Chao d5e86ed077 Fix: globbing--read extra storage from owner instead of receiver (#607)
This fixes an issue where a PklBugException is thrown when a globbed
read/import is amended.
2024-08-05 10:27:50 -07:00
Daniel Chao 604b042d1b Make EvalTask track resolved output paths and fix file() notation on Gradle on Windows (#403)
* Add `getEffectiveOutputFiles` and `getEffectiveOutputDirs` to `EvalTask`, and mark them as output files/dirs so they are tracked by Gradle. This enables implicit dependency tracking between two tasks.
* Fix usage of `file()` notation in Gradle scripts when on Windows.
2024-07-25 17:41:03 -07:00
Daniel Chao e81a47a038 Import release notes for 0.26.2 (#587) 2024-07-18 09:39:13 -07:00
Daniel Chao 176ede0002 Fix race condition when concurrently downloading packages (#584)
This fixes a possible race condition where multiple processes download
the same package into the same temp dir.
2024-07-18 09:11:25 -07:00
Dan Chao 527d236ba4 Add Git ignore-revs file 2024-07-01 09:24:04 -07:00
Dan Chao 8c1c10528f Run spotless apply 2024-07-01 09:24:04 -07:00
Dan Chao 7a9b571f6e Use spotless to format remaining Kotlin files
Also: fix issue where some commented out Kotlin files are invalid.
2024-07-01 09:24:04 -07:00
Daniel Chao 49aaf288cc Cherry-pick release notes for 0.26.1 (#557) 2024-06-28 10:23:24 -07:00
Daniel Chao 51d7265ec6 Do not enable TLS certificate revocation checks by default (#553)
This addresses an issue where network requests may fail if cert revocation checks
error, which may occur due to availability issues, or due to lack of internet access.

Revocation checking can still be enabled by setting JVM property com.sun.net.ssl.checkRevocation if on the JVM.

Also:
* Load built-in certs from resources, and move them to pkl-commons-cli
* Fix an issue where HttpInitException is not caught when loading a module
2024-06-28 08:57:46 -07:00
Daniel Chao 420336dc78 Only run Gradle compatibility tests against releases in CI (#554)
This fixes our CI tests on main. It mitigates an issue where the current RC is borked right now.
2024-06-28 07:57:27 -07:00
Daniel Chao 70e77347f3 Use compatible architecture in native executables (#551)
Use the most compatible architecture; for example, x86-64 instead of
x86-64-v3.
2024-06-27 07:39:17 -07:00
Daniel Chao 5c950d2e73 docs: add contributor for 0.26 release (#546)
Add a contributor name who was missing from acknowledgements.
2024-06-24 07:47:26 -07:00
Daniel Chao 570c2085b3 Recover if rm command removes no files (#538) 2024-06-17 10:47:58 -07:00
Daniel ChaoandPhilip K.F. Hölzenspies 00c2e00bb9 Add release notes for 0.26 (#529)
This adds release notes for 0.26.

Also:

* Adjust IJ settings to ignore certain http: strings
* Add note about http introduced in 0.26 in message passing api

Co-authored-by: Philip K.F. Hölzenspies <holzensp@gmail.com>
2024-06-17 08:03:41 -07:00
Daniel Chao f15ad6ec06 Change CLI flag and Gradle name for proxy options (#526)
Rationale: "proxy" can mean very different things (e.g. java.lang.reflect.Proxy in Java).
This makes the flag name more specific.

CLI:
* `--proxy` -> `--http-proxy`
* `--no-proxy` -> `--http-no-proxy`

Gradle:
* `proxyAddress` -> `httpProxy`
* `noProxy` -> `httpNoProxy`
2024-06-14 08:08:21 -07:00
Daniel Chao 380095c8a7 Change Gradle property to "rename" (#528)
This changes the property to match the name of the CLI flag.
2024-06-14 07:36:28 -07:00
Daniel Chao 9c287a2e48 Catch PklException errors coming from project load (#527)
This fixes an issue where an error coming from loading a project file is shown as a PklBugException.

There were two problems here:

1. proxyAddress needs to be a lazy value, because it can try to load a PklProject
2. accessing proxyAddress can throw a PklException, so it needs to be within the try/catch
2024-06-14 07:33:44 -07:00
Daniel Chao 3bd9214858 Adjust docs for proxying (#523)
Update/polish up the documentation around http proxying
2024-06-13 09:46:21 -07:00
Daniel Chao 919de4838c Improve handling of CA certificates (#518)
Instead of bundling Pkl's built-in CA certificates as a class path resource and loading them at runtime,
pass them to the native image compiler as the default SSL context's trust store.
This results in faster SSL initialization and is more consistent with how default certificates
are handled when running on the JVM.

Further related improvements:
- Remove HttpClientBuilder methods `addDefaultCliCertificates` and `addBuiltInCertificates`.
- Remove pkl-certs subproject and the optional dependencies on it.
- Move `PklCARoots.pem` to `pkl-cli/src/certs`.
- Fix certificate related error messages that were missing an argument.
- Prevent PklBugException if initialization of `CliBaseOptions.httpClient` fails.
- Add ability to set CA certificates as a byte array
- Add CA certificates option to message passing API
2024-06-12 17:53:03 -07:00
Daniel Chao a520ae7d04 Fix missing paragraph in Windows installation docs (#520) 2024-06-11 08:00:37 -07:00
Daniel Chao 21749f5c82 Use Pkl syntax highlighting instead of Groovy (#519)
Now that Pkl syntax highlighting is available on GitHub,
we can remove the Groovy association with these files.

This also adds changes to mark `*.pcf` and `PklProject` files as Pkl.
2024-06-11 07:58:24 -07:00
Daniel Chao a4c0a271b4 Require references from typealiases to be const (#516)
This adds a language change that requires references from typealiases
to the enclosing module to be `const`.

This is required because typealiases are not late-bound.

Rationale is laid out in SPICE-0007.

Also:
* Update documentation to reflect new rules.
* Fix `Project.pkl`; mark method `const` to not break said rule.
2024-06-10 09:01:05 -07:00
Daniel Chao 9cc9816440 Fix native tests in CircleCI (#514)
Fix an issue where the CI job attempts to install the wrong executable
when on macOS/aarch64.

Also, adjusts native test definitions in pkl-server to match pkl-core.
2024-06-05 09:05:16 -07:00
Daniel Chao d5ba8fa736 Support scheme-agnostic projects (#486)
This adds changes to support loading project dependencies in non-file based projects.

The design for this feature can be found in SPICE-0005: https://github.com/apple/pkl-evolution/pull/6

Changes:
* Consider all imports prefixed with `@` as dependency notation.
* Bugfix: fix resolution of glob expressions in a local dependency.
* Adjust pkl.Project:
  - Allow local dependencies from a scheme-local paths.
  - Disallow certain evaluator settings if not loaded as a file-based module.
* Breaking API change: `ProjectDependenciesManager` constructor now requires `ModuleResolver` and `SecurityManager`.
2024-06-04 16:52:20 -07:00
Daniel Chao c0a7080287 Fix line endings (#513)
* Adjust gitattributes file (mark some files binary, mark bat files as using crlf endings)
* Fix remaining line endings issues
2024-06-04 07:55:33 -07:00
Daniel Chao d81a12352c Improve configuration and tests for native-image (#509)
* Don't expose JDK internal classes; instead solve msgpack issue with `--initialize-at-run-time`.
* Use quick build mode for non-release builds:  40% faster compilation, 20% smaller executable.
* Remove options that were commented out.
* Also run ServerTest against native executable
2024-06-03 17:08:30 -07:00
Daniel Chao 5b7123131f Change line endings from CRLF to LF (#511) 2024-05-30 08:41:21 -07:00
Daniel ChaoandPhilip K.F. Hölzenspies 8ec06e631f Add support for Windows (#492)
This adds support for Windows.
The in-language path separator is still `/`, to ensure Pkl programs are cross-platform.

Log lines are written using CRLF endings on Windows.
Modules that are combined with `--module-output-separator` uses LF endings to ensure
consistent rendering across platforms.

`jpkl` does not work on Windows as a direct executable.
However, it can work with `java -jar jpkl`.

Additional details:

* Adjust git settings for Windows
* Add native executable for pkl cli
* Add jdk17 windows Gradle check in CI
* Adjust CI test reports to be staged within Gradle rather than by shell script.
* Fix: encode more characters that are not safe Windows paths
* Skip running tests involving symbolic links on Windows (these require administrator privileges to run).
* Introduce custom implementation of `IoUtils.relativize`
* Allow Gradle to initialize ExecutableJar `Property` values
* Add Gradle flag to enable remote JVM debugging

Co-authored-by: Philip K.F. Hölzenspies <holzensp@gmail.com>
2024-05-28 15:56:20 -07:00
Daniel Chao 5e4ccfd4e8 Omit showing stdlib as dependency in pkldoc (#503)
The stdlib is an implicit dependency for every package.
Showing this as a dependency is unnecessary noise.
2024-05-28 13:42:57 -07:00
Daniel Chao 47f161a211 Clean up unnecessary CI (#502) 2024-05-21 08:48:02 -07:00
Daniel Chao d0def765a2 Make http(s) URIs their own module key (#495)
GenericUrl is a catch-all that uses URL.openConnection().
Since we now have special handling of HTTP urls, it makes more sense to
put it in its own module key.
2024-05-16 08:38:43 -07:00
Daniel Chao 5f4d475d84 Fix local dependency globbing (#496)
This fixes an issue where globbing resources within a local dependency
fails to match anything.
2024-05-16 08:36:37 -07:00
Dan Chao a5c13e325a Encode filepaths to be safe on Windows
This changes the file paths to use characters that are safe for Windows.

Channges the output of the following:
* Package cache directory
* Generated pkl-doc files
* Kotlin generated code

Unsafe characters are encoded as (<hex>).
For example, the colon character `:` is encoded as `(3a)`.

Additionally, this changes the cache directory prefix (package-1 to
package-2).

Follows the design of https://github.com/apple/pkl-evolution/pull/3
2024-05-13 14:06:28 -07:00
Dan Chao 110dc89e86 Improve URI encoding in pkldoc
Only encode characters that are strictly necessary in URI paths.

This removes encoding for parentheses, for example.
2024-05-13 14:06:28 -07:00
Daniel Chao 7da643fc8f Handle null pathElements gracefully in message passing API (#480)
In messages "List Resources Response" and "List Modules Response",
if `pathElements` and `error` are both null, default to an empty list.
2024-05-08 07:22:57 -07:00
Daniel Chao 21aa44cfc4 Require global settings file to use pkl:settings (#477)
This is technically a breaking change, but follows the intended use-case
and documentation of settings.

* Require that the global settings file at `~/.pkl/settings.pkl`
amends stdlib module `pkl:settings`, or otherwise sets `output.value`
to an instance of `pkl.Settings`.
* Simplify the object mapping of `PklSettings.java`
2024-05-07 07:49:00 -07:00
Daniel Chao d28313bca8 Declare members of http package NonnullByDefault (#471)
* Add a package-info.java with NonnullByDefault annotation
* Make RequestCapturingClient return a response to satisfy the type checker
2024-05-03 09:58:01 -07:00
Daniel Chao ed1b317801 Fix formatting error (#463) 2024-04-30 07:33:36 -07:00
Daniel Chao 0d3400fb59 Don't install GraalVM for an architecture that can't be built (#452)
This fixes an issue where the build native tasks will try
to install GraalVM for an architecture that it can't build.
2024-04-29 15:36:27 -07:00
Daniel Chao e28d747418 JDK version bump cleaups, bump minimum Gradle version to 8.1 (#454)
* Bump JDK when running simple gradle CI jobs
* Bump minimum Gradle version to 8.1
* Fix docs, and fix minimum version checker
2024-04-26 07:42:39 -07:00
Daniel Chao 3ab9e4184e Drop java 11, bump GraalVM to 23.0 (#439)
* Remove unnecessary strictfp modifier
* Add annotations to address Truffle DSL warnings (@Idempotent, @Exclusive)
* Adjust build logic to allow building cross-arch on macOS
* Add warning suppression for specialization limit (left this one as a TODO)
2024-04-24 16:17:19 -07:00
Daniel Chao 6e2ea07986 Fix documentation about ValueRenderer converters (#422)
* Class-based converters are covariant, not invariant.
* The most specific class-based converter wins
* The first declared path-based converter that matches wins
2024-04-16 10:28:05 -07:00
Daniel Chao 58ed8242af Fix links for downloading snapshot executables (#391)
Also, quote the URLs for better shell compatibility
2024-04-04 07:43:42 -07:00
Daniel Chao 28448b5512 Ensure owner and receiver are reset after executing alias (#373)
This fixes an issue where the frame's owner/receiver are not reset
if a type test on a typealias fails.
2024-03-28 07:58:22 -07:00
Daniel ChaoandFruxz 759d4806c0 Fix java/kotlin usage examples (#372)
Co-authored-by: Fruxz <28064149+TheFruxz@users.noreply.github.com>
2024-03-28 07:57:28 -07:00
Daniel Chao c28e478d5a Fix links to pkl-go and pkl-swift repos (#364)
Using `xref` turns these links into fragments.
2024-03-27 12:30:41 -07:00
Daniel Chao 4bdfe40816 Import release notes for 0.25.3 (#365)
This adds the release notes for 0.25.3 into CHANGELOG.
2024-03-27 11:56:29 -07:00
Daniel Chao c9ed183891 Fix source links in pkldoc (#362)
Fixes an issue where source links are incorrectly URI encoded; i.e. `https%3A//github.com` instead of `https://github.com`.

This was causing the browser to resolve these as relative to the enclosing page.
2024-03-26 07:48:55 -07:00