Commit Graph

95 Commits

Author SHA1 Message Date
Lucien Greathouse
1a1b6d923f Fix JsonModelPlugin setting the name of the resulting RbxInstance v0.4.0-pre1 2018-01-09 16:40:39 -08:00
Lucien Greathouse
27cf2c8740 Add error context to output for JsonModelPlugin 2018-01-09 11:31:48 -08:00
Lucien Greathouse
c08a598d3f Fix broken file watcher implementation
This one took a little bit of tracking down; the VfsWatcher used to spawn a new
thread and then stall/park forever. With one of the recent changes to get rid of
the extra thread, VfsWatcher started getting dropped, which in turn dropped the
watchers created by the notify crate.

Because the threads only tie back to the VfsWatcher was a cloned
Arc<Mutex<VfsSession>>, everything was fine, except that their mpsc::Receiver
objects were no longer receiving events.

This manifested itself as the file watcher magically not watching any files.
Oops.
2018-01-08 12:33:36 -08:00
Lucien Greathouse
1318842c36 Update dependencies 2018-01-08 12:33:33 -08:00
Lucien Greathouse
86d7d033d7 Add 'route' to each RbxInstance, which tags how the instance was generated 2018-01-05 13:07:09 -08:00
Lucien Greathouse
2df1dfa1cb Insulate VFS internals a little bit 2018-01-03 18:13:49 -08:00
Lucien Greathouse
78a1c658d8 Simplify and collapse some code from 'rojo serve' 2018-01-03 18:05:00 -08:00
Lucien Greathouse
f52f43fe90 Eliminate extra thread for VfsWatcher 2018-01-03 18:02:56 -08:00
Lucien Greathouse
58b244b7e9 Reorganize some of the unwieldly parts of the codebase
* Moved commands into their own folder to reduce `bin.rs`'s size
* Moved all of the VFS-related functionality into its own folder
* Documented a lot of functions, including a few very obscure ones
2018-01-03 16:45:46 -08:00
Lucien Greathouse
d8bcbee463 Rename RbxItem -> RbxInstance 2018-01-03 16:01:48 -08:00
Lucien Greathouse
f00152a9ac Add a bit of documentation, this code is lacking it 2018-01-03 16:00:27 -08:00
Lucien Greathouse
9720c56765 Change each VfsItem to keep a full route instead of just its name 2018-01-03 15:56:19 -08:00
Lucien Greathouse
13ce04abb2 Add 'Contributing' section to README 2018-01-03 11:46:07 -08:00
Lucien Greathouse
ab22b55b84 Add further logging in verbose mode 2018-01-02 18:17:44 -08:00
Lucien Greathouse
73117edbe7 Enable JsonModelPlugin by default as a test 2018-01-02 15:41:10 -08:00
Lucien Greathouse
d7e2a3542c Make notes about compatibility breakage and version 0.4.0 2018-01-02 14:52:51 -08:00
Lucien Greathouse
fe240ed577 Prototype JsonModelPlugin, untested
Also cleaned up all of the warnings in the other plugin code
2017-12-21 17:09:32 -08:00
Lucien Greathouse
5e98cbe68f More detail in DESIGN.md 2017-12-21 16:10:47 -08:00
Lucien Greathouse
7a372dc50c Add forgotten change about CPU usage 2017-12-21 14:21:03 -08:00
Lucien Greathouse
958b6660be Update README and DESIGN 2017-12-20 23:00:48 -08:00
Lucien Greathouse
e731811911 Add changes from serve-instances merge 2017-12-20 22:54:10 -08:00
Lucien Greathouse
66144cef2f Merge branch 'serve-instances' 2017-12-20 22:52:32 -08:00
Lucien Greathouse
13925f5879 Publish 0.3.2 v0.3.2 2017-12-20 22:41:23 -08:00
Lucien Greathouse
68ba3fee6c Fix max body size typo 2017-12-20 22:36:12 -08:00
Lucien Greathouse
95581dbaa6 Pass common plugin chain into web handler 2017-12-20 22:35:26 -08:00
Lucien Greathouse
aaaf3ba0b9 Implement handle_rbx_change API for plugins as a pass 2017-12-20 22:11:46 -08:00
Lucien Greathouse
b885cae086 Rename TransformResult -> TransformFileResult in preparation for two-way syncing 2017-12-20 22:01:38 -08:00
Lucien Greathouse
0f78eb933a DESIGN doc, stub out /write endpoint 2017-12-20 22:00:01 -08:00
Lucien Greathouse
6ee9a48e20 Use plugin chain code in Vfs 2017-12-18 01:52:13 -08:00
Lucien Greathouse
f90c51e923 Move web server onto main thread 2017-12-18 01:20:04 -08:00
Lucien Greathouse
6472a2cbce Add handle_file_change to plugin API
This solves the problem I was running into with the ScriptPlugin implementation -- if foo/init.lua changes, foo needs to be requested, not 'foo/init.lua' (which would then erroneously create a ModuleScript before this commit)
2017-12-17 22:47:16 -08:00
Lucien Greathouse
c75cbebbf0 Merge branch 'master' into serve-instances 2017-12-17 22:12:04 -08:00
Lucien Greathouse
2e340ff78c Merge pull request #22 from Quenty/fix-21-high-cpu
Fix #21: High CPU usage in a small project
2017-12-17 21:42:21 -08:00
James Onnen
5a20646c57 Address code review, remove unnecessary import 2017-12-17 23:40:32 -06:00
James Onnen
199ebda689 Use ::park() instead of ::sleep() 2017-12-17 14:34:31 -06:00
James Onnen
ae6ca6fb23 Fix #21: High CPU usage in a small project 2017-12-17 14:20:24 -06:00
Lucien Greathouse
12bfcd7b66 Implement init.lua support in ScriptPlugin 2017-12-14 01:11:44 -08:00
Lucien Greathouse
d365bc076e Add VfsItem::name to make comparisons easier 2017-12-14 01:11:44 -08:00
Lucien Greathouse
67ac6b7cec First implementation of 'ScriptPlugin', which serves script files as scripts 2017-12-14 01:11:44 -08:00
Lucien Greathouse
01325c8c7e Implement PluginChain 2017-12-14 01:11:44 -08:00
Lucien Greathouse
21e9625c36 Prototype plugin architecture, switch instance-based stuff to that 2017-12-14 01:11:44 -08:00
Lucien Greathouse
5bf1f11190 Hacky first go at it -- keeping the existing VfsItem infrastructure
I think this is actually a pretty reasonable flow.
2017-12-14 01:11:44 -08:00
Lucien Greathouse
b4e31ea35d Fix serve path failing to be absolute when given as a relative path 2017-12-14 01:09:10 -08:00
Lucien Greathouse
7c6fe38346 CLI version 0.3.1 v0.3.1 2017-12-14 00:24:01 -08:00
Lucien Greathouse
f89d491f29 Run rustfmt
I ignored some odd formatting it introduced relating to putting braces on newlines in if-let blocks. This might be a bug, but I didn't find any way to turn that off.
2017-12-13 12:05:11 -08:00
Lucien Greathouse
59b2401c2c Add more detailed error reporting around invalid projects 2017-12-13 11:56:06 -08:00
Lucien Greathouse
b74ba141d1 Update dependencies, server v0.3.0 v0.3.0 2017-12-12 15:01:36 -08:00
Lucien Greathouse
b60f06aa88 Update changelog to represent refactoring of server/client 2017-12-11 15:50:22 -08:00
Lucien Greathouse
f00bcc6d7e Point to the rojo-plugin repository 2017-12-08 16:52:13 -08:00
Lucien Greathouse
d5b41e2bd4 Remove plugin source, moved to rojo-plugin 2017-12-08 16:50:30 -08:00