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