Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
jiayily committed Sep 5, 2019
0 parents commit e95bcca
Show file tree
Hide file tree
Showing 3,614 changed files with 1,073,917 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
8 changes: 8 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
BasedOnStyle: Google
---
Language: Cpp
Cpp11BracedListStyle: true
Standard: Cpp11
CommentPragmas: '^ NOLINT'
---
90 changes: 90 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Bazel
bazel-apollo
bazel-apollo_dev
bazel-bin
bazel-genfiles
bazel-out
bazel-testlogs
/Debug/
*.pyc
*genrule.log
WORKSPACE
# temporary files
*.swp
*.swo
# generated files
generated_data_warehouse.conf
modules/common/data/ssl_keys
modules/perception/cuda_util/cmake_build

# Eclipse IDE files
.project
.cproject
.settings
.classpath

# IntelliJ files
.idea

# Vscode files
.vscode

# atom.io files
*.gch

# Logs.
*.stdout
*.stderr
nohup.out
*.bak
*.csv.result

# Editor configs
.ycm_extra_conf.py

# ROS
ros_param_server.pid
.master_snapshot

# third_party
third_party/ros
third_party/ros_aarch64/
third_party/ros_x86_64/
modules/ros/third_party/fast-rtps

# Data
data/prediction
data/log
data/core
data/bag
data/cov
data/kv_db
data/pcd
data/nfs
data/map_visual
modules/data/conf/task_info_template.pb.txt
modules/tools/ota/update.ini
modules/tools/ota/vehicle_info.pb.txt

# Doxygen
docs/doxygen

# Esd can lib
third_party/can_card_library/esd_can/include
third_party/can_card_library/esd_can/lib

# Map data files
modules/map/data

# python proto
py_proto

# gnss conf files
modules/drivers/gnss/conf/conf_beijing
modules/drivers/gnss/conf/conf_us

# calibration files
modules/calibration/data/mkz056

# Data bag
docs/demo_guide/*.bag
25 changes: 25 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
language: cpp
sudo: required
services:
- docker
dist: trusty
os: linux
env:
- JOB=cibuild
- JOB=lint
- JOB=citest
cache:
directories:
- $HOME/.cache/bazel
install: skip
before_script:
- if [ ! -d "${HOME}/.cache" ]; then mkdir ${HOME}/.cache; fi
- cp scripts/AGREEMENT.txt ${HOME}/.cache/.apollo_agreement.txt
script:
- ./docker/scripts/dev_start.sh
- ./apollo_docker.sh ${JOB}
- rm -rf "${HOME}/.cache/bazel/_bazel_${USER}/install"
notifications:
email:
on_success: change
on_failure: always
32 changes: 32 additions & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
| Github account | name |
|---|---|
| apollo-jingaowang | Jingao Wang |
| jmtao | Jiaming Tao |
| bjtulynn | Liming Xia |
| Capri2014 | Qi Luo |
| chinasunlei07 | Lei Sun |
| fengqikai1414 | Kaiwen Feng |
| GoLancer | Wei He |
| henryhu6 | Sen Hu |
| hillbrook | Lei Zhang |
| jinghaomiao | Jinghao Miao |
| joaospinto | Joao Sousa-Pinto |
| journey-wang | Peng Wang |
| kechxu | Kecheng Xu |
| lianglia-apollo | Liangliang Zhang |
| qiankunzhu | Zhenguang Zhu |
| quning78 | Ning Qu |
| siyangy | Siyang Yu |
| startcode | Dong Li |
| wanglei828 | Lei Wang |
| weidezhang | Weide Zhang |
| xczhanjun | Jun Zhan |
| xiaoxq | Xiangquan Xiao |
| YajiaZhang | Yajia Zhang |
| ycool | Jiangtao Hu |
| ygcn | Guang Yang |
| yifeijiang | Yifei Jiang |
| breakds | Break Yang |
| zhoudawen | David Zhou |
| aiguo159 | Aiguo Fei |
| unacao | Yu Cao |
21 changes: 21 additions & 0 deletions BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package(
default_visibility = ["//visibility:public"],
)

config_setting(
name = "arm64",
values = {
"define": "ARCH=arm64",
},
)

config_setting(
name = "x86_64",
values = {
"define": "ARCH=x86_64",
},
)

exports_files([
"CPPLINT.cfg",
])
68 changes: 68 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
## How to Contribute to Apollo

### Contributor License Agreements

You are welcome to contribute to project Apollo. To contribute to apollo, you have to agree with the [Apollo individual contributor license agreement](
https://gist.githubusercontent.com/startcode/f5ccf8887bfc7727a0ae05bf0d601e30/raw/029a11300e987e34a29a9d247ac30caa7f6741a7/Apollo_Individual_Contributor_License_Agreement).

### How to start contribute

You can follow the standard [github approach](https://help.github.com/articles/using-pull-requests/) to contribute code.
There are [issues with label "help wanted"](https://github.com/ApolloAuto/apollo/labels/help%20wanted) that are best to get started.
If you decided to work on an issue, you can leave a message in that issue to let other people know that you are working on it.


Before sending your pull request for
[review](https://github.com/ApolloAuto/apollo/pulls),
make sure your changes follow the coding style, license and testing guidelines.

#### License

For each new file, please include a license at the top of the file.

* C++ code License example [adapter.h](https://github.com/ApolloAuto/apollo/blob/master/modules/common/adapters/adapter.h);

* Python code License example [diagnostics.py](https://github.com/ApolloAuto/apollo/blob/master/modules/tools/diagnostics/diagnostics.py);

* Bash code License example [apollo_base.sh](https://github.com/ApolloAuto/apollo/blob/master/scripts/apollo_base.sh);

#### Testing

Please include unit tests for the contributed code to prove that your code works correctly,
and make sure that your code does not break existing tests. Test files are always ended with `test.cc`, and the test target names in BUILD file are always ended with `test`.
Here is an example test file [adapter_test.cc](https://github.com/ApolloAuto/apollo/blob/master/modules/common/adapters/adapter_test.cc).

You can use command `bash apollo.sh test` to run all unit tests.

#### Coding style

* C/C++ coding style: Apollo adopted the [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html). Make sure your code conforms to this style guide. You can use command `bash apollo.sh lint` to check if your code has any style problem.

* Python coding style: Apollo adopted the [Google Python Style Guide](https://google.github.io/styleguide/pyguide.html). You can use the [yapf](https://github.com/google/yapf) command `yapf -i --style='{based_on_style: google}' foo.py` to format a file foo.py.

* BUILD coding style : you can use command `bash apollo.sh buildify` to format your BUILD files before submit.

#### Documentation

If your code is not straightforward for other contributors to understand, it is recommended to implement the code in a clear and efficient way, and provide sufficient documentation.
Apollo uses doxygen to help generate formatted API Document with command `bash apollo.sh doc`.
Document your code following this guide [How to document code](docs/howto/how_to_document_code.md).

#### Commit Message
The first line of commit message should be a one-line summary of the change.
A paragraph can be added following the summary to clearly explain the details of the change.
If your code fixed a issue, add the issue number.
The following is a commit message example:


> Replace algorithm A with algorithm B in apollo/modules/control.
>
> Algorithm B is faster than A because it uses binary search. The runtime is reduced from O(N) to O(log(N)).
>
> Fixes #1234
#### Before Creating Pull Request
After you finish your code and ready to create a Pull Request, please make sure your
change doesn't break build/test/lint by running `bash apollo.sh check`, which is
equivalent to a combination of `bash apollo.sh build`, `bash apollo.sh test` and
`bash apollo.sh lint`.
10 changes: 10 additions & 0 deletions CPPLINT.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Stop searching for additional config files.
set noparent

# Disable a warning about C++ features that were not in the original
# C++11 specification (and so might not be well-supported).
filter=-build/c++11

# Disable header_guard warning
# Consider using #pragma once instead
filter=-build/header_guard
63 changes: 63 additions & 0 deletions FAQ.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# FAQ
## I am new to the Apollo project, where do I start?
You have several options:

- To build apollo on your computer, start by reviewing the [README.md](https://github.com/ApolloAuto/apollo/blob/master/README.md)

- To run the Apollo demo offline, go to: [Apollo README.md](https://github.com/ApolloAuto/apollo/blob/master/docs/demo_guide/README.md).

- To install and build Apollo on a vehicle, go to: [Apollo 2.0 quick start](https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_2_0_quick_start.md).

- To build the Apollo Kernel, the Robot Operating System (ROS), and Apollo, go to: [apollo/docs/quickstart/apollo_1_0_quick_start_developer.md](https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_1_0_quick_start_developer.md) and refer to [build kernel](https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_1_0_quick_start_developer.md#build-the-apollo-kernel).

## How to debug build problems?
1. Carefully review the instructions in the documentation for the option that you selected to get started with the Apollo project.

2. Make sure that you follow the steps in the document exactly as they are written.

3. Use Ubuntu 14.04 as the build can only be implemented using Linux.

4. Verify that the Internet setting is correct on your computer.

5. Allocate more than 1GB of memory, at the recommended minimum, for your computer.

6. If roscore cannot start in apollo docker, you may need to tune the master start timeout value in ROS. You may want to check a related user-reported [issue](https://github.com/ApolloAuto/apollo/issues/2500) for more details.

## If I cannot solve my build problems, what is the most effective way to ask for help?
Many build problems are related to the environment settings.

1. Run the script to get your environment: `bash scripts/env.sh >& env.txt`

2. Provide the content of env.txt in your post.

## Which ports must be whitelisted to run Apollo in a public cloud instance?
Use these ports for HMI and Dreamview:
- 8888: Dreamview

## Why there is no ROS environment in dev docker?
The ROS package is downloaded when you start to build apollo:
`bash apollo.sh build`.

1. Run the following command inside Docker to set up the ROS environment after the build is complete:
`source /apollo/scripts/apollo_base.sh`

2. Run ROS-related commands such as rosbag, rostopic and so on.

## How do I clean the existing build output?
Follow these steps:

1. Log into Docker using the command:
`bash docker/scripts/dev_into.sh`

2. Run the command:
`bash apollo.sh clean`

## How do I delete the downloaded third party dependent packages?
Follow these steps:

1. Log into Docker using the command:
`bash docker/scripts/dev_into.sh`

2. Run the command:
`bazel clean --expunge`
The build command, `bash apollo.sh build`, then downloads all of the dependent packages according to the *WORKSPACE* file.
Loading

0 comments on commit e95bcca

Please sign in to comment.