Commit Graph

860 Commits

Author SHA1 Message Date
Lucien Greathouse
ccf98d7283 Move and tidy up small place benchmark 2019-10-14 11:38:16 -07:00
Lucien Greathouse
1b35c98be5 Add build tests for init.meta.json 2019-10-12 23:54:39 -07:00
Lucien Greathouse
db23c3d35a Mark init.meta.json as relevant path for directories 2019-10-12 23:46:49 -07:00
Lucien Greathouse
1c6c1298d5 Add init.meta.json support, untested 2019-10-12 23:45:38 -07:00
Lucien Greathouse
b9ebed14a5 Add documentation for AdjacentMetadata 2019-10-12 23:31:33 -07:00
Lucien Greathouse
7077f0f1f3 Load user plugins on startup instead of lazily at snapshot time 2019-10-12 23:27:12 -07:00
Lucien Greathouse
d1887c6cd3 Merge branch 'vfs-arc' 2019-10-12 15:29:54 -07:00
Lucien Greathouse
9278c81611 Merge branch 'master' into vfs-arc 2019-10-12 15:28:33 -07:00
Lucien Greathouse
dec9ec32df Add small place benchmark 2019-10-12 15:24:57 -07:00
Lucien Greathouse
1967f738a8 Make all file contents be Arc<Vec<u8>> instead of &[u8] 2019-10-12 14:17:52 -07:00
Lucien Greathouse
1031600c63 Batch rename: imfs -> vfs 2019-10-12 13:58:00 -07:00
Lucien Greathouse
24c697bea7 Port commands to use common setup code
Initialization logic needed for serve, build, and upload is now
much more clear than it was when these functions were written.

This commit refactors all of them to use a new common_setup
module for all of their initialization that's the same.
2019-10-11 18:35:10 -07:00
Lucien Greathouse
83665018d4 Compute snapshot context from project in build 2019-10-11 18:25:12 -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
f3dc78b7cd Make InstanceSnapshotContext mutable through whole middleware pipeline 2019-10-10 14:07:10 -07:00
Lucien Greathouse
f0cd4333c3 Thread InstanceSnapshotContext through all SnapshotMiddleware 2019-10-10 11:44:33 -07:00
Lucien Greathouse
6d38a785ed Make SnapshotMiddleware::from_instance have a default impl 2019-10-10 10:44:46 -07:00
Lucien Greathouse
e46f9fd94f Simplify snapshot code using match_file_name utility 2019-10-09 18:27:52 -07:00
Lucien Greathouse
6b620ddcef Add utility for working with file names, port JSON model to use it 2019-10-09 18:22:58 -07:00
Lucien Greathouse
e5684ad947 Add error for malformed project files 2019-10-09 18:15:07 -07:00
Lucien Greathouse
dfabc07044 More consistent handling of non-Unicode file names (should be rare) 2019-10-09 17:15:34 -07:00
Lucien Greathouse
dca88e8272 Port Project snapshot to use with_not_found 2019-10-09 15:30:03 -07:00
Lucien Greathouse
9f947ae2c5 Improve bad Unicode error handling in txt, CSV, and directory handling 2019-10-09 12:55:24 -07:00
Lucien Greathouse
28156bcaf2 Switch SnapshotMiddleware over to SnapshotError 2019-10-09 12:42:08 -07:00
Lucien Greathouse
a14aacbcf9 Improve SnapshotError in preparation for moving middleware to it 2019-10-09 12:39:36 -07:00
boyned//Kampfkarren
321e026e43 Fix failing snapshot (#256) 2019-10-09 12:29:33 -07:00
Lucien Greathouse
30351f7b9d Add support for .meta.json files associated with .txt files 2019-10-08 17:44:23 -07:00
Lucien Greathouse
2393a1a114 Add support for .meta.json files affecting .csv LocalizationTables 2019-10-08 16:48:49 -07:00
Lucien Greathouse
479476561e Fix errors in 'Sync Details' page 2019-10-08 16:16:06 -07:00
Lucien Greathouse
a02f485040 Add end-to-end build test for Script.Disabled via .meta.json 2019-10-08 16:05:15 -07:00
Lucien Greathouse
2957e8ad73 Make Lua snapshot middleware test sort maps 2019-10-08 16:03:15 -07:00
Lucien Greathouse
f83abe15cb Add test for ensuring that scripts can be disabled with .meta.json files 2019-10-08 15:46:51 -07:00
Lucien Greathouse
709cba45ce Remove className from adjacent meta files, which is not supported in 0.5.x 2019-10-08 15:44:47 -07:00
Lucien Greathouse
8a9a72fd50 Refactor .meta.json into AdjacentMetadata type more strongly 2019-10-08 15:42:44 -07:00
Lucien Greathouse
13cb0a27a0 Make .meta.json changes cause scripts to be updated 2019-10-08 15:30:16 -07:00
Lucien Greathouse
fa817e3cdd Add baseline support for adjacent meta files for scripts 2019-10-08 14:14:44 -07:00
Lucien Greathouse
3bd8549f41 Add ServeSession test for project with folder 2019-10-08 13:57:40 -07:00
Lucien Greathouse
4e47655b17 Refactor MessageQueue API to return a oneshot receiver 2019-10-08 13:49:41 -07:00
Lucien Greathouse
18533d5944 Improve ServeSession test using async and Tokio 2019-10-08 13:26:21 -07:00
Lucien Greathouse
c5839c94ca Add test-only MessageQueue::subscribe_any.
This makes writing tests that do async things easier.
2019-10-08 13:25:34 -07:00
Lucien Greathouse
ffc146ff9b Add ServeSession test for changing text file 2019-10-07 18:23:39 -07:00
Lucien Greathouse
7b82e3d641 Add TestFetcher for mocking more filesystem operations than NoopFetcher 2019-10-07 18:22:29 -07:00
Lucien Greathouse
ab6cedb659 Move some serve code into serve_session.rs, start writing serve session tests 2019-10-07 16:24:36 -07:00
Lucien Greathouse
e60be94be0 Move patch apply test utility into tree_view module 2019-10-07 16:21:25 -07:00
Lucien Greathouse
f830b024d5 Add ImfsSnapshot::empty_dir() for debugging the Imfs 2019-10-07 16:20:04 -07:00
Lucien Greathouse
98519da7d9 Reintroduce instigating paths for snapshot middleware 2019-10-04 18:36:04 -07:00
Lucien Greathouse
cb3211cf46 Mark project node as instigating source for instances from project 2019-10-04 18:10:45 -07:00
Lucien Greathouse
c051153a1f Mark project file as instigating source for top-level instances 2019-10-04 18:05:27 -07:00
Lucien Greathouse
956d7e0918 Fix warning in JSON model snapshot test 2019-10-04 17:52:05 -07:00
Lucien Greathouse
530a7aa834 Rename 'contributing paths' to 'relevant paths' 2019-10-04 17:36:26 -07:00