diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000000000..88623d36ddbcb --- /dev/null +++ b/.clang-format @@ -0,0 +1,44 @@ +--- +# Modified from https://github.com/ament/ament_lint/blob/master/ament_clang_format/ament_clang_format/configuration/.clang-format +Language: Cpp +BasedOnStyle: Google + +AccessModifierOffset: -2 +AlignAfterOpenBracket: AlwaysBreak +BraceWrapping: + AfterClass: true + AfterFunction: true + AfterNamespace: true + AfterStruct: true +BreakBeforeBraces: Custom +ColumnLimit: 100 +ConstructorInitializerIndentWidth: 0 +ContinuationIndentWidth: 2 +DerivePointerAlignment: false +PointerAlignment: Middle +ReflowComments: true +IncludeCategories: + # C++ system headers + - Regex: "<[a-z_]*>" + Priority: 6 + CaseSensitive: true + # C system headers + - Regex: '<.*\.h>' + Priority: 5 + CaseSensitive: true + # Boost headers + - Regex: "boost/.*" + Priority: 4 + CaseSensitive: true + # Message headers + - Regex: ".*_msgs/.*" + Priority: 3 + CaseSensitive: true + # Other Package headers + - Regex: "<.*>" + Priority: 2 + CaseSensitive: true + # Local package headers + - Regex: '".*"' + Priority: 1 + CaseSensitive: true diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000000..b940a74a4c60b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + open-pull-requests-limit: 1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000..70254bd0936f2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +# Vim +*.swp +*.swo + +# Visual Studio Code +.vscode/ +*.code-workspace + +# colcon +build/ +install/ +log/ + +# Python +*.pyc + diff --git a/.markdown-link-check.json b/.markdown-link-check.json new file mode 100644 index 0000000000000..230751bcfe76f --- /dev/null +++ b/.markdown-link-check.json @@ -0,0 +1,6 @@ +{ + "aliveStatusCodes": [200, 206, 403], + "ignorePatterns": [], + "retryOn429": true, + "retryCount": 10 +} diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 0000000000000..605ac41ce9fb6 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,6 @@ +default: true +MD013: false +MD024: + siblings_only: true +MD033: false +MD041: false diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000000..1ca7eb51ffc66 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,81 @@ +ci: + autofix_commit_msg: "ci(pre-commit): autofix" + autoupdate_commit_msg: "ci(pre-commit): autoupdate" + +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.0.1 + hooks: + - id: check-json + - id: check-merge-conflict + - id: check-toml + - id: check-xml + - id: check-yaml + - id: detect-private-key + - id: end-of-file-fixer + - id: mixed-line-ending + - id: trailing-whitespace + args: [--markdown-linebreak-ext=md] + + - repo: https://github.com/igorshubovych/markdownlint-cli + rev: v0.30.0 + hooks: + - id: markdownlint + args: ["-c", ".markdownlint.yaml", "--fix"] + + - repo: https://github.com/pre-commit/mirrors-prettier + rev: v2.5.0 + hooks: + - id: prettier + + - repo: https://github.com/tier4/pre-commit-hooks-ros + rev: v0.4.0 + hooks: + - id: prettier-package-xml + - id: sort-package-xml + + - repo: https://github.com/gruntwork-io/pre-commit + rev: v0.1.17 + hooks: + - id: shellcheck + + - repo: https://github.com/pycqa/isort + rev: 5.10.1 + hooks: + - id: isort + + - repo: https://github.com/psf/black + rev: 21.11b1 + hooks: + - id: black + args: ["--line-length=100"] + + - repo: https://github.com/PyCQA/flake8 + rev: 4.0.1 + hooks: + - id: flake8 + additional_dependencies: + [ + "flake8-blind-except", + "flake8-builtins", + "flake8-class-newline", + "flake8-comprehensions", + "flake8-deprecated", + "flake8-docstrings", + "flake8-import-order", + "flake8-quotes", + ] + + - repo: https://github.com/pre-commit/mirrors-clang-format + rev: v12.0.1 + hooks: + - id: clang-format + + - repo: https://github.com/cpplint/cpplint + rev: 1.5.5 + hooks: + - id: cpplint + args: ["--quiet"] + exclude: ".cu" + +exclude: ".svg" diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000000..f740580782527 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +*.param.yaml diff --git a/.prettierrc.yaml b/.prettierrc.yaml new file mode 100644 index 0000000000000..48b0552e3fe47 --- /dev/null +++ b/.prettierrc.yaml @@ -0,0 +1,2 @@ +printWidth: 100 +tabWidth: 2 diff --git a/build_depends.repos b/build_depends.repos new file mode 100644 index 0000000000000..56f46b6f79b6e --- /dev/null +++ b/build_depends.repos @@ -0,0 +1 @@ +repositories: diff --git a/docs/assets/images/autoware-foundation.png b/docs/assets/images/autoware-foundation.png new file mode 100644 index 0000000000000..8d5ce44879fb7 Binary files /dev/null and b/docs/assets/images/autoware-foundation.png differ diff --git a/mkdocs.yaml b/mkdocs.yaml new file mode 100644 index 0000000000000..912888ad38d1f --- /dev/null +++ b/mkdocs.yaml @@ -0,0 +1,62 @@ +site_name: Autoware Universe Documentation +site_url: https://autowarefoundation.github.io/autoware.universe +repo_url: https://github.com/autowarefoundation/autoware.universe +edit_uri: edit/main/ +docs_dir: . +copyright: "Copyright © 2021 The Autoware Foundation" + +theme: + name: material + features: + - navigation.expand + - navigation.instant + - navigation.sections + - navigation.tabs + - navigation.tabs.sticky + - navigation.top + favicon: assets/images/autoware-foundation.png + icon: + logo: fontawesome/solid/car + repo: fontawesome/brands/github + language: en + palette: + - primary: white + - scheme: default + toggle: + icon: material/weather-sunny + name: Switch to dark mode + - scheme: slate + toggle: + icon: material/weather-night + name: Switch to light mode + +extra: + font: + text: Roboto + code: Roboto Mono + +extra_css: + - https://use.fontawesome.com/releases/v5.15.4/css/all.css + +extra_javascript: + - https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML + +plugins: + - awesome-pages + - same-dir + - search + +markdown_extensions: + - admonition + - attr_list + - codehilite: { guess_lang: false } + - fontawesome_markdown + - footnotes + - mdx_math + - mdx_truly_sane_lists: { nested_indent: 2 } + - mdx_unimoji + - plantuml_markdown: { server: "http://www.plantuml.com/plantuml", format: svg } + - pymdownx.arithmatex + - pymdownx.highlight + - pymdownx.superfences + - toc: { permalink: "#" } diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000000000..fd61ed536ebc4 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,15 @@ +[flake8] +# Modified from https://github.com/ament/ament_lint/blob/ebd524bb9973d5ec1dc48a670ce54f958a5a0243/ament_flake8/ament_flake8/configuration/ament_flake8.ini +extend-ignore = B902,C816,D100,D101,D102,D103,D104,D105,D106,D107,D203,D212,D404,I202,CNL100,E203,E501,Q000 +import-order-style = google +max-line-length = 100 +show-source = true +statistics = true + +[isort] +profile=black +line_length=100 +force_sort_within_sections=true +force_single_line=true +reverse_relative=true +known_third_party=launch