Struct flowcore::model::lib_manifest::LibraryManifest
source · pub struct LibraryManifest {
pub lib_url: Url,
pub metadata: MetaData,
pub locators: BTreeMap<Url, ImplementationLocator>,
pub source_urls: BTreeMap<String, Url>,
}
Expand description
LibraryManifest
describes the contents of a Library that can be referenced from a flow
It is provided by libraries to help load and/or find implementations of processes
Fields§
§lib_url: Url
the Url that this library implements
metadata: MetaData
metadata
about a flow with author, version and usual fields
locators: BTreeMap<Url, ImplementationLocator>
the locators
map a lib reference to a ImplementationLocator
for a function or flow
that can be used to load it or reference it.
source_urls: BTreeMap<String, Url>
source_files is a map of: Key: lib reference for functions or flows, as used in locators Value: Url where the source file it was derived from is located
Implementations§
source§impl LibraryManifest
impl LibraryManifest
sourcepub fn new(lib_url: Url, metadata: MetaData) -> Self
pub fn new(lib_url: Url, metadata: MetaData) -> Self
Create a new, empty, LibraryManifest
with the provided Metadata
sourcepub fn load(
provider: &dyn Provider,
lib_manifest_url: &Url
) -> Result<(LibraryManifest, Url)>
pub fn load( provider: &dyn Provider, lib_manifest_url: &Url ) -> Result<(LibraryManifest, Url)>
load a LibraryManifest
from lib_manifest_url
, using provider
to fetch the contents
sourcepub fn add_locator(
&mut self,
implementation_path_relative: &str,
lib_reference_path: &str
) -> Result<()>
pub fn add_locator( &mut self, implementation_path_relative: &str, lib_reference_path: &str ) -> Result<()>
Add a locator to the LibraryManifest
to allow resolving “lib://” lib reference Urls
for functions or flows to where the implementation resides within the library directory
structure (relative to the lib root).
Also add it to the list of source files lookups in the manifest if compiling with debug info
sourcepub fn manifest_filename(base_dir: &Path) -> PathBuf
pub fn manifest_filename(base_dir: &Path) -> PathBuf
Given an output directory, return a PathBuf to the json format manifest that should be generated inside it
sourcepub fn write_json(&self, json_manifest_filename: &Path) -> Result<()>
pub fn write_json(&self, json_manifest_filename: &Path) -> Result<()>
Generate a manifest for the library in JSON
Trait Implementations§
source§impl Clone for LibraryManifest
impl Clone for LibraryManifest
source§fn clone(&self) -> LibraryManifest
fn clone(&self) -> LibraryManifest
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more