Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
137 lines
3.0 KiB
Markdown
137 lines
3.0 KiB
Markdown
# RSSuper - Native Multi-Platform RSS Reader
|
|
|
|
A native RSS reader built for iOS, macOS, Android, Linux, and Windows.
|
|
|
|
## Architecture
|
|
|
|
RSSuper uses a native-first approach, building truly native applications for each platform:
|
|
|
|
| Platform | Language | UI Framework | Status |
|
|
|----------|----------|--------------|--------|
|
|
| iOS | Swift | SwiftUI | ✅ Active |
|
|
| macOS | Swift | SwiftUI | ✅ Active |
|
|
| Android | Kotlin | Jetpack Compose | 🚧 Setup |
|
|
| Linux | C/Vala | GTK4 + Libadwaita | 🚧 Setup |
|
|
| Windows | C# | WinUI 3 | 🔜 Planned |
|
|
|
|
## Quick Start
|
|
|
|
### Build All Platforms
|
|
|
|
```bash
|
|
./scripts/build.sh
|
|
```
|
|
|
|
### Build Specific Platform
|
|
|
|
```bash
|
|
# iOS/macOS
|
|
./scripts/build.sh -p ios
|
|
|
|
# Android
|
|
./scripts/build.sh -p android
|
|
|
|
# Linux
|
|
./scripts/build.sh -p linux
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
RSSuper/
|
|
├── native-route/ # Native platform projects
|
|
│ ├── ios/ # iOS/macOS Xcode project
|
|
│ ├── android/ # Android Gradle project
|
|
│ ├── linux/ # Linux Meson project
|
|
│ └── windows/ # Windows project (planned)
|
|
├── scripts/ # Build scripts
|
|
│ ├── build.sh # Main build orchestrator
|
|
│ ├── build-ios.sh # iOS/macOS builder
|
|
│ ├── build-android.sh # Android builder
|
|
│ ├── build-linux.sh # Linux builder
|
|
│ └── common.sh # Shared utilities
|
|
├── src/ # Expo/web project (legacy)
|
|
└── .github/workflows/ # CI configuration
|
|
```
|
|
|
|
## Build System
|
|
|
|
The build system is adapted from the Nessa project, providing:
|
|
|
|
- **Cross-platform build orchestration**
|
|
- **Automatic Xcode version selection**
|
|
- **Build reports with error extraction**
|
|
- **GitHub Actions CI/CD**
|
|
- **Consistent build experience across platforms**
|
|
|
|
### Build Commands
|
|
|
|
```bash
|
|
# Build all platforms (debug)
|
|
./scripts/build.sh
|
|
|
|
# Build release
|
|
./scripts/build.sh -t release
|
|
|
|
# Build specific platforms
|
|
./scripts/build.sh -p ios,android
|
|
|
|
# Run tests
|
|
./scripts/build.sh --test
|
|
|
|
# Clean builds
|
|
./scripts/build.sh -a clean
|
|
```
|
|
|
|
### Individual Platform Scripts
|
|
|
|
```bash
|
|
# iOS/macOS
|
|
./scripts/build-ios.sh [Debug|Release] [iOS|macOS] [destination] [action]
|
|
|
|
# Android
|
|
./scripts/build-android.sh [debug|release] [assemble|build|test|clean]
|
|
|
|
# Linux
|
|
./scripts/build-linux.sh [debug|release] [build|install|test|clean|setup]
|
|
```
|
|
|
|
## CI/CD
|
|
|
|
GitHub Actions automatically builds all platforms on:
|
|
- Pull requests
|
|
- Pushes to main/develop branches
|
|
- Manual workflow dispatch
|
|
|
|
See `.github/workflows/ci.yml` for configuration.
|
|
|
|
## Platform Details
|
|
|
|
### iOS/macOS
|
|
- Swift + SwiftUI
|
|
- Xcode build system
|
|
- Minimum: iOS 16.0+
|
|
|
|
### Android
|
|
- Kotlin + Jetpack Compose
|
|
- Gradle build system
|
|
- Minimum: Android 7.0 (API 24)
|
|
|
|
### Linux
|
|
- C/Vala + GTK4 + Libadwaita
|
|
- Meson build system
|
|
- Requires: GTK4, Libadwaita, SQLite3
|
|
|
|
### Windows (Planned)
|
|
- C# + WinUI 3
|
|
- MSBuild/Cake build system
|
|
|
|
## Learn More
|
|
|
|
- [Native Route README](native-route/README.md) - Detailed platform documentation
|
|
- [Build Scripts](scripts/) - Build system source
|
|
|
|
## License
|
|
|
|
MIT
|