[PR #970] Java class and record generators and friends side-by-side #835

Open
opened 2025-12-30 01:27:06 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/apple/pkl/pull/970
Author: @protobufel2
Created: 2/20/2025
Status: 🔄 Open

Base: mainHead: java-codegen-records


📝 Commits (10+)

  • 3a3916e Java class and record generators and friends side-by-side
  • baec91e Java class and record generators and friends side-by-side
  • c4374b1 Merge branch 'main' into java-codegen-records
  • b9d9af6 Merge branch 'main' into java-codegen-records
  • 986a98a Java class and record generators and friends side-by-side
  • 305b251 use junit-bom as platform, bumped jmh to 0.7.3
  • e594176 Updated junit locks to latest effective 5.13.2
  • e75aa3c fixed all tests
  • f5a883d updated docs with useWithers and useLombokBuilders
  • 329257a Merge branch 'main' into java-codegen-records

📊 Changes

28 files changed (+4587 additions, -161 deletions)

View changed files

📝 .idea/codeStyles/Project.xml (+0 -2)
📝 buildSrc/src/main/kotlin/pklKotlinTest.gradle.kts (+1 -0)
📝 docs/modules/java-binding/pages/codegen.adoc (+28 -2)
📝 docs/modules/pkl-gradle/pages/index.adoc (+28 -0)
📝 gradle/libs.versions.toml (+9 -6)
📝 pkl-codegen-java/src/main/kotlin/org/pkl/codegen/java/CliJavaCodeGenerator.kt (+22 -2)
📝 pkl-codegen-java/src/main/kotlin/org/pkl/codegen/java/CliJavaCodeGeneratorOptions.kt (+25 -9)
📝 pkl-codegen-java/src/main/kotlin/org/pkl/codegen/java/JavaCodeGenerator.kt (+0 -117)
pkl-codegen-java/src/main/kotlin/org/pkl/codegen/java/JavaRecordCodeGenerator.kt (+1006 -0)
📝 pkl-codegen-java/src/main/kotlin/org/pkl/codegen/java/Main.kt (+37 -0)
📝 pkl-codegen-java/src/test/kotlin/org/pkl/codegen/java/JavaCodeGeneratorTest.kt (+2 -0)
pkl-codegen-java/src/test/kotlin/org/pkl/codegen/java/JavaRecordCodeGeneratorTest.kt (+2708 -0)
pkl-codegen-java/src/test/resources/org/pkl/codegen/java/GeneratedAnnotationRecord.jva (+42 -0)
pkl-codegen-java/src/test/resources/org/pkl/codegen/java/InheritanceRecord.jva (+110 -0)
pkl-codegen-java/src/test/resources/org/pkl/codegen/java/JavadocRecord.jva (+76 -0)
pkl-codegen-java/src/test/resources/org/pkl/codegen/java/PropertyTypesRecord.jva (+192 -0)
📝 pkl-commons-test/pkl-commons-test.gradle.kts (+1 -0)
📝 pkl-config-java/pkl-config-java.gradle.kts (+27 -2)
📝 pkl-config-java/src/test/java/org/pkl/config/java/mapper/PObjectToDataObjectOverriddenPropertyTest.java (+3 -1)
pkl-config-java/src/test/java/org/pkl/config/java/mapper/RecordPObjectToDataObjectOverriddenPropertyTest.java (+39 -0)

...and 8 more files

📄 Description

  1. Java code generation via Java Records and
  2. Wither implementation close to JEP 468
  3. extra "generateRecords" option in Gradle JavaCodeGenTask
  4. extra "--generate-records" option in pkl-codegen-java CLI
  5. updated docs

see pkl-codegen-java/README.md


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/apple/pkl/pull/970 **Author:** [@protobufel2](https://github.com/protobufel2) **Created:** 2/20/2025 **Status:** 🔄 Open **Base:** `main` ← **Head:** `java-codegen-records` --- ### 📝 Commits (10+) - [`3a3916e`](https://github.com/apple/pkl/commit/3a3916ee5cdbb94eeef483a90ed6436e79e43c56) Java class and record generators and friends side-by-side - [`baec91e`](https://github.com/apple/pkl/commit/baec91efbb2802d32928800fd7f3af51542fd13a) Java class and record generators and friends side-by-side - [`c4374b1`](https://github.com/apple/pkl/commit/c4374b13da2ccd5a73d5edca9f68376cdde8bbef) Merge branch 'main' into java-codegen-records - [`b9d9af6`](https://github.com/apple/pkl/commit/b9d9af67c8a189d88625684b0b4fa718f6d81edb) Merge branch 'main' into java-codegen-records - [`986a98a`](https://github.com/apple/pkl/commit/986a98a013e7c488ce4a2d8767c9ff75e928ece6) Java class and record generators and friends side-by-side - [`305b251`](https://github.com/apple/pkl/commit/305b251fcbad0a4f4a49d86007cce8b0fad87b78) use junit-bom as platform, bumped jmh to 0.7.3 - [`e594176`](https://github.com/apple/pkl/commit/e594176ba50afb3b019c42883c7087b062ec4b37) Updated junit locks to latest effective 5.13.2 - [`e75aa3c`](https://github.com/apple/pkl/commit/e75aa3cbd86bec1cccffafe7be2dfbbc0b331616) fixed all tests - [`f5a883d`](https://github.com/apple/pkl/commit/f5a883d2c02f87b711b771a04707e218bf7f233d) updated docs with useWithers and useLombokBuilders - [`329257a`](https://github.com/apple/pkl/commit/329257a7f720b21d6e1755a81c5504b7a6851154) Merge branch 'main' into java-codegen-records ### 📊 Changes **28 files changed** (+4587 additions, -161 deletions) <details> <summary>View changed files</summary> 📝 `.idea/codeStyles/Project.xml` (+0 -2) 📝 `buildSrc/src/main/kotlin/pklKotlinTest.gradle.kts` (+1 -0) 📝 `docs/modules/java-binding/pages/codegen.adoc` (+28 -2) 📝 `docs/modules/pkl-gradle/pages/index.adoc` (+28 -0) 📝 `gradle/libs.versions.toml` (+9 -6) 📝 `pkl-codegen-java/src/main/kotlin/org/pkl/codegen/java/CliJavaCodeGenerator.kt` (+22 -2) 📝 `pkl-codegen-java/src/main/kotlin/org/pkl/codegen/java/CliJavaCodeGeneratorOptions.kt` (+25 -9) 📝 `pkl-codegen-java/src/main/kotlin/org/pkl/codegen/java/JavaCodeGenerator.kt` (+0 -117) ➕ `pkl-codegen-java/src/main/kotlin/org/pkl/codegen/java/JavaRecordCodeGenerator.kt` (+1006 -0) 📝 `pkl-codegen-java/src/main/kotlin/org/pkl/codegen/java/Main.kt` (+37 -0) 📝 `pkl-codegen-java/src/test/kotlin/org/pkl/codegen/java/JavaCodeGeneratorTest.kt` (+2 -0) ➕ `pkl-codegen-java/src/test/kotlin/org/pkl/codegen/java/JavaRecordCodeGeneratorTest.kt` (+2708 -0) ➕ `pkl-codegen-java/src/test/resources/org/pkl/codegen/java/GeneratedAnnotationRecord.jva` (+42 -0) ➕ `pkl-codegen-java/src/test/resources/org/pkl/codegen/java/InheritanceRecord.jva` (+110 -0) ➕ `pkl-codegen-java/src/test/resources/org/pkl/codegen/java/JavadocRecord.jva` (+76 -0) ➕ `pkl-codegen-java/src/test/resources/org/pkl/codegen/java/PropertyTypesRecord.jva` (+192 -0) 📝 `pkl-commons-test/pkl-commons-test.gradle.kts` (+1 -0) 📝 `pkl-config-java/pkl-config-java.gradle.kts` (+27 -2) 📝 `pkl-config-java/src/test/java/org/pkl/config/java/mapper/PObjectToDataObjectOverriddenPropertyTest.java` (+3 -1) ➕ `pkl-config-java/src/test/java/org/pkl/config/java/mapper/RecordPObjectToDataObjectOverriddenPropertyTest.java` (+39 -0) _...and 8 more files_ </details> ### 📄 Description 1. Java code generation via Java Records and 2. Wither implementation close to JEP 468 3. extra "generateRecords" option in Gradle JavaCodeGenTask 4. extra "--generate-records" option in pkl-codegen-java CLI 5. updated docs see pkl-codegen-java/README.md --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-30 01:27:06 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/pkl#835