-
Notifications
You must be signed in to change notification settings - Fork 0
Add macOS and Linux native packaging support #5
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Add jpackage Maven profiles for macOS (.app bundle) and Linux (app-image) - Add linux-deb profile for Debian/Ubuntu .deb packages - Update README with comprehensive build instructions for all platforms - Add platform-specific distributions table - Use exec-maven-plugin to invoke jpackage - JRE bundled automatically with all native packages Profiles available: - macos: Creates macOS .app bundle - linux: Creates Linux app-image - linux-deb: Creates Debian .deb package 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Replace hardcoded colors with UIManager system colors - Add isDarkTheme() method to detect dark/light themes - Set TextArea background, foreground, and caret colors from system - Adjust header background based on theme (brighter for dark, darker for light) - Ensure Label foreground uses system text color Fixes white-on-white text issue on Gnome dark themes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Replace JList with card-based grid layout (5x2 = 10 cards per page) - Add clickable device cards showing name, API level, target, and status - Implement pagination with Previous/Next buttons for 10+ devices - Add inline action buttons per card: Start, Stop, Rename, Delete - Implement rename functionality using AVD .ini and .avd file manipulation - Show device details on card click (collapsible) - Add status indicator (Running/Stopped) with color coding - Update refresh logic to populate card grid instead of list - Add placeholder panels for empty grid slots - Improve UX with tooltips on action buttons 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Replace technical "API" label with readable Android version names (e.g., "Android 14") - Convert API levels to version names: API 36 -> Android 16, API 35 -> Android 15, etc. - Remove confusing "Target" field - Extract and display device type from config.ini (e.g., "Pixel 7") - Add emoji icons for better visual clarity: 📱 for version, 📐 for device, 🟢/⚪ for status - Format device names: pixel_7 -> Pixel 7 - Make version and status labels bold for better readability - Support API levels from 21 (Android 5.0) to 36 (Android 16) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Show device information ALWAYS visible (no need to click) - Extract API level from config.ini (image.sysdir.1) for reliable detection - Display layout: Name (bold) → Android version → Device type (gray) → Status - Simplify UI: removed click-to-expand complexity - Fix: version now correctly extracted from AVD system image path - Use centered text alignment for all info labels - Smaller font sizes for secondary info (11pt for version, 10pt for device/status) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- config.ini format uses "key = value" with spaces, not "key=value"
- Fix image.sysdir.1 parsing to handle spaces: "image.sysdir.1 = system-images/..."
- Fix hw.device.name parsing to handle spaces: "hw.device.name = pixel_7"
- Use line.indexOf('=') instead of startsWith with hardcoded offset
- Add debug logging to trace extraction process
- Now correctly extracts Android version (e.g., "Android 15" from API 35)
- Now correctly extracts device type (e.g., "Pixel 7" from pixel_7)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
- Add isValidAvdName() method to validate AVD names - Enforce pattern: letters, numbers, underscores, and hyphens only (^[a-zA-Z0-9_-]+$) - Block spaces and special characters that could cause issues - Validate on AVD creation (createAvdDialog) - Validate on AVD rename (renameAvd) - Show clear error message with allowed characters - Add hint in rename dialog about valid characters - Prevent file system issues and avdmanager errors 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Show official Android SDK License Agreement before SDK download - Include key sections: Introduction, Accepting License, SDK License terms - Display scrollable text area with full license text - Add clickable link to view full license at developer.android.com/studio/terms - Link opens in system default browser - Two buttons: "I Accept" (allows download) and "I Decline" (cancels) - Default selection is "I Decline" for safety - Log user's acceptance/decline decision - Prevent SDK download if license is not accepted - Comply with Google's licensing requirements 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Convert SDK Configuration panel to accordion pattern - Auto-collapse when SDK is already configured - Auto-expand when SDK is not configured - Add status indicator: ✓ Configured (green) / ⚠ Not Configured (orange) - Header shows ▶/▼ arrow with toggle functionality - Click header to expand/collapse SDK configuration - Improves UX by hiding SDK setup when already done - Similar pattern to existing log accordion 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Create GitHub Actions workflow for multi-platform releases - Trigger on version tags (v3.0.0, v3.0.0-rc1, etc.) - Auto-detect pre-release vs stable based on tag format - Build Universal JAR, Windows EXE, Linux DEB, and Linux AppImage - Upload all artifacts to GitHub Release automatically - Generate release notes from commits - Add comprehensive RELEASE.md documentation explaining: - How the release system works - How to create releases and pre-releases - Versioning best practices - Build matrix and file outputs - Troubleshooting guide - Complete release workflow example 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Profiles available:
🤖 Generated with Claude Code