NativeProject class final

A complete native project definition combining prebuilts, sources, and build logic.

This is the central model that replaces the fragmented configuration currently spread across multiple parameters.

Constructors

NativeProject({required String name, required NativeAssetSpec asset, required PrebuiltManifest prebuilts, required List<SourceSpecification> sources, required NativeBuildDefinition build, PrebuiltPolicy prebuiltPolicy = PrebuiltPolicy.preferPrebuilt})
const
NativeProject.fromJson(Map<String, dynamic> json)
factory
NativeProject.fromSourceFallback({required String name, required String assetName, required String libraryStem, required PrebuiltManifest manifest, required LinkMode linkMode, required List<SourceSpecification> sources})
Creates a NativeProject from a SourceFallback-based configuration.
factory

Properties

asset → NativeAssetSpec
The native asset specification.
final
build → NativeBuildDefinition
Build definitions per platform.
final
hashCode → int
The hash code for this object.
no setterinherited
name → String
The project name (e.g., 'tdlib').
final
prebuiltPolicy → PrebuiltPolicy
Policy for preferring prebuilts vs source builds.
final
prebuilts → PrebuiltManifest
The prebuilt manifest for release artifacts.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sources → List<SourceSpecification>
Source specifications in priority order.
final

Methods

copyWith({String? name, NativeAssetSpec? asset, PrebuiltManifest? prebuilts, List<SourceSpecification>? sources, NativeBuildDefinition? build, PrebuiltPolicy? prebuiltPolicy}) → NativeProject
Creates a copy of this project with optional overrides.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited