Auto merge of #12254 - servo:org, r=jdm

Cleanup and update ORGANIZATION.md.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12254)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-07-07 23:55:51 -07:00 committed by GitHub
commit 4ec4592e96

View file

@ -1,96 +1,100 @@
# Servo's directory structure: # Servo's directory structure:
* components * components
* canvas * canvas
* Implementation of painting threads for 2d and WebGL canvases. * Implementation of painting threads for 2d and WebGL canvases.
* canvas_traits * canvas_traits
* APIs to the canvas crate for crates that don't want to depend on the canvas crate for build speed reasons. * APIs to the canvas crate for crates that don't want to depend on the canvas crate for build speed reasons.
* compositing * compositing
* Integration with OS windowing/rendering and event loop, as well as management of resources for a top-level browsing context (ie. tab). * Integration with OS windowing/rendering and event loop.
* devtools * constellation
* in-process server to allow manipulating browser instances via a remote Firefox developer tools client. * Management of resources for a top-level browsing context (ie. tab).
* devtools_traits * devtools
* APIs to the devtools crate for crates that don't want to depend on the devtools crate for build speed reasons. * in-process server to allow manipulating browser instances via a remote Firefox developer tools client.
* etc * devtools_traits
* Useful tools and scripts for developers. * APIs to the devtools crate for crates that don't want to depend on the devtools crate for build speed reasons.
* gfx * gfx
* Draws the result of laying out a page, and sends the result to the compositor. * Draws the result of laying out a page, and sends the result to the compositor.
* gfx_traits * gfx_traits
* APIs to the gfx crate for crates that don't want to depend on the gfx crate for build speed reasons. * APIs to the gfx crate for crates that don't want to depend on the gfx crate for build speed reasons.
* layout * layout
* Converts page content into positioned, styled boxes and passes the result to the renderer. * Converts page content into positioned, styled boxes and passes the result to the renderer.
* layout_traits * layout_thread
* APIs to the layout crate for crates that don't want to depend on the layout crate for build speed reasons. * Runs the threads for layout, communicates with the script thread, and calls into the layout crate to do the layout.
* msg * layout_traits
* Shared APIs for communicating between specific threads and crates. * APIs to the layout crate for crates that don't want to depend on the layout crate for build speed reasons.
* net * msg
* Network protocol implementations, and state and resource management (caching, cookies, etc.). * Shared APIs for communicating between specific threads and crates.
* net_traits * net
* APIs to the net crate for crates that don't want to depend on the net crate for build speed reasons. * Network protocol implementations, and state and resource management (caching, cookies, etc.).
* plugins * net_traits
* Syntax extensions, custom attributes, and lints. * APIs to the net crate for crates that don't want to depend on the net crate for build speed reasons.
* profile * plugins
* Memory and time profilers. * Syntax extensions, custom attributes, and lints.
* profile_traits * profile
* APIs to the profile crate for crates that don't want to depend on the profile crate for build speed reasons. * Memory and time profilers.
* script * profile_traits
* Implementation of the DOM (native Rust code and bindings to SpiderMonkey). * APIs to the profile crate for crates that don't want to depend on the profile crate for build speed reasons.
* script_traits * script
* APIs to the script crate for crates that don't want to depend on the script crate for build speed reasons. * Implementation of the DOM (native Rust code and bindings to SpiderMonkey).
* servo * script_layout_interface
* Entry points for the servo application and libservo embedding library. * The API the script crate provides for the layout crate.
* style * script_traits
* APIs for parsing CSS and interacting with stylesheets and styled elements. * APIs to the script crate for crates that don't want to depend on the script crate for build speed reasons.
* style_traits * servo
* APIs to the style crate for crates that don't want to depend on the style crate for build speed reasons. * Entry points for the servo application and libservo embedding library.
* util * style
* assorted utility methods and types that are commonly used throughout the project. * APIs for parsing CSS and interacting with stylesheets and styled elements.
* webdriver_server * style_traits
* In-process server to allow manipulating browser instances via a WebDriver client. * APIs to the style crate for crates that don't want to depend on the style crate for build speed reasons.
* webdriver_traits * util
* APIs to the webdriver crate for crates that don't want to depend on the webdriver crate for build speed reasons. * assorted utility methods and types that are commonly used throughout the project.
* webdriver_server
* In-process server to allow manipulating browser instances via a WebDriver client.
* etc
* Useful tools and scripts for developers.
* mach * mach
* A command-line tool to help with developer tasks. * A command-line tool to help with developer tasks.
* ports * ports
* cef * cef
* Embedding implementation for the Chrome Embedding Framework (CEF) API. * Embedding implementation for the Chrome Embedding Framework (CEF) API.
* glutin * geckolib
* Embedding implementation for the `glutin` windowing library. * A static library to be linked into Gecko for the Stylo project.
* glutin
* Embedding implementation for the `glutin` windowing library.
* python * python
* servo * servo
* Implementations of servo-specific mach commands. * Implementations of servo-specific mach commands.
* mach * tidy
* Implementation of `mach` command-line tool. * Python package of code lints that are automatically run before merging changes.
* tidy
* Python package of code lints that are automatically run before merging changes.
* resources * resources
* Files used at run time. Need to be included somehow when distributing binary builds. * Files used at run time. Need to be included somehow when distributing binary builds.
* support * support
* android * android
* Libraries that require special handling for building for Android platforms * Libraries that require special handling for building for Android platforms
* rust-task_info * rust-task_info
* Library for obtaining information about memory usage for a process * Library for obtaining information about memory usage for a process
* target * target
* debug * debug
* Build artifacts generated by `./mach build --debug`. * Build artifacts generated by `./mach build --debug`.
* doc * doc
* Documentation is generated here by the `rustdoc` tool when running `./mach doc` * Documentation is generated here by the `rustdoc` tool when running `./mach doc`
* release * release
* Build artifacts generated by `./mach build --release`. * Build artifacts generated by `./mach build --release`.
* tests * tests
* dromaeo * dromaeo
* Harness for automatically running the Dromaeo testsuite. * Harness for automatically running the Dromaeo testsuite.
* heartbeats * heartbeats
* Tools for periodic measurement of energy consumption. * Tools for periodic measurement of energy consumption.
* html * html
* Manual tests and experiments. * Manual tests and experiments.
* jquery * jquery
* Harness for automatically running the jQuery testsuite. * Harness for automatically running the jQuery testsuite.
* power * power
* Tools for measurement of power consumption. * Tools for measurement of power consumption.
* unit * unit
* Unit tests using rustcs built-in test harness. * Unit tests using rustcs built-in test harness.
* wpt * wpt
* W3C web-platform-tests and csswg-tests along with tools to run them and expected failures. * W3C web-platform-tests and csswg-tests along with tools to run them and expected failures.
# Major dependencies # Major dependencies
* <https://github.com/servo/rust-mozjs/>, <https://github.com/servo/mozjs/>: bindings to SpiderMonkey * <https://github.com/servo/rust-mozjs/>, <https://github.com/servo/mozjs/>: bindings to SpiderMonkey
@ -104,3 +108,4 @@
* <https://github.com/servo/rust-selectors/>: a CSS selector matching library * <https://github.com/servo/rust-selectors/>: a CSS selector matching library
* <https://github.com/cyderize/rust-websocket/>: a WebSocket protocol implementation * <https://github.com/cyderize/rust-websocket/>: a WebSocket protocol implementation
* <https://github.com/servo/rust-url/>: an implementation of the URL specification * <https://github.com/servo/rust-url/>: an implementation of the URL specification
* <https://github.com/servo/webrender/> and <https://github.com/servo/webrender_traits/>: a GPU renderer