pub struct Project {
pub name: Option<String>,
pub tree: ProjectNode,
pub serve_port: Option<u16>,
pub serve_place_ids: Option<HashSet<u64>>,
pub blocked_place_ids: Option<HashSet<u64>>,
pub place_id: Option<u64>,
pub game_id: Option<u64>,
pub serve_address: Option<IpAddr>,
pub emit_legacy_scripts: Option<bool>,
pub glob_ignore_paths: Vec<Glob>,
pub sync_rules: Vec<SyncRule>,
pub file_location: PathBuf,
/* private fields */
}Expand description
Contains all of the configuration for a Rojo-managed project.
Project files are stored in .project.json files.
Fields§
§name: Option<String>The name of the top-level instance described by the project.
tree: ProjectNodeThe tree of instances described by this project. Projects always describe at least one instance.
serve_port: Option<u16>If specified, sets the default port that rojo serve should use when
using this project for live sync.
serve_place_ids: Option<HashSet<u64>>If specified, contains the set of place IDs that this project is compatible with when doing live sync.
This setting is intended to help prevent syncing a Rojo project into the wrong Roblox place.
blocked_place_ids: Option<HashSet<u64>>If specified, contains a set of place IDs that this project is not compatible with when doing live sync.
This setting is intended to help prevent syncing a Rojo project into the wrong Roblox place.
place_id: Option<u64>If specified, sets the current place’s place ID when connecting to the Rojo server from Roblox Studio.
game_id: Option<u64>If specified, sets the current place’s game ID when connecting to the Rojo server from Roblox Studio.
serve_address: Option<IpAddr>If specified, this address will be used in place of the default address As long as –address is unprovided.
emit_legacy_scripts: Option<bool>Determines if Rojo should emit scripts with the appropriate RunContext
for *.client.lua and *.server.lua files in the project instead of
using Script and LocalScript Instances.
glob_ignore_paths: Vec<Glob>A list of globs, relative to the folder the project file is in, that match files that should be excluded if Rojo encounters them.
sync_rules: Vec<SyncRule>A list of mappings of globs to syncing rules. If a file matches a glob, it will be ‘transformed’ into an Instance following the rule provided. Globs are relative to the folder the project file is in.
file_location: PathBufThe path to the file that this project came from. Relative paths in the
project should be considered relative to the parent of this field, also
given by Project::folder_location.
Implementations§
Source§impl Project
impl Project
Sourcepub fn is_project_file(path: &Path) -> bool
pub fn is_project_file(path: &Path) -> bool
Tells whether the given path describes a Rojo project.
Sourcepub fn load_fuzzy(
vfs: &Vfs,
fuzzy_project_location: &Path,
) -> Result<Option<Self>, ProjectError>
pub fn load_fuzzy( vfs: &Vfs, fuzzy_project_location: &Path, ) -> Result<Option<Self>, ProjectError>
Loads a Project from a path. This will find the project if it refers to
a .project.json file or if it refers to a directory that contains a
file named default.project.json.
Sourcepub fn load_exact(
vfs: &Vfs,
project_file_location: &Path,
fallback_name: Option<&str>,
) -> Result<Self, ProjectError>
pub fn load_exact( vfs: &Vfs, project_file_location: &Path, fallback_name: Option<&str>, ) -> Result<Self, ProjectError>
Loads a Project from a path.