Skip to content

Handle each KotlinCompile depends task to have a dedicated output directory#154

Merged
skydoves merged 2 commits intomainfrom
fix/build-stability-compile-dir
Apr 30, 2026
Merged

Handle each KotlinCompile depends task to have a dedicated output directory#154
skydoves merged 2 commits intomainfrom
fix/build-stability-compile-dir

Conversation

@skydoves
Copy link
Copy Markdown
Owner

@skydoves skydoves commented Apr 30, 2026

Handle each KotlinCompile depends task to have a dedicated output directory (#153)

Summary by CodeRabbit

  • New Features

    • Added flexible directory layout support for stability information file discovery with intelligent fallback mechanisms.
    • Improved output generation to create per-task stability results instead of shared outputs, providing better support for complex multi-variant builds.
  • Bug Fixes

    • Enhanced robustness of input file selection in stability check and dump operations.
  • Chores

    • Updated plugin version to 0.7.5-SNAPSHOT.

@skydoves skydoves self-assigned this Apr 30, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 30, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8e45b6fb-9c4c-4820-bff4-330110e62eba

📥 Commits

Reviewing files that changed from the base of the PR and between 842ce91 and 1430834.

📒 Files selected for processing (5)
  • compose-stability-analyzer-idea/src/main/kotlin/com/skydoves/compose/stability/idea/toolwindow/ComposableStabilityCollector.kt
  • gradle.properties
  • stability-gradle/src/main/kotlin/com/skydoves/compose/stability/gradle/StabilityAnalyzerGradlePlugin.kt
  • stability-gradle/src/main/kotlin/com/skydoves/compose/stability/gradle/StabilityCheckTask.kt
  • stability-gradle/src/main/kotlin/com/skydoves/compose/stability/gradle/StabilityDumpTask.kt

Walkthrough

The pull request updates the Compose Stability Analyzer to version 0.7.5-SNAPSHOT and refactors output handling from shared to per-compilation. It modifies task configuration, file discovery, and input selection logic across the Gradle plugin and IDE tool window to support multi-variant builds with isolated stability information outputs.

Changes

Cohort / File(s) Summary
Project Versioning
gradle.properties
Version metadata bumped from 0.7.4 to 0.7.5-SNAPSHOT for Maven publishing.
IDE Tool Window
compose-stability-analyzer-idea/src/main/kotlin/com/skydoves/compose/stability/idea/toolwindow/ComposableStabilityCollector.kt
Pre-generated input discovery now supports two directory layouts for stability-info.json: direct path at build/stability/stability-info.json or first file found in build/stability subdirectories.
Gradle Plugin Core
stability-gradle/src/main/kotlin/com/skydoves/compose/stability/gradle/StabilityAnalyzerGradlePlugin.kt
Kotlin compile tasks now output to per-compilation directories (build/stability/$name). Stability analysis tasks read from per-compile/variant-specific paths using globbed or variant-specific file queries. Plugin version updated to 0.7.5-SNAPSHOT. Removed mustRunAfter cross-variant ordering constraints.
Stability Tasks
stability-gradle/src/main/kotlin/com/skydoves/compose/stability/gradle/StabilityCheckTask.kt, StabilityDumpTask.kt
Both tasks refactored to select the first existing file from multiple stabilityInputFiles candidates instead of expecting a single input, consolidating existence checks into selection logic.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • #90: Switches project dependencies passing to use a written dependencies file alongside stability output directories.
  • #101: Modifies task registration and I/O handling for per-variant/per-compile stability outputs with collection-based input selection.
  • #35: Refactors task dependency configuration logic in the Gradle plugin for Gradle 9 compatibility.

Suggested labels

IntelliJ Plugin, Runtime Analyzer, Stability Validation

Poem

🐰 Per-compilation stability takes flight,
No more shared outputs causing plight!
Each task declares its own clear way,
Building stronger, come what may—
Version bumped, the plugin's right! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/build-stability-compile-dir

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@skydoves skydoves merged commit 05f9c88 into main Apr 30, 2026
9 of 10 checks passed
@skydoves skydoves deleted the fix/build-stability-compile-dir branch April 30, 2026 03:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant