mirror of
https://github.com/Dvorinka/1356.git
synced 2026-06-04 12:02:56 +00:00
37ffb93923
Version: 1.1.0 Major changes: - Implemented complete Flutter app structure with all core features - Added comprehensive UI screens for auth, countdown, goals, profile, settings, and social features - Integrated Supabase backend with authentication and data repositories - Added offline support with Hive caching and local storage - Implemented comprehensive routing with go_router - Added location services with Google Maps integration - Implemented notifications and home widget support - Added voice recording capabilities and AI chat features - Created comprehensive test suite and documentation - Added Android and iOS platform configurations - Implemented achievements system and social features - Added calendar integration and bucket list functionality This represents a complete Phase 1 milestone with 3,775 additions across 31 files.
100 lines
3.1 KiB
Markdown
100 lines
3.1 KiB
Markdown
# Git Configuration for Manual Releases
|
|
|
|
This document outlines the Git configuration to ensure build files and unnecessary files are not uploaded, allowing for manual release management.
|
|
|
|
## ✅ What's Already Configured
|
|
|
|
### Build Files Excluded
|
|
- **APK/AAB files**: `*.apk`, `*.aab`
|
|
- **Android build directories**: `/android/app/build/`, `/android/build/`, `/android/.gradle/`
|
|
- **iOS build directories**: `/ios/build/`, `/ios/Flutter/Flutter.framework`
|
|
- **Flutter build artifacts**: `/build/`, `.dart_tool/`, `.pub-cache/`
|
|
- **Debug/Release profiles**: `/android/app/debug`, `/android/app/profile`, `/android/app/release`
|
|
|
|
### Development Files Excluded
|
|
- **IDE files**: `.idea/`, `*.iml`, `*.ipr`, `*.iws`
|
|
- **Environment files**: `.env`, `.env.local`, `.env.*.local`
|
|
- **Cache files**: `.DS_Store`, `Thumbs.db`, `*.log`
|
|
- **Keystore files**: `*.keystore`, `*.jks`, `key.properties`
|
|
|
|
## 📁 Git Ignore Files
|
|
|
|
### Root `.gitignore` (Enhanced)
|
|
- Comprehensive Flutter/Android/iOS exclusions
|
|
- Build artifact prevention
|
|
- Environment and security file protection
|
|
|
|
### Android `.gitignore` (Enhanced)
|
|
- Platform-specific build files
|
|
- Gradle wrapper exclusions
|
|
- NDK and temporary files
|
|
|
|
## 🔧 Manual Release Workflow
|
|
|
|
### 1. Build Your APK/AAB
|
|
```bash
|
|
# Make the build script executable (already done)
|
|
chmod +x build_apk.sh
|
|
|
|
# Run the build script
|
|
./build_apk.sh
|
|
```
|
|
|
|
### 2. Build Artifacts Location
|
|
Build files are automatically placed in:
|
|
- `lifetimer/build/app/outputs/flutter-apk/` (APK files)
|
|
- `lifetimer/build/app/outputs/bundle/release/` (AAB files)
|
|
|
|
### 3. Distribution Ready
|
|
The build script creates timestamped files in a `releases/` directory:
|
|
- `releases/lifetimer-YYYYMMDD-HHMMSS.apk`
|
|
- `releases/lifetimer-YYYYMMDD-HHMMSS.aab`
|
|
|
|
## 🔒 Security & Git Safety
|
|
|
|
### Keystore Management
|
|
- Keystore files are **never** tracked by Git
|
|
- Store your `key.properties` and `*.keystore` files securely
|
|
- Use environment variables for sensitive data
|
|
|
|
### Build File Isolation
|
|
- All build outputs are excluded from version control
|
|
- Manual releases are completely separate from Git workflow
|
|
- No risk of accidentally committing large binary files
|
|
|
|
## 📋 Verification Commands
|
|
|
|
### Check Git Status
|
|
```bash
|
|
# See untracked files (builds should be ignored)
|
|
git status --ignored
|
|
|
|
# Verify no build files are tracked
|
|
git ls-files | grep -E "(build|\.apk|\.aab|\.keystore)"
|
|
```
|
|
|
|
### Test Build Exclusions
|
|
```bash
|
|
# Build should create files that Git ignores
|
|
./build_apk.sh
|
|
|
|
# Verify build files are ignored
|
|
git status
|
|
# Should show: "nothing to commit, working tree clean"
|
|
```
|
|
|
|
## 🚀 Release Process
|
|
|
|
1. **Build**: Run `./build_apk.sh`
|
|
2. **Test**: Install APK on device/emulator
|
|
3. **Distribute**: Share files from `releases/` directory
|
|
4. **Version**: Update version numbers in `pubspec.yaml` if needed
|
|
5. **Commit**: Only commit source code changes, never build files
|
|
|
|
## 📝 Notes
|
|
|
|
- The `.gitignore` files are comprehensive and cover all major build artifacts
|
|
- Manual releases give you full control over distribution timing
|
|
- Build files are automatically excluded, preventing repository bloat
|
|
- All sensitive files (keystores, env vars) are protected from accidental commits
|