This module implements predicates to load, consult, and compile Manifest.pl files. A Manifest file allows the specification of a bundle:
Use make_bundlereg/4 for processing of Manifest.pl files into bundle registry entries. Bundle registries are written using fastrw so that the support code to load them is minimal. They include cheaper runtime meta-information (like dependencies, versions, path aliases, etc.).
For registered bundles, you can use ensure_load_manifest/1 and manifest_call/2 for loading and consulting a bundle specification.
Usage:is_bundledir(BundleDir)
BundleDir is the directory for a bundle (i.e., contains a Manifest.pl file
Usage:locate_manifest_file(BundleDir,ManifestFile)
Given BundleDir a bundle directory, ManifestFile is unified with the name of the manifest file
Usage:lookup_bundle_root(File,BundleDir)
Detect the bundle root dir for the given File (a directory or normal file)
Usage:ensure_load_manifest(Target)
Ensure that the manifest for Target is loaded (including Manifest sentences and .hooks.pl modules). The bundle must have been scanned before, so that its source directory is known.
Usage:manifest_call(Target,Head)
Call Target:Head, a predicate defined in a Manifest (fact, predicate in hooks, or nested predicate)
Usage:manifest_current_predicate(Target,Head)
Head is declared in Target
Usage:make_bundlereg(Bundle,BundleDir,FinalBundleDir,RegFile)
Generate a bundlereg RegFile for bundle Bundle at BundleDir, where the final bundle directory is FinalBundleDir.
Usage:bundle_info(Bundle)
Show info of Bundle