Rojo enables Roblox developers to use professional-grade software engineering tools https://rojo.space
Find a file
Kenneth Loeffler 96987af71d
Fix broken serve tests on macOS (#824)
Right now, serve tests will fail when Rojo is built with the FSEvent
backend. The cause is essentially due to the fact that `/var` (where
temporary directories for serve tests are located) on macOS is actually
a symlink to `/private/var`. Paths coming from FSEvent always have
symlinks expanded, but Rojo never expands symlinks. So, Rojo's paths
during these tests look like `/var/*` while the FSEvent paths look like
`/private/var/*`. When Rojo's change processor receives these events, it
considers them outside the project and does not apply any changes,
causing serve tests to time out.

To work around this, we can call `Path::canonicalize` before passing the
project path to `rojo serve` during serve tests. Rojo does need to
better support symlinks (which would also solve the problem), but I
think that can be left for another day because it's larger in scope and
I mostly just want working tests before addressing #609.
2023-12-28 23:17:00 +00:00
.cargo Use new Cargo config.toml convention 2021-07-12 13:19:36 -04:00
.github/workflows Update rbx_dom dependencies (#795) 2023-10-03 16:32:22 -07:00
assets Add plugin template (#738) 2023-07-23 17:12:48 -07:00
benches Add plugin build flag (#735) 2023-07-17 19:15:40 -07:00
build/windows Support long file paths on Windows (past 256 limit) (#464) 2021-08-23 15:21:01 -04:00
crates Upgrade to Notify 6 (#816) 2023-11-23 16:16:43 -08:00
plugin Fix preloading assets in plugin (#819) 2023-12-04 16:02:25 +00:00
rojo-test Add RunContext support for script outputs (#765) 2023-09-23 13:28:09 -07:00
src Remove unnecessary borrows (#810) 2023-10-25 17:59:02 -05:00
test-projects Live sync Attributes (#553) 2022-06-29 18:53:34 -04:00
tests Fix broken serve tests on macOS (#824) 2023-12-28 23:17:00 +00:00
.editorconfig Fix Insta snapshot files having their line endings truncated when edited 2019-11-25 18:10:39 -08:00
.git-blame-ignore-revs Create .git-blame-ignore-revs & Add Stylua pr (#787) 2023-09-19 05:56:39 +00:00
.gitignore Switch plugin packages back to git submodules (#678) 2023-05-26 10:26:21 -07:00
.gitmodules View rich diffs for Source property changes (#748) 2023-07-26 23:50:29 -07:00
aftman.toml Stylua formatting (#785) 2023-09-18 15:39:46 -07:00
build.rs Remove unnecessary borrows (#810) 2023-10-25 17:59:02 -05:00
Cargo.lock Upgrade to Notify 6 (#816) 2023-11-23 16:16:43 -08:00
Cargo.toml Upgrade to Notify 6 (#816) 2023-11-23 16:16:43 -08:00
CHANGELOG.md Release v7.4.0-rc3 (#811) 2023-10-25 17:01:06 -07:00
CONTRIBUTING.md Release v7.1.1 2022-05-26 02:53:20 -04:00
LICENSE.txt Tweak bottom of README, move LICENSE to LICENSE.txt 2019-01-18 20:57:19 -08:00
README.md Update rbx_dom dependencies (#795) 2023-10-03 16:32:22 -07:00
selene.toml Add testez std (#535) 2022-04-19 17:45:55 -04:00
testez.yml Update selene (#550) 2022-06-12 03:41:49 -04:00

Rojo
 
Actions status Latest server version Rojo Documentation

Rojo is a tool designed to enable Roblox developers to use professional-grade software engineering tools.

With Rojo, it's possible to use industry-leading tools like Visual Studio Code and Git.

Rojo is designed for power users who want to use the best tools available for building games, libraries, and plugins.

Features

Rojo enables:

  • Working on scripts and models from the filesystem, in your favorite editor
  • Versioning your game, library, or plugin using Git or another VCS
  • Streaming rbxmx and rbxm models into your game in real time
  • Packaging and deploying your project to Roblox.com from the command line

In the future, Rojo will be able to:

  • Sync instances from Roblox Studio to the filesystem
  • Automatically convert your existing game to work with Rojo
  • Import custom instances like MoonScript code

Documentation

Documentation is hosted in the rojo.space repository.

Contributing

Check out our contribution guide for detailed instructions for helping work on Rojo!

Pull requests are welcome!

Rojo supports Rust 1.70.0 and newer. The minimum supported version of Rust is based on the latest versions of the dependencies that Rojo has.

License

Rojo is available under the terms of the Mozilla Public License, Version 2.0. See LICENSE.txt for details.