Skip to content

Latest commit

 

History

History
53 lines (43 loc) · 3.4 KB

project-matrix.md

File metadata and controls

53 lines (43 loc) · 3.4 KB

Project Matrix

Every cross-platform requirement must review all nine rows. Record the decision in the change contract; this document defines the stable project inventory and dependency sources.

Project Path SDK dependency Project guidance
Android Views full Android/APIExample/ io.agora.rtc:full-sdk; version in gradle.properties Android/APIExample/AGENTS.md
Android Views audio Android/APIExample-Audio/ io.agora.rtc:voice-sdk; version in gradle.properties Android/APIExample-Audio/AGENTS.md
Android Compose Android/APIExample-Compose/ io.agora.rtc:full-sdk; version in gradle.properties Android/APIExample-Compose/AGENTS.md
iOS UIKit full iOS/APIExample/ Local sdk.podspec for release work; published AgoraRtcEngine_iOS for compile CI iOS/APIExample/AGENTS.md
iOS UIKit audio iOS/APIExample-Audio/ AgoraAudio_iOS in Podfile iOS/APIExample-Audio/AGENTS.md
iOS SwiftUI iOS/APIExample-SwiftUI/ AgoraRtcEngine_iOS in Podfile iOS/APIExample-SwiftUI/AGENTS.md
iOS Objective-C iOS/APIExample-OC/ AgoraRtcEngine_iOS in Podfile iOS/APIExample-OC/AGENTS.md
macOS AppKit macOS/ AgoraRtcEngine_macOS in Podfile macOS/AGENTS.md
Windows MFC windows/APIExample/ Local ../../sdk or public Agora_Native_SDK_for_Windows_*_FULL.zip windows/AGENTS.md

Android SDK source

All three Android projects resolve io.agora.rtc and io.agora.infra exclusively from the official Agora Maven repository when a local ../../sdk directory is absent. Repository routing is declared in each project's settings.gradle or settings.gradle.kts; use the fixed rtc_sdk_version from gradle.properties. Plugin and other third-party dependency repositories are separate.

The checked-in settings are included in source packages. Cloud build adapters do not inject an Aliyun Maven repository for RTC dependencies. Validate Maven resolution without a local SDK and with a fresh dependency cache; compiling with a bundled SDK does not validate the public repository.

Scope Rules

  • SDK version, dependency, credential plumbing, CI, and packaging changes require review of every row even when source behavior is unchanged.
  • Audio-only behavior normally includes both audio projects and any full-SDK project that exposes the same case. Video-only behavior may mark audio projects NOT_APPLICABLE.
  • Compose, SwiftUI, and Objective-C are independent implementations. Coverage does not inherit from Android Views or iOS UIKit.
  • A platform-specific requirement still records decisions for the other projects.
  • Read the selected project's AGENTS.md and ARCHITECTURE.md before editing.

Automation Ownership

Concern Source of truth
Post-release unsigned compilation .github/workflows/compile.yml; covers all nine projects using a placeholder App ID
Repository policy checks .github/workflows/repository-policy.yml and local .git-hooks/
Release packaging .github/ci/build/; executed by Jenkins
Gitee synchronization Not used in the Agora repository

Azure Pipelines configuration and dedicated legacy scripts have been removed from this repository. External Azure definitions and GitHub integrations are managed separately; removing repository files does not disable them or remove required status checks.