-
Notifications
You must be signed in to change notification settings - Fork 39
fix: builder and installer bugs pt2 #1695
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
2cb5918 to
bf3a49d
Compare
abfb74e to
73fd45c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request implements a comprehensive set of builder and installer improvements for Elide, focusing on Kotlin/Java tooling enhancements and project flag support. The changes add build state management, toolchain configuration, minimum version enforcement, and extensive new features for Maven dependency handling.
Key changes:
- New Build Features: Adds project flags, build state management, and toolchain settings
- Enhanced Maven Support: Implements modules, dev dependencies, compile-only dependencies, runtime-only dependencies, and exclusions
- Version Management: Adds minimum Elide version enforcement and version comparison utilities
- API Updates: Updates all manifest codecs to accept build state parameters for context-aware parsing
Reviewed Changes
Copilot reviewed 78 out of 79 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/tooling/src/main/pkl/*.pkl | New Pkl modules for toolchain, state, flags, and builder configuration |
| packages/tooling/src/main/kotlin/elide/tooling/project/flags/*.kt | Complete project flags system implementation |
| packages/tooling/src/main/kotlin/elide/tooling/project/codecs/*.kt | Updated all manifest codecs to accept build state context |
| packages/base/src/commonMain/kotlin/elide/runtime/version/*.kt | New version management and comparison system |
| packages/cli/src/main/kotlin/elide/tool/cli/cmd/project/ToolProjectCommand.kt | Enhanced project info display with flags rendering |
| packages/builder/src/main/kotlin/elide/tooling/jvm/resolver/MavenAetherResolver.kt | Extended Maven resolver with new dependency types and local JARs |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
packages/tooling/src/main/kotlin/elide/tooling/project/manifest/ElidePackageManifest.kt
Show resolved
Hide resolved
packages/cli/src/main/kotlin/elide/tool/cli/cmd/project/ToolProjectCommand.kt
Outdated
Show resolved
Hide resolved
packages/tooling/src/main/kotlin/elide/tooling/project/manifest/ElidePackageManifest.kt
Show resolved
Hide resolved
packages/tooling/src/main/kotlin/elide/tooling/project/PackageManifestService.kt
Outdated
Show resolved
Hide resolved
Signed-off-by: Sam Gammon <sam@elide.dev>
feat(tooling): add `includeRuntime` / `noStdlib` support for kotlin feat(tooling): add `reflection` control for kotlin feat(tooling): add initial `automodules` and jpms support infra feat(tooling): add `devPackages` support to `maven` feat(tooling): add `modules` support to `maven` feat(tooling): add `compileOnly` support to `maven` feat(tooling): add `runtimeOnly` support to `maven` feat(tooling): add support for global `exclusions` in maven block feat(tooling): add initial native image support for `exclusions` feat(tooling): add native image `defs` block feat(tooling): add native image support for `ldflags` and `cflags` blocks feat(tooling): add initial support for dynamic build state in `elide.pkl` fix(builder): exclude graalvm jars from native-image classpath fix(builder): don't include optimization settings when pgo is active fix(builder): runtime-native exports for graal reporter module fix(builder): relock experimental native image hosted options fix(builder): mounted codegen and main inputs for kotlinc and javac fix(builder): wrong count of java/kotlin sources in build messages fix(builder): kotlinc isn't receiving `-jvm-target` flag fix(cli): ship svm macros with final dist fix(cli): missing native image reflective types for kotlinc fix: incorrect snakeyaml dependency Fixes: #1692 Fixes: #1691 Fixes: #1688 Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
… minimum Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
2df7b12 to
c1845f6
Compare
Signed-off-by: Sam Gammon <sam@elide.dev>
Summary
Fixes a whole bunch of bugs related to Elide's builder and installer, especially with regard to Kotlin and Java.
-H:+UnlockExperimentalVMOptionsimproperly #1692-include-runtimewithelide kotlinc#1688-Werrorfromkotlinc#1686