pub struct Project {Show 35 fields
pub root: PathBuf,
pub manifest_path: PathBuf,
pub id: String,
pub version: Version,
pub native: Option<NativeRequirement>,
pub release_tag: String,
pub source_paths: Vec<PathBuf>,
pub test_paths: Vec<PathBuf>,
pub extension_paths: Vec<PathBuf>,
pub shared_source_paths: Vec<PathBuf>,
pub shared_test_paths: Vec<PathBuf>,
pub shared_extension_paths: Vec<PathBuf>,
pub runtime_profiles: BTreeMap<String, RuntimeProfile>,
pub active_runtime: String,
pub native_source_paths: Vec<PathBuf>,
pub runtime_target_path: Option<PathBuf>,
pub maven_dependencies: BTreeMap<String, String>,
pub npm_dependencies: BTreeMap<String, NpmWasmDependency>,
pub native_imports: BTreeMap<String, WasmNativeImport>,
pub capabilities: Vec<String>,
pub artifact_paths: Vec<PathBuf>,
pub archive_root: Option<PathBuf>,
pub package_workspace: bool,
pub package_name: Option<String>,
pub package_profile: Option<PathBuf>,
pub source_files: Option<Vec<PathBuf>>,
pub main: Option<String>,
pub default_profile: Option<String>,
pub profiles: BTreeMap<String, ProjectProfile>,
pub dependencies: BTreeMap<String, String>,
pub shared_dependencies: BTreeMap<String, String>,
pub extensions: BTreeMap<String, Form>,
pub aliases: BTreeMap<String, Vec<String>>,
pub distribution: Option<Distribution>,
pub recipe: Option<PathBuf>,
}Fields§
§root: PathBuf§manifest_path: PathBuf§id: String§version: Version§native: Option<NativeRequirement>Exact native host version required by this project, when it declares
:project/native. This is deliberately an equality constraint: Hara
source and its native surface are released as one verified pair.
release_tag: StringSigned source tag for publication. It defaults to the exact project
version so source packages do not need a separate v convention.
source_paths: Vec<PathBuf>Effective native-Rust paths (shared paths followed by :rust additions).
test_paths: Vec<PathBuf>§extension_paths: Vec<PathBuf>§runtime_profiles: BTreeMap<String, RuntimeProfile>§active_runtime: String§native_source_paths: Vec<PathBuf>§runtime_target_path: Option<PathBuf>§maven_dependencies: BTreeMap<String, String>§npm_dependencies: BTreeMap<String, NpmWasmDependency>§native_imports: BTreeMap<String, WasmNativeImport>§capabilities: Vec<String>§artifact_paths: Vec<PathBuf>§archive_root: Option<PathBuf>§package_workspace: boolWhether the intentionally portable workspace declaration is a package resource. This never includes a live Studio workspace or cache.
package_name: Option<String>Semantic package coordinate selected from the project’s package profile. This is independent from the namespace coordinates it owns.
package_profile: Option<PathBuf>Optional Foundation-compatible package profile used to select source namespaces while building a package archive.
source_files: Option<Vec<PathBuf>>Optional explicit HAL files to include when building a package.
This keeps package projects rooted next to canonical sources without recursively archiving runtime-specific siblings.
main: Option<String>§default_profile: Option<String>§profiles: BTreeMap<String, ProjectProfile>§dependencies: BTreeMap<String, String>Effective native-Rust Hara dependencies.
extensions: BTreeMap<String, Form>§aliases: BTreeMap<String, Vec<String>>Project-local command aliases. Values are argv prefixes, never shell expressions; callers append their own arguments after expansion.
distribution: Option<Distribution>Optional declaration for a relocatable Hara source distribution.
recipe: Option<PathBuf>Implementations§
Source§impl Project
impl Project
Sourcepub fn resolve_runtime_profile(
&self,
runtime: &str,
) -> Result<ResolvedRuntimeProfile, String>
pub fn resolve_runtime_profile( &self, runtime: &str, ) -> Result<ResolvedRuntimeProfile, String>
Resolves the shared project declaration with one host runtime overlay.
Sourcepub fn resolve_profile(
&self,
requested: Option<&str>,
) -> Result<Option<ResolvedProfile>, String>
pub fn resolve_profile( &self, requested: Option<&str>, ) -> Result<Option<ResolvedProfile>, String>
Resolves a named runnable target without assigning any meaning to its language or options. Language hosts such as Hoplite own that policy.
Trait Implementations§
impl StructuralPartialEq for Project
Auto Trait Implementations§
impl Freeze for Project
impl RefUnwindSafe for Project
impl Send for Project
impl Sync for Project
impl Unpin for Project
impl UnsafeUnpin for Project
impl UnwindSafe for Project
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more