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: BTreeSet<(Url, 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 reference to a function/implementation to the ImplementationLocator
that can be used to load it or reference it
source_urls: BTreeSet<(Url, Url)>
source_files is a list of source files (location relative to library root) for functions (function definitions and source code) and process flow definitions that form part of it
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)
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