Commit Graph

104 Commits

Author SHA1 Message Date
Lucien Greathouse
c1bf9d9dfc Update duplicate env_logger dep 2020-03-12 19:39:27 -07:00
Lucien Greathouse
255bf439d3 Add 'rojo doc' command 2020-03-12 16:02:19 -07:00
Lucien Greathouse
eb8964e1d1 Improve panic messaging and process behavior.
- Replaced main() to use custom panic hook
- Updated log formatting
- Switched to panic=abort, since we don't need to unwind now.
- Process will now abort if any thread panics.
2020-03-12 15:42:56 -07:00
Lucien Greathouse
5be4175ac3 Rename vfs -> memofs across the codebase 2020-03-10 18:05:31 -07:00
Lucien Greathouse
477e0ada32 VFS in external crate (#297)
* vroom

* Port dir middleware

* Filter rules

* Directory metadata

* Project support

* Enable Lua support

* StringValue support

* CSV

* rbxm, rbxmx, and rbxlx

* JSON models

* Clean up some warnings

* Strip out PathMap

* Unwatch paths when they're reported as removed

* Fix 'rojo upload' behavior

* Upgrade to Insta 0.13.1

* Update dependencies

* Release 0.6.0-alpha.2

* Fix bad merge

* Replace MemoryBackend with InMemoryFs

* Sledgehammer tests into passing for now

* Txt middleware

* Update easy snapshot tests

* Lua tests

* Project middleware tests

* Try to fix test failures by sorting

* Port first set of serve session tests

* Add InMemoryFs::raise_event

* Finish porting serve session tests

* Remove UI code for introspecting VFS for now

* VFS docs
2020-03-10 17:38:49 -07:00
Lucien Greathouse
0187da5f24 Release 0.6.0-alpha.2 2020-03-06 13:56:21 -08:00
Lucien Greathouse
2e1c37ffff Update dependencies 2020-03-06 13:54:04 -08:00
Lucien Greathouse
4b0189dd55 Upgrade to Insta 0.13.1 2020-03-06 13:52:23 -08:00
Lucien Greathouse
52e1dbd846 Flesh out crate 2020-02-18 23:16:56 -08:00
Lucien Greathouse
838e8f6bde VFS crate 2020-02-18 22:30:12 -08:00
Lucien Greathouse
99b8ada42b Release v0.6.0-alpha.1 2020-01-22 10:09:07 -08:00
Lucien Greathouse
e261e7a2c7 Implement glob ignores (#272)
* Add Glob wrapper type with better serialization

* Introduce PathIgnoreRule struct

* Implement equality for Glob type

* Add PathIgnoreRule to InstanceContext

* Implement glob ignores in directory middleware

* Fix up filters

* Use Iterator::all instead of loop

* Add project-level configuration for glob ignores

* Add test project for glob ignores

* Wire up project file and snapshots to make glob ignores work

* Better codepaths for adding ignore rules with empty iterators

* Add test for globs inherited from parent projects

* Add test details, support glob ignores in nested projects

* Add feature flag for globs

* Switch to use ExactSizeIterator instead of size_hint

* Remove glob visitor
2020-01-08 17:58:37 -08:00
Lucien Greathouse
859c7bea8a Update most dependencies 2019-12-18 15:52:47 -08:00
Lucien Greathouse
1b9e90e786 Port from Failure to Snafu (#281)
* Failure -> Snafu for build command

* Port skeletal remains of init to snafu

* failure -> snafu for serve

* failure -> snafu for upload, remove impl_from macro

* failure -> custom error in vfs

* Bye bye, failure

* Fix Rust 1.36 build regression
2019-12-18 15:44:46 -08:00
Lucien Greathouse
1f7f2b22e7 Rewrite Project, remove SourceProject (#274)
* Rewrite project file to have relative paths and drop SourceProject

* Redo project error types

* Tidy up and document Project type

* Strip out init command
2019-12-12 14:45:15 -08:00
Lucien Greathouse
47c7f63d75 Switch everything to StructOpt (#277)
* Add types for Rojo's subcommands

* Flesh out CLI types

* Port everything to structopt instead of clap
2019-12-12 14:30:47 -08:00
Lucien Greathouse
8b1e85fbb4 Upgrade dependencies 2019-12-11 18:05:44 -08:00
Lucien Greathouse
d15ef40988 Upgrade dependencies correctly this time 2019-12-10 17:02:08 -08:00
Lucien Greathouse
eadfb18f74 Update rbx_xml and rbx_reflection 2019-12-10 13:39:55 -08:00
Lucien Greathouse
dfb015acc2 Add Rojo C API experiment 2019-11-07 18:20:55 -08:00
Lucien Greathouse
7cc4055d94 Upgrade to Insta master to get bugfix.
Map sorting in Insta was previously not recursive.
As of this PR, it is!
https://github.com/mitsuhiko/insta/pull/80

Since it hasn't made it into a release yet, but is
important for Rojo to have snapshot determinism,
we're moving temporarily to depend on Insta via Git.
2019-10-21 15:29:33 -07:00
Lucien Greathouse
3880708e1d Improve serve snapshot test ergonomics 2019-10-16 17:36:13 -07:00
Lucien Greathouse
cc68d57f11 Remove insta dependency for rojo-insta-ext 2019-10-16 17:03:21 -07:00
Lucien Greathouse
dec9ec32df Add small place benchmark 2019-10-12 15:24:57 -07:00
Lucien Greathouse
b093626a21 User plugin foundations for 0.6.0 (#257)
Starts work on #55.

This is similar to the previous work in #125. It's gated behind a new Cargo
feature, `user-plugins`. This time, the config gate is much smaller. The
`plugins` member of projects is still accessible when plugins aren't enabled,
but is always empty. Additionally, user plugins are only enabled if there's a
Lua state present in the snapshot context when the `SnapshotUserPlugins`
snapshot middleware runs. This not ever the case currently.

This code has very little possibility of rotting while we focus on other work,
since it'll be guaranteed to still compile and can be tested in isolation
without the feature being turned on.
2019-10-11 15:45:02 -07:00
Lucien Greathouse
18533d5944 Improve ServeSession test using async and Tokio 2019-10-08 13:26:21 -07:00
Lucien Greathouse
e60be94be0 Move patch apply test utility into tree_view module 2019-10-07 16:21:25 -07:00
Lucien Greathouse
8bcf12e317 Update dependencies 2019-10-04 13:18:42 -07:00
Lucien Greathouse
b512e707a5 First round of snapshot tests for patch_compute 2019-09-30 17:00:12 -07:00
Lucien Greathouse
3678ddfa36 Break redaction stuff out into separate crate 2019-09-30 16:27:31 -07:00
Lucien Greathouse
5630cea9a0 Improve command line and web interface 2019-09-23 17:54:04 -07:00
Lucien Greathouse
b31ad4b1f8 Update version to 0.6.0-dev 2019-09-19 13:58:53 -07:00
Lucien Greathouse
8ef797d1a4 Start writing real serve tests 2019-09-10 18:04:05 -07:00
Lucien Greathouse
ea765eb929 Add serve snapshot test for empty project 2019-09-03 17:56:23 -07:00
Lucien Greathouse
cf5f20bbb5 Upgrade depdendencies, removing need for opt-level in debug 2019-09-03 14:09:35 -07:00
Lucien Greathouse
f1729163cf Add foundations for 'rojo serve' tests 2019-09-03 13:48:27 -07:00
Lucien Greathouse
6747d97d60 Factor out test utilities in preparation for serve tests 2019-09-03 10:25:48 -07:00
Lucien Greathouse
4e512b7023 Revert to using Reqwest, reimplement upload command 2019-08-29 16:31:42 -07:00
Lucien Greathouse
8fe1fa48b8 Let Rojo pull auth cookie from registry on Windows 2019-08-28 13:21:30 -07:00
Lucien Greathouse
6164c5d78d Update dependencies 2019-08-27 16:30:35 -07:00
Lucien Greathouse
94dbcd5c06 Remove unused dependencies, reqwest and rlua (for now) 2019-08-27 16:30:10 -07:00
Lucien Greathouse
fea303ac8b Major Subsystem Rewrite (Reconciler Mk5) (#217) 2019-08-27 15:00:37 -07:00
Lucien Greathouse
91caa67e04 Release 0.5.0 stable (#234)
* This should be everything?

* Add contributing guide
2019-08-27 14:14:48 -07:00
Lucien Greathouse
7d45b45667 Change JSON model naming behavior.
- JSON model names now come from the file name
- The 'Name' field is now optional for the top-level instance
- Snapshot tests run way faster by executing Rojo directly instead of Cargo
2019-08-15 14:09:16 -07:00
Lucien Greathouse
d4a7de8070 Update dependencies 2019-08-08 16:57:01 -07:00
Lucien Greathouse
08df71a7e4 Change rojo-test to be macro-based 2019-08-07 17:50:05 -07:00
Lucien Greathouse
77db25b4d9 Add end-to-end build tests 2019-08-07 17:41:17 -07:00
Lucien Greathouse
62bb5a28aa v0.5.0-alpha.13 2019-08-02 15:05:58 -07:00
Lucien Greathouse
cbe4467a22 Upgrade dependencies and add SpawnLocation test case 2019-08-01 17:53:29 -07:00
Lucien Greathouse
93ae8187cd Update CHANGELOG 2019-08-01 16:11:21 -07:00