From 4d20c395573b60bca21b7e332f0504d6e05e6b37 Mon Sep 17 00:00:00 2001 From: nsubiron Date: Mon, 4 Dec 2017 16:18:14 +0100 Subject: [PATCH] Add contributing guide --- Docs/CONTRIBUTING.md | 63 ++++++++++++++++++++++++++++++++++++++++++++ Docs/carla_design.md | 43 ++++++++++++++++++++++++++++++ Docs/index.md | 6 ++++- mkdocs.yml | 3 +++ 4 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 Docs/CONTRIBUTING.md create mode 100644 Docs/carla_design.md diff --git a/Docs/CONTRIBUTING.md b/Docs/CONTRIBUTING.md new file mode 100644 index 000000000..85055e9f6 --- /dev/null +++ b/Docs/CONTRIBUTING.md @@ -0,0 +1,63 @@ +Contributing to CARLA +===================== + +> _This document is a work in progress and might be incomplete._ + +We are more than happy to accept contributions! + +How can I contribute? + + * Reporting bugs + * Feature requests + * Code contributions + +Reporting bugs +-------------- + +Use our [issue section](issueslink) on GitHub. Please check before that the +issue was not already added. + +[issueslink]: https://github.com/carla-simulator/carla/issues + +Feature requests +---------------- + +Please check first the list of [feature requests][frlink]. If it is not there +and you think is a feature that might be interesting for users, please submit +your request as a new issue. + +[frlink]: https://github.com/carla-simulator/carla/issues?q=is%3Aissue+is%3Aopen+label%3A%22feature+request%22 + +Code contributions +------------------ + +Before starting hands-on on coding, please check out the +[projects page][projectslink] to see if we are already working on that. In case +of doubt or to discuss how to proceed, please contact one of us (or send an +email to carla.simulator@gmail.com). + +[projectslink]: https://github.com/carla-simulator/carla/projects/1 + +#### What should I know before I get started? + +Check out the ["CARLA Design"](carla_design.md) document to get an idea on the +different modules that compose CARLA, and chose the most appropriate one to hold +the new feature. + +#### Coding style + +Please follow the current coding style when submitting new code. + + * Use spaces, not tabs. + * Comments should not exceed 80 columns, code may exceed this limit a bit in rare +occasions if it results in clearer code. + * Python code follows [PEP8 style guide](https://www.python.org/dev/peps/pep-0008/) (use `autopep8` whenever possible). + * Unreal C++ code, CarlaUE4 and Carla plugin, follow the [Unreal Engine's Coding Standard](https://docs.unrealengine.com/latest/INT/Programming/Development/CodingStandard/) with the exception of using spaces instead of tabs. + * CarlaServer uses [Google's style guide](https://google.github.io/styleguide/cppguide.html). + +#### Pull request + +Once you think your contribution is ready to be added to CARLA, please submit a +pull request and one of our team members will take a look at it. + +Try to be as descriptive as possible when filling the pull-request description. diff --git a/Docs/carla_design.md b/Docs/carla_design.md new file mode 100644 index 000000000..b61701d36 --- /dev/null +++ b/Docs/carla_design.md @@ -0,0 +1,43 @@ +CARLA Design +============ + +> _This document is a work in progress and might be incomplete._ + +CARLA is composed by the following modules + + * Client side + - Python client API: "PythonClient/carla" + * Server side + - CarlaUE4 Unreal Engine project: "Unreal/CarlaUE4" + - Carla plugin for Unreal Engine: "Unreal/CarlaUE4/Plugins/Carla" + - CarlaServer: "Util/CarlaServer" + +Python client API +----------------- + +The client API provides a Python module for communicating with the CARLA server. +In the folder "PythonClient", we provide several examples for scripting a CARLA +client using the "carla" module. + +CarlaUE4 Unreal Engine project +------------------------------ + +The Unreal project "CarlaUE4" contains all the assets and scenes for generating +the CARLA binary. It uses the tools provided by the Carla plugin to assemble the +cities and behavior of the agents in the scene. + +Carla plugin for Unreal Engine +------------------------------ + +The Carla plugin contains all the functionality of CARLA. We tried to keep this +functionality separated from the assets, so the functionality in this plugin can +be used as much as possible in any Unreal project. + +It uses "CarlaServer" library for the networking communication. + +CarlaServer +----------- + +External library for the networking communications. + +See ["CarlaServer"](carla_server.md) for implementation details. diff --git a/Docs/index.md b/Docs/index.md index be432e773..349352ed3 100644 --- a/Docs/index.md +++ b/Docs/index.md @@ -7,7 +7,6 @@ CARLA Documentation * [CARLA settings](carla_settings.md) * [Measurements](measurements.md) * [Cameras and sensors](cameras_and_sensors.md) - * [F.A.Q.](faq.md) * [Troubleshooting](troubleshooting.md) @@ -17,8 +16,13 @@ CARLA Documentation * [How to build on Windows](how_to_build_on_windows.md) * [How to add Automotive Materials](how_to_add_automotive_materials.md) +#### Contributing + + * [Contributing guide](CONTRIBUTING.md) + #### Development * [Map customization](map_customization.md) * [How to add assets](how_to_add_assets.md) + * [CARLA design](carla_design.md) * [CarlaServer documentation](carla_server.md) diff --git a/mkdocs.yml b/mkdocs.yml index 8063f8ba0..1be9a20f7 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -15,9 +15,12 @@ pages: - 'How to build on Linux': 'how_to_build_on_linux.md' - 'How to build on Windows': 'how_to_build_on_windows.md' - 'How to add Automotive Materials': 'how_to_add_automotive_materials.md' +- Contributing: + - 'Contributing guide': 'CONTRIBUTING.md' - Development: - 'Map customization': 'map_customization.md' - 'How to add assets': 'how_to_add_assets.md' + - 'CARLA design': 'carla_design.md' - 'CarlaServer documentation': 'carla_server.md' markdown_extensions: