forked from rojo-rbx/rojo
Compare commits
18 Commits
small-stri
...
v0.4.x
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d147ae7bb6 | ||
|
|
9b6ce57c79 | ||
|
|
ed85d2a327 | ||
|
|
7e5b8cadfc | ||
|
|
c805f4fa2d | ||
|
|
f09d7fb0ff | ||
|
|
4e918bab5e | ||
|
|
8e3f9b3bfd | ||
|
|
300975f49c | ||
|
|
325cf56457 | ||
|
|
71b1320aa8 | ||
|
|
c5abc87dbd | ||
|
|
bd7ab593d5 | ||
|
|
c93da3f6b2 | ||
|
|
8b90e98696 | ||
|
|
bc40ec8a5a | ||
|
|
f19cbccdd5 | ||
|
|
f25ae914e4 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
/site
|
/site
|
||||||
|
/generate-docs
|
||||||
|
|||||||
@@ -3,6 +3,13 @@
|
|||||||
## Current master
|
## Current master
|
||||||
* *No changes*
|
* *No changes*
|
||||||
|
|
||||||
|
## 0.4.13 (November 12, 2018)
|
||||||
|
* When `rojo.json` points to a file or directory that does not exist, Rojo now issues a warning instead of throwing an error and exiting
|
||||||
|
|
||||||
|
## 0.4.12 (June 21, 2018)
|
||||||
|
* Fixed obscure assertion failure when renaming or deleting files ([#78](https://github.com/LPGhatguy/rojo/issues/78))
|
||||||
|
* Added a `PluginAction` for the sync in command, which should help with some automation scripts ([#80](https://github.com/LPGhatguy/rojo/pull/80))
|
||||||
|
|
||||||
## 0.4.11 (June 10, 2018)
|
## 0.4.11 (June 10, 2018)
|
||||||
* Defensively insert existing instances into RouteMap; should fix most duplication cases when syncing into existing trees.
|
* Defensively insert existing instances into RouteMap; should fix most duplication cases when syncing into existing trees.
|
||||||
* Fixed incorrect synchronization from `Plugin:_pull` that would cause polling to create issues
|
* Fixed incorrect synchronization from `Plugin:_pull` that would cause polling to create issues
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<a href="https://travis-ci.org/LPGhatguy/rojo">
|
<a href="https://travis-ci.org/LPGhatguy/rojo">
|
||||||
<img src="https://api.travis-ci.org/LPGhatguy/rojo.svg?branch=master" alt="Travis-CI Build Status" />
|
<img src="https://api.travis-ci.org/LPGhatguy/rojo.svg?branch=master" alt="Travis-CI Build Status" />
|
||||||
</a>
|
</a>
|
||||||
<img src="https://img.shields.io/badge/latest_version-0.4.11-brightgreen.svg" alt="Current server version" />
|
<img src="https://img.shields.io/badge/latest_version-0.4.13-brightgreen.svg" alt="Current server version" />
|
||||||
<a href="https://lpghatguy.github.io/rojo">
|
<a href="https://lpghatguy.github.io/rojo">
|
||||||
<img src="https://img.shields.io/badge/documentation-website-brightgreen.svg" alt="Rojo Documentation" />
|
<img src="https://img.shields.io/badge/documentation-website-brightgreen.svg" alt="Rojo Documentation" />
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ If your project is in the right place, Rojo will let you know that it was found
|
|||||||
|
|
||||||
In Roblox Studio, open the plugins tab and find Rojo's buttons.
|
In Roblox Studio, open the plugins tab and find Rojo's buttons.
|
||||||
|
|
||||||

|

|
||||||
{: align="center" }
|
{: align="center" }
|
||||||
|
|
||||||
Press **Test Connection** to verify that the plugin can communicate with the dev server. Watch the Output panel for the results.
|
Press **Test Connection** to verify that the plugin can communicate with the dev server. Watch the Output panel for the results.
|
||||||
@@ -64,7 +64,7 @@ Press **Test Connection** to verify that the plugin can communicate with the dev
|
|||||||
!!! info
|
!!! info
|
||||||
If you see an error message, return to the previous steps and make sure that the Rojo dev server is running.
|
If you see an error message, return to the previous steps and make sure that the Rojo dev server is running.
|
||||||
|
|
||||||

|

|
||||||
{: align="center" }
|
{: align="center" }
|
||||||
|
|
||||||
After your connection was successful, press **Sync In** to move code from the filesystem into Studio, or use **Toggle Polling** to have Rojo automatically sync in changes as they happen.
|
After your connection was successful, press **Sync In** to move code from the filesystem into Studio, or use **Toggle Polling** to have Rojo automatically sync in changes as they happen.
|
||||||
|
|||||||
@@ -1,6 +1,16 @@
|
|||||||
# Home
|
This is the documentation home for **Rojo 0.4.x**.
|
||||||
This is the documentation home for Rojo.
|
|
||||||
|
|
||||||
**Rojo** is a flexible multi-tool designed for creating robust Roblox projects.
|
!!! warning
|
||||||
|
Rojo 0.4.x has reached end-of-life as of the release of Rojo 0.5.0 on August 27, 2019.
|
||||||
|
|
||||||
This documentation is a work in progress, and is incomplete.
|
Upgrading to Rojo 0.5.0 is strongly recommended to get new features and continue getting support.
|
||||||
|
|
||||||
|
Available versions of these docs:
|
||||||
|
|
||||||
|
* [Latest version from `master` branch](https://rojo.space/docs/latest)
|
||||||
|
* [0.5.x](https://rojo.space/docs/0.5.x)
|
||||||
|
* [0.4.x](https://rojo.space/docs/0.4.x)
|
||||||
|
|
||||||
|
**Rojo** is a tool designed to enable Roblox developers to use professional-grade software engineering tools.
|
||||||
|
|
||||||
|
This documentation is a continual work in progress. If you find any issues, please file an issue on [Rojo's issue tracker](https://github.com/rojo-rbx/rojo/issues)!
|
||||||
@@ -5,7 +5,7 @@ This page aims to describe how Rojo turns files on the filesystem into Roblox ob
|
|||||||
Any directory on the filesystem will turn into a `Folder` instance in Roblox, unless that folder matches the name of a service or other existing instance. In those cases, that instance will be preserved.
|
Any directory on the filesystem will turn into a `Folder` instance in Roblox, unless that folder matches the name of a service or other existing instance. In those cases, that instance will be preserved.
|
||||||
|
|
||||||
## Scripts
|
## Scripts
|
||||||
Rojo can represent `ModuleScript`, `Script`, and `LocalScript` objects. The default script type is `ModuleScript`, since most scripts in well-structued Roblox projects will be modules.
|
Rojo can represent `ModuleScript`, `Script`, and `LocalScript` objects. The default script type is `ModuleScript`, since most scripts in well-structured Roblox projects will be modules.
|
||||||
|
|
||||||
| File Name | Instance Type |
|
| File Name | Instance Type |
|
||||||
| -------------- | -------------- |
|
| -------------- | -------------- |
|
||||||
@@ -13,7 +13,7 @@ Rojo can represent `ModuleScript`, `Script`, and `LocalScript` objects. The defa
|
|||||||
| `*.client.lua` | `LocalScript` |
|
| `*.client.lua` | `LocalScript` |
|
||||||
| `*.lua` | `ModuleScript` |
|
| `*.lua` | `ModuleScript` |
|
||||||
|
|
||||||
If a directory contains a file named `init.server.lua`, `init.client.lua`, or `init.lua`, that folder will be transformed into a `*Script` instance with the conents of the `init` file. This can be used to create scripts inside of scripts.
|
If a directory contains a file named `init.server.lua`, `init.client.lua`, or `init.lua`, that folder will be transformed into a `*Script` instance with the contents of the `init` file. This can be used to create scripts inside of scripts.
|
||||||
|
|
||||||
For example, this file tree:
|
For example, this file tree:
|
||||||
|
|
||||||
@@ -23,7 +23,7 @@ For example, this file tree:
|
|||||||
|
|
||||||
Will turn into these instances in Roblox:
|
Will turn into these instances in Roblox:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Models
|
## Models
|
||||||
Rojo supports a JSON model format for representing simple models. It's designed for instance types like `BindableEvent` or `Value` objects, and is not suitable for larger models.
|
Rojo supports a JSON model format for representing simple models. It's designed for instance types like `BindableEvent` or `Value` objects, and is not suitable for larger models.
|
||||||
@@ -62,4 +62,4 @@ JSON model files are fairly strict; any syntax errors will cause the model to fa
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
site_name: Rojo Documentation
|
site_name: Rojo Documentation
|
||||||
site_url: https://lpghatguy.github.io/rojo/
|
site_url: https://lpghatguy.github.io/rojo/0.4.x
|
||||||
repo_name: LPGhatguy/rojo
|
repo_name: LPGhatguy/rojo
|
||||||
repo_url: https://github.com/LPGhatguy/rojo
|
repo_url: https://github.com/LPGhatguy/rojo
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ theme:
|
|||||||
primary: 'Red'
|
primary: 'Red'
|
||||||
accent: 'Red'
|
accent: 'Red'
|
||||||
|
|
||||||
pages:
|
nav:
|
||||||
- Home: index.md
|
- Home: index.md
|
||||||
- Why Rojo?: why-rojo.md
|
- Why Rojo?: why-rojo.md
|
||||||
- Getting Started:
|
- Getting Started:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
return {
|
return {
|
||||||
pollingRate = 0.2,
|
pollingRate = 0.3,
|
||||||
version = {0, 4, 11},
|
version = {0, 4, 13},
|
||||||
expectedServerVersionString = "0.4.x",
|
expectedServerVersionString = "0.4.x",
|
||||||
protocolVersion = 1,
|
protocolVersion = 1,
|
||||||
icons = {
|
icons = {
|
||||||
|
|||||||
@@ -55,15 +55,20 @@ local function main()
|
|||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
toolbar:CreateButton("Sync In", "Sync into Roblox Studio", Config.icons.syncIn)
|
local function syncIn()
|
||||||
.Click:Connect(function()
|
checkUpgrade()
|
||||||
checkUpgrade()
|
|
||||||
|
|
||||||
pluginInstance:syncIn()
|
pluginInstance:syncIn()
|
||||||
:catch(function(err)
|
:catch(function(err)
|
||||||
warn(err)
|
warn(err)
|
||||||
end)
|
end)
|
||||||
end)
|
end
|
||||||
|
|
||||||
|
local shortDescription = "Sync In"
|
||||||
|
local longDescription = "Sync into Roblox Studio"
|
||||||
|
|
||||||
|
toolbar:CreateButton(shortDescription, longDescription, Config.icons.syncIn).Click:Connect(syncIn)
|
||||||
|
plugin:CreatePluginAction("RojoSyncIn", shortDescription, longDescription).Triggered:Connect(syncIn)
|
||||||
|
|
||||||
toolbar:CreateButton("Toggle Polling", "Poll server for changes", Config.icons.togglePolling)
|
toolbar:CreateButton("Toggle Polling", "Poll server for changes", Config.icons.togglePolling)
|
||||||
.Click:Connect(function()
|
.Click:Connect(function()
|
||||||
|
|||||||
@@ -170,6 +170,8 @@ function Reconciler:reconcile(rbx, item)
|
|||||||
-- Item was deleted
|
-- Item was deleted
|
||||||
if item == nil then
|
if item == nil then
|
||||||
if rbx ~= nil then
|
if rbx ~= nil then
|
||||||
|
-- TODO: If this is a partition root, should we leave it alone?
|
||||||
|
|
||||||
self._routeMap:removeByRbx(rbx)
|
self._routeMap:removeByRbx(rbx)
|
||||||
rbx:Destroy()
|
rbx:Destroy()
|
||||||
end
|
end
|
||||||
@@ -240,7 +242,9 @@ function Reconciler:reconcileRoute(rbxRoute, item, fileRoute)
|
|||||||
|
|
||||||
rbx = self:reconcile(rbx, item)
|
rbx = self:reconcile(rbx, item)
|
||||||
|
|
||||||
reparent(rbx, parent)
|
if rbx ~= nil then
|
||||||
|
reparent(rbx, parent)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return Reconciler
|
return Reconciler
|
||||||
|
|||||||
2
server/Cargo.lock
generated
2
server/Cargo.lock
generated
@@ -636,7 +636,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rojo"
|
name = "rojo"
|
||||||
version = "0.4.11"
|
version = "0.4.13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rojo"
|
name = "rojo"
|
||||||
version = "0.4.11"
|
version = "0.4.13"
|
||||||
authors = ["Lucien Greathouse <me@lpghatguy.com>"]
|
authors = ["Lucien Greathouse <me@lpghatguy.com>"]
|
||||||
description = "A tool to create robust Roblox projects"
|
description = "A tool to create robust Roblox projects"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|||||||
@@ -83,7 +83,8 @@ impl VfsWatcher {
|
|||||||
match watcher.watch(&root_path, RecursiveMode::Recursive) {
|
match watcher.watch(&root_path, RecursiveMode::Recursive) {
|
||||||
Ok(_) => (),
|
Ok(_) => (),
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
panic!("Unable to watch partition {}, with path {}! Make sure that it's a file or directory.", partition_name, root_path.display());
|
eprintln!("WARNING: Unable to watch partition {}, with path {}\nMake sure that it's a file or directory.", partition_name, root_path.display());
|
||||||
|
continue;
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,10 @@
|
|||||||
"extra": {
|
"extra": {
|
||||||
"path": "extra-script.lua",
|
"path": "extra-script.lua",
|
||||||
"target": "ReplicatedStorage.ExtraScript"
|
"target": "ReplicatedStorage.ExtraScript"
|
||||||
|
},
|
||||||
|
"does-not-exist": {
|
||||||
|
"path": "hahah",
|
||||||
|
"target": "ReplicatedStorage.Never"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user