build: enable -Xjvm-default=all compiler flag (#4929)

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
James Rich 2026-03-26 08:16:04 -05:00 committed by GitHub
parent e1fa05f63f
commit 3b485a0109
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 22 additions and 6 deletions

View file

@ -137,6 +137,8 @@ Always run commands in the following order to ensure reliability. Do not attempt
- Pull request CI is main-only (`.github/workflows/pull-request.yml` targets `main` branch).
- Gradle cache writes are trusted on `main` and merge queue runs (`merge_group` / `gh-readonly-queue/*`); other refs use read-only cache mode in reusable CI.
- PR `check-changes` path filtering lives in `.github/workflows/pull-request.yml` and must include module dirs plus build/workflow entrypoints (`build-logic/**`, `gradle/**`, `.github/workflows/**`, `gradlew`, `settings.gradle.kts`, etc.) so CI is not skipped for infra-only changes.
- **Terminal Pagers:** When running shell commands like `git diff` or `git log`, ALWAYS use `--no-pager` (e.g., `git --no-pager diff`) to prevent the agent from getting stuck in an interactive prompt.
- **Text Search:** Prefer using `rg` (ripgrep) over `grep` or `find` for fast text searching across the codebase.
### C. Documentation Sync
Update documentation continuously as part of the same change. If you modify architecture, module targets, CI tasks, validation commands, or agent workflow rules, update the relevant docs (`AGENTS.md`, `.github/copilot-instructions.md`, `GEMINI.md`, `docs/agent-playbooks/*`, `docs/kmp-status.md`, and `docs/decisions/architecture-review-2026-03.md`).

View file

@ -139,6 +139,8 @@ Always run commands in the following order to ensure reliability. Do not attempt
- Pull request CI is main-only (`.github/workflows/pull-request.yml` targets `main` branch).
- Gradle cache writes are trusted on `main` and merge queue runs (`merge_group` / `gh-readonly-queue/*`); other refs use read-only cache mode in reusable CI.
- PR `check-changes` path filtering lives in `.github/workflows/pull-request.yml` and must include module dirs plus build/workflow entrypoints (`build-logic/**`, `gradle/**`, `.github/workflows/**`, `gradlew`, `settings.gradle.kts`, etc.) so CI is not skipped for infra-only changes.
- **Terminal Pagers:** When running shell commands like `git diff` or `git log`, ALWAYS use `--no-pager` (e.g., `git --no-pager diff`) to prevent the agent from getting stuck in an interactive prompt.
- **Text Search:** Prefer using `rg` (ripgrep) over `grep` or `find` for fast text searching across the codebase.
### C. Documentation Sync
Update documentation continuously as part of the same change. If you modify architecture, module targets, CI tasks, validation commands, or agent workflow rules, update the relevant docs (`AGENTS.md`, `.github/copilot-instructions.md`, `GEMINI.md`, `docs/agent-playbooks/*`, `docs/kmp-status.md`, and `docs/decisions/architecture-review-2026-03.md`).

View file

@ -135,6 +135,8 @@ Always run commands in the following order to ensure reliability. Do not attempt
- Pull request CI is main-only (`.github/workflows/pull-request.yml` targets `main` branch).
- Gradle cache writes are trusted on `main` and merge queue runs (`merge_group` / `gh-readonly-queue/*`); other refs use read-only cache mode in reusable CI.
- PR `check-changes` path filtering lives in `.github/workflows/pull-request.yml` and must include module dirs plus build/workflow entrypoints (`build-logic/**`, `gradle/**`, `.github/workflows/**`, `gradlew`, `settings.gradle.kts`, etc.) so CI is not skipped for infra-only changes.
- **Terminal Pagers:** When running shell commands like `git diff` or `git log`, ALWAYS use `--no-pager` (e.g., `git --no-pager diff`) to prevent the agent from getting stuck in an interactive prompt.
- **Text Search:** Prefer using `rg` (ripgrep) over `grep` or `find` for fast text searching across the codebase.
### C. Documentation Sync
Update documentation continuously as part of the same change. If you modify architecture, module targets, CI tasks, validation commands, or agent workflow rules, update the relevant docs (`AGENTS.md`, `.github/copilot-instructions.md`, `GEMINI.md`, `docs/agent-playbooks/*`, `docs/kmp-status.md`, and `docs/decisions/architecture-review-2026-03.md`).

View file

@ -188,6 +188,7 @@ private inline fun <reified T : KotlinBaseExtension> Project.configureKotlin() {
"-Xcontext-parameters",
"-Xannotation-default-target=param-property",
"-Xskip-prerelease-check",
"-Xjvm-default=all",
)
}
}
@ -212,6 +213,7 @@ private inline fun <reified T : KotlinBaseExtension> Project.configureKotlin() {
"-Xcontext-parameters",
"-Xannotation-default-target=param-property",
"-Xskip-prerelease-check",
"-Xjvm-default=all",
)
}
}

View file

@ -41,19 +41,24 @@ component_management:
target: auto
threshold: 1%
individual_components:
- name: Core
- component_id: core
name: Core
paths:
- core/**
- name: Features
- component_id: features
name: Features
paths:
- feature/**
- name: App
- component_id: app
name: App
paths:
- app/**
- name: Desktop
- component_id: desktop
name: Desktop
paths:
- desktop/**
- name: Example
- component_id: example
name: Example
paths:
- mesh_service_example/**

View file

@ -34,7 +34,10 @@ plugins {
kotlin {
jvmToolchain(17)
compilerOptions { jvmTarget.set(JvmTarget.JVM_17) }
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
freeCompilerArgs.add("-Xjvm-default=all")
}
}
// Exclude generated Compose resource files from detekt analysis