Commit Graph
129 Commits
Author SHA1 Message Date
Philip K.F. HölzenspiesandGitHub e996a342cc Remove links from headers in release notes (#535) 2024-06-17 16:43:22 +01:00
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
Alan SchergerandGitHub 4a7f90157a Documentation fix: const cannot be assigned/amended (#485) 2024-06-14 10:10:41 -07:00
Daniel ChaoandGitHub 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 ChaoandGitHub 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 ChaoandGitHub 3bd9214858 Adjust docs for proxying (#523)
Update/polish up the documentation around http proxying
2024-06-13 09:46:21 -07:00
Daniel ChaoandGitHub 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
Vladimir MatveevandGitHub d7a1778199 Allow renaming Java/Kotlin classes/packages during code generation (#499)
Adds a `rename` field to the Java/Kotlin code generators that allows renaming packages and classes during codegen.

* Add `--rename` flag to CLIs
* Add `rename` property to Gradle API
2024-06-12 15:43:43 -07:00
Philip K.F. HölzenspiesandGitHub b03530ed1f Add support for HTTP proxying (#506)
* Add `--proxy` and `--no-proxy` CLI flags
* Add property `http` to `pkl:settings`
* Move `EvaluatorSettings` from `pkl:Project` to its own module and add property `http`
* Add support for proxying in server mode, and through Gradle
* Add `setProxy()` to `HttpClient`
* Add documentation
2024-06-12 11:54:22 -07:00
Daniel ChaoandGitHub a520ae7d04 Fix missing paragraph in Windows installation docs (#520) 2024-06-11 08:00:37 -07:00
Daniel ChaoandGitHub 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
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
c1949a99b0 Update amending example in tutorial (#491)
* Update amending example

* Make sure wood pigeon amends stock pigeon

Co-authored-by: Philip K.F. Hölzenspies <holzensp@gmail.com>

---------

Co-authored-by: Philip K.F. Hölzenspies <holzensp@gmail.com>
2024-05-17 13:05:28 +01:00
Gary SassanoandGitHub 2d31bc5ef5 Adjust filename according to style guide (#484) 2024-05-13 10:09:43 -07:00
Daniel ChaoandGitHub 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
Philip K.F. HölzenspiesandGitHub b5208a2b5b Swap Kotlin/Groovy tab order in documentation (#469)
* Swap Kotlin/Groovy tab order in documentation

* Use Kotlin DSL repository extension function
2024-05-02 15:26:43 +01:00
Daniel ChaoandGitHub 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
Mitch CapperandPhilip K.F. Hölzenspies 583dfc6927 Windows installation notes 2024-04-24 12:37:11 +02:00
translatenixandDaniel Chao 5de90d5868 Improve method.isConst() checks in InvokeMethodVirtualNode
- Check `method.isConst()` every time a method is resolved
  instead of once per node instance (`isConstChecked`).
  Given that `needsConst` only happens in very specific circumstances,
  I'm not entirely sure if every resolved method needs to be checked.
  However, it's a cleaner solution in any case, and `method.isConst()`
  is a fast check that also never happens on the `evalCached` fast path.
- Do not check for const-ness of `FunctionN.apply` methods.
  This check seems unnecessary and would always fail if triggered.
  (According to `base.pkl`, none of the `FunctionN.apply` methods is const.)
- Remove unnecessary Truffle boundaries for modifier checks,
  which are just bitwise operations.
- Improve const/import docs.
2024-04-19 15:35:57 -07:00
PhillipandGitHub ccf95d2af1 Correct spelling and grammar issues in Language Reference (#435)
Changes include:
1. Spelling correction addressing #401
2. Grammer and punctuation corrections.
3. Rephrasing of some harder-to-read sentences. Most are simple one or two-word additions to make reading less jarring.
4. Changed hyphenation occurrences that included &ndash; rather than a regular hyphen-dash.
2024-04-17 16:44:19 -07:00
Lily BallardandGitHub 889e64586a Fix member links custom link text examples in language reference (#427) 2024-04-12 13:35:08 -07:00
translatenixandPhilip K.F. Hölzenspies 2392a3c22f Add quick link to standard library docs
Motivation:
The standard library docs are some of the most important docs
but currently very hard to find. I've noticed that even advanced
users have never heard of them and complain about "zero docs".
2024-04-05 12:38:55 +01:00
Daniel ChaoandGitHub 58ed8242af Fix links for downloading snapshot executables (#391)
Also, quote the URLs for better shell compatibility
2024-04-04 07:43:42 -07:00
translatenixandPhilip K.F. Hölzenspies 3bd91b92ee Fix "amends declaration vs. expression" mistakes in language reference 2024-04-03 19:06:54 +01:00
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 ChaoandGitHub 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 ChaoandGitHub 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
MalixandGitHub 5d0d2ce7a1 Add TOML to comparison page (#337)
Puts TOML next to JSON, XML, YAML
2024-03-19 09:14:56 -07:00
Zihlu WangandGitHub 2bf1fa215a Update pkl-config-java.adoc (#340)
Remove unpaired back curly bracket.
2024-03-19 09:13:46 -07:00
Zihlu WangandGitHub 4ce7a82db5 Removed undeclared method reference in examples. (#341)
There is no method `evaluateText` in `ConfigEvaluator` or `ConfigEvaluatorImpl`.
2024-03-19 09:13:33 -07:00
d4wae89d498andGitHub 3fb1f03780 Fix missing closing quotes in Local dependencies #298 (#299)
Fix missing closing quotes in 'Local Dependencies' section of index.adoc to ensure syntax correctness.
2024-03-07 10:42:10 -08:00
Daniel ChaoandGitHub 4f3858aaaf Docs fix: Container is not a type, add more types (#282)
Adjusts documentation to remove legacy `Container` type,
and add the rest of the generic types in the stdlib.
2024-03-04 07:49:44 -08:00
Daniel ChaoandGitHub d7196e1207 Docs fix: Java 8 is not supported (#283)
Java 11 is the minimum version, rather than 8.
2024-03-04 07:49:20 -08:00
Daniel ChaoandGitHub 0ae9e0c5c0 Add homebrew instructions to docs (#270) 2024-02-29 11:02:36 -08:00
Daniel ChaoandGitHub b0161a4777 Add specification for language binding API (#257)
This adds documentation for how the language bindings works, for those that wish to create their own bindings.
2024-02-28 08:10:16 -08:00
translatenixandGitHub b7b0e65cc6 Delete unused image (#243)
This image is not used anywhere.
2024-02-23 14:50:48 -08:00
Zack McCauleyandIslon Scherer 8f130d8d49 Fix multiple output example code (#205) 2024-02-22 10:28:23 +01:00
Islon SchererandGitHub c652bbe5cd fix typo in doc for Listing default (#224) 2024-02-21 18:56:11 +01:00
1cfcc5ec38 Fix incorrect filename in tutorial
The referenced filename should be `ispklTutorialPart3.pkl`, not `pklTutorial.pkl`.

Also, changes dates from 2023 to 2024

Co-authored-by: grant-abbott <gaabbott@apple.com>
2024-02-20 21:09:08 -08:00
translatenixandGitHub 6175d16d6a Update Gradle syntax in docs (#210)
Replace the legacy "compile" scope with "implementation".
This matches Maven Central's recommended syntax:
https://central.sonatype.com/artifact/org.pkl-lang/pkl-core
2024-02-20 21:02:45 -08:00
Lily BallardandGitHub bbb4d828a0 Update Reserved keywords list in the Language Reference (#171)
`const` is not reserved, it has a meaning already. And `match` is not a keyword at all.
2024-02-19 13:37:47 +01:00
Philip K.F. Hölzenspies a49526649d Update docs/modules/language-tutorial/pages/02_filling_out_a_template.adoc 2024-02-13 21:30:18 +00:00
GrantAandPhilip K.F. Hölzenspies 1b208f852c Update docs/modules/language-tutorial/pages/02_filling_out_a_template.adoc
Co-authored-by: Philip K.F. Hölzenspies <holzensp@gmail.com>
2024-02-13 21:30:18 +00:00
GrantAandPhilip K.F. Hölzenspies 1a1d2f9908 Update docs/modules/language-tutorial/pages/02_filling_out_a_template.adoc
Co-authored-by: Philip K.F. Hölzenspies <holzensp@gmail.com>
2024-02-13 21:30:18 +00:00
grant-abbottandPhilip K.F. Hölzenspies 0b680be32b Addressing documentation discrepancies from pkl examples. 2024-02-13 21:30:18 +00:00
HoxellandPhilip K.F. Hölzenspies f2470f3e85 Apply suggested update to note on amending types 2024-02-13 21:16:06 +00:00
FreddyandPhilip K.F. Hölzenspies 7d9603afd7 Update docs/modules/language-tutorial/pages/02_filling_out_a_template.adoc
Co-authored-by: Philip K.F. Hölzenspies <holzensp@gmail.com>
2024-02-13 21:16:06 +00:00
HoxellandPhilip K.F. Hölzenspies 8c254a9976 Introduce Typed objects before referring to them
Currently, typed objects are only briefly mentioned in the sentence
stating that (typed) objects cannot be amended with new properties, only
existing ones. This is unnecessarily confusing since all examples up
until that point have been concerned with dynamic objects. Since the
tutorial goes on to amend a dynamic object with a new property in the
next section, a reader who isn't yet aware there are two types of
objects might be confused by what seems to be a contradiction.
2024-02-13 21:16:06 +00:00
Les HillandPhilip K.F. Hölzenspies 14dec716cf Add details to show amending working when using modules
Running through the tutorial, the amending was stated in the tutorial text but not visible in the tutorial output since `parrot.pkl` was replacing all the members of `pigeon.pkl`.
2024-02-13 20:56:17 +00:00
Philip K.F. Hölzenspies b3fb5dced6 Apply suggestions from code review 2024-02-13 16:57:12 +00:00