You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've been talking a lot about how to enable users to enable debug versions of libraries like Roact where they can have extra development information. One way to accomplish this would be to allow Rojo to reason about different profiles.
Profiles in this proposal would let Rojo pick a different project file by default instead of default.project.json.
For a first pass, you could imagine a user invoking a command like:
rojo build --profile debug -o Place.rbxlx
When loading this project and any nested projects (like Roact), Rojo would first look for a project name like profile-debug.project.json to try to use instead. These alternate projects could enable extra debugging features like additional stack traces by using a different entrypoint or even enabling a special Rojo server plugin.
A future version could shape the argument to the --profile flag to be similar to the Rust library env_logger's RUST_LOG environment variable. For example, to enable debugging just for Roact:
rojo build --profile "Roact=debug" -o Place.rbxlx
Open Questions
Would we promote default.project.json containing the release or debug configuration? This changes whether users use --profile debug or --profile release. Node's NODE_ENV environment traditionally defaults to debug.
What file name would we use for projects with alternate profiles? debug.project.json, profile-debug.project.json, debug.profile.json?
How does this interact with the non-modal settings we want to make configurable in the future, like logging?
The text was updated successfully, but these errors were encountered:
We've had a lot of discussion about this at Roblox.
Two possible solutions we've thought of instead of profiles:
Point people to Remodel, which enables scripting a build pipeline programmatically, including doing debug-y things to a tree of instances. Currently doesn't interact with live sync sadly.
Implement a version of Rojo projects that are defined as Lua files, enabling branching on debug settings. This has precedent in the JS ecosystem, for better or worse.
Depends on #95.
We've been talking a lot about how to enable users to enable debug versions of libraries like Roact where they can have extra development information. One way to accomplish this would be to allow Rojo to reason about different profiles.
Profiles in this proposal would let Rojo pick a different project file by default instead of
default.project.json
.For a first pass, you could imagine a user invoking a command like:
When loading this project and any nested projects (like Roact), Rojo would first look for a project name like
profile-debug.project.json
to try to use instead. These alternate projects could enable extra debugging features like additional stack traces by using a different entrypoint or even enabling a special Rojo server plugin.A future version could shape the argument to the
--profile
flag to be similar to the Rust libraryenv_logger
'sRUST_LOG
environment variable. For example, to enable debugging just for Roact:rojo build --profile "Roact=debug" -o Place.rbxlx
Open Questions
default.project.json
containing the release or debug configuration? This changes whether users use--profile debug
or--profile release
. Node'sNODE_ENV
environment traditionally defaults todebug
.debug.project.json
,profile-debug.project.json
,debug.profile.json
?The text was updated successfully, but these errors were encountered: