pub struct Project {
pub name: Option<String>,
pub tree: ProjectNode,
pub serve_port: Option<u16>,
pub serve_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 file_location: PathBuf,
}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.
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.
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.
pub fn folder_location(&self) -> &Path
Trait Implementations§
source§impl<'de> Deserialize<'de> for Project
impl<'de> Deserialize<'de> for Project
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl PartialEq for Project
impl PartialEq for Project
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 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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)