feat: add saved presets for common stacks#61
Conversation
Add a Load Preset action to the Custom File Groups settings that populates the list with predefined groups for Standard Android, Kotlin Multiplatform, and Compose Multiplatform stacks. After choosing a preset, the user picks how to apply it: - Append (skip duplicate names) - Overwrite groups with the same name - Replace all existing groups Presets and merge logic live in FileGroupPresets and are unit-tested. Closes #30
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Qodana for JVMIt seems all right 👌 No new problems were found according to the checks applied ☁️ View the detailed Qodana report Contact Qodana teamContact us at qodana-support@jetbrains.com
|
Summary
Implements #30 — predefined file groups for common project stacks.
Adds a Load Preset action to the Custom File Groups toolbar in the Advanced Android Project Tree settings. Selecting it shows a two-step popup:
Loaded groups are ordinary
ProjectFileGroups and remain fully editable through the existing Edit dialog.Presets
Changes
settings/FileGroupPresets.kt—FileGroupPresetdata class,PresetMergeModeenum, the built-in presets, and a non-mutatingmerge()helper.settings/AndroidViewSettingsConfigurable.kt— wires the Load Preset extra action into the existingToolbarDecorator; reuses the established apply/reset flow (no persistence changes).messages/AndroidViewBundle.properties— new UI / preset strings.FileGroupPresetsTest.kt— covers preset structure (non-empty, valid names + inclusion patterns, unique names) and all three merge modes including source-list immutability.Testing
2026.1.1.1) under the current network policy, and it is not cached. The logic inFileGroupPresets.merge()is covered by unit tests that should be run locally via./gradlew test.Closes #30
https://claude.ai/code/session_01RJzGpHgrEkpuhg1AzE7M2J
Generated by Claude Code