forked from esphome/esphome
-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
🏗 Merge C++ into python codebase (esphome#504)
## Description: Move esphome-core codebase into esphome (and a bunch of other refactors). See esphome/feature-requests#97 Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍 Progress: - Core support (file copy etc): 80% - Base Abstractions (light, switch): ~50% - Integrations: ~10% - Working? Yes, (but only with ported components). Other refactors: - Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`) - Rework coroutine syntax - Move from `component/platform.py` to `domain/component.py` structure as with HA - Move all defaults out of C++ and into config validation. - Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration. - Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit. Future work: - Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block - Enable loading from `custom_components` folder. **Related issue (if applicable):** esphome/feature-requests#97 **Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here> ## Checklist: - [ ] The code change is tested and works locally. - [ ] Tests have been added to verify that the new code works (under `tests/` folder). If user exposed functionality or configuration variables are added/changed: - [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs).
- Loading branch information
1 parent
049807e
commit 6682c43
Showing
817 changed files
with
54,105 additions
and
10,779 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
Language: Cpp | ||
AccessModifierOffset: -1 | ||
AlignAfterOpenBracket: Align | ||
AlignConsecutiveAssignments: false | ||
AlignConsecutiveDeclarations: false | ||
AlignEscapedNewlines: DontAlign | ||
AlignOperands: true | ||
AlignTrailingComments: true | ||
AllowAllParametersOfDeclarationOnNextLine: true | ||
AllowShortBlocksOnASingleLine: false | ||
AllowShortCaseLabelsOnASingleLine: false | ||
AllowShortFunctionsOnASingleLine: All | ||
AllowShortIfStatementsOnASingleLine: false | ||
AllowShortLoopsOnASingleLine: false | ||
AlwaysBreakAfterReturnType: None | ||
AlwaysBreakBeforeMultilineStrings: false | ||
AlwaysBreakTemplateDeclarations: MultiLine | ||
BinPackArguments: true | ||
BinPackParameters: true | ||
BraceWrapping: | ||
AfterClass: false | ||
AfterControlStatement: false | ||
AfterEnum: false | ||
AfterFunction: false | ||
AfterNamespace: false | ||
AfterObjCDeclaration: false | ||
AfterStruct: false | ||
AfterUnion: false | ||
AfterExternBlock: false | ||
BeforeCatch: false | ||
BeforeElse: false | ||
IndentBraces: false | ||
SplitEmptyFunction: true | ||
SplitEmptyRecord: true | ||
SplitEmptyNamespace: true | ||
BreakBeforeBinaryOperators: None | ||
BreakBeforeBraces: Attach | ||
BreakBeforeInheritanceComma: false | ||
BreakInheritanceList: BeforeColon | ||
BreakBeforeTernaryOperators: true | ||
BreakConstructorInitializersBeforeComma: false | ||
BreakConstructorInitializers: BeforeColon | ||
BreakAfterJavaFieldAnnotations: false | ||
BreakStringLiterals: true | ||
ColumnLimit: 120 | ||
CommentPragmas: '^ IWYU pragma:' | ||
CompactNamespaces: false | ||
ConstructorInitializerAllOnOneLineOrOnePerLine: true | ||
ConstructorInitializerIndentWidth: 4 | ||
ContinuationIndentWidth: 4 | ||
Cpp11BracedListStyle: true | ||
DerivePointerAlignment: true | ||
DisableFormat: false | ||
ExperimentalAutoDetectBinPacking: false | ||
FixNamespaceComments: true | ||
ForEachMacros: | ||
- foreach | ||
- Q_FOREACH | ||
- BOOST_FOREACH | ||
IncludeBlocks: Preserve | ||
IncludeCategories: | ||
- Regex: '^<ext/.*\.h>' | ||
Priority: 2 | ||
- Regex: '^<.*\.h>' | ||
Priority: 1 | ||
- Regex: '^<.*' | ||
Priority: 2 | ||
- Regex: '.*' | ||
Priority: 3 | ||
IncludeIsMainRegex: '([-_](test|unittest))?$' | ||
IndentCaseLabels: true | ||
IndentPPDirectives: None | ||
IndentWidth: 2 | ||
IndentWrappedFunctionNames: false | ||
KeepEmptyLinesAtTheStartOfBlocks: false | ||
MacroBlockBegin: '' | ||
MacroBlockEnd: '' | ||
MaxEmptyLinesToKeep: 1 | ||
NamespaceIndentation: None | ||
PenaltyBreakAssignment: 2 | ||
PenaltyBreakBeforeFirstCallParameter: 1 | ||
PenaltyBreakComment: 300 | ||
PenaltyBreakFirstLessLess: 120 | ||
PenaltyBreakString: 1000 | ||
PenaltyBreakTemplateDeclaration: 10 | ||
PenaltyExcessCharacter: 1000000 | ||
PenaltyReturnTypeOnItsOwnLine: 2000 | ||
PointerAlignment: Right | ||
RawStringFormats: | ||
- Language: Cpp | ||
Delimiters: | ||
- cc | ||
- CC | ||
- cpp | ||
- Cpp | ||
- CPP | ||
- 'c++' | ||
- 'C++' | ||
CanonicalDelimiter: '' | ||
BasedOnStyle: google | ||
- Language: TextProto | ||
Delimiters: | ||
- pb | ||
- PB | ||
- proto | ||
- PROTO | ||
EnclosingFunctions: | ||
- EqualsProto | ||
- EquivToProto | ||
- PARSE_PARTIAL_TEXT_PROTO | ||
- PARSE_TEST_PROTO | ||
- PARSE_TEXT_PROTO | ||
- ParseTextOrDie | ||
- ParseTextProtoOrDie | ||
CanonicalDelimiter: '' | ||
BasedOnStyle: google | ||
ReflowComments: true | ||
SortIncludes: false | ||
SortUsingDeclarations: false | ||
SpaceAfterCStyleCast: true | ||
SpaceAfterTemplateKeyword: false | ||
SpaceBeforeAssignmentOperators: true | ||
SpaceBeforeCpp11BracedList: false | ||
SpaceBeforeCtorInitializerColon: true | ||
SpaceBeforeInheritanceColon: true | ||
SpaceBeforeParens: ControlStatements | ||
SpaceBeforeRangeBasedForLoopColon: true | ||
SpaceInEmptyParentheses: false | ||
SpacesBeforeTrailingComments: 2 | ||
SpacesInAngles: false | ||
SpacesInContainerLiterals: false | ||
SpacesInCStyleCastParentheses: false | ||
SpacesInParentheses: false | ||
SpacesInSquareBrackets: false | ||
Standard: Auto | ||
TabWidth: 2 | ||
UseTab: Never |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
--- | ||
Checks: >- | ||
*, | ||
-abseil-*, | ||
-android-*, | ||
-boost-*, | ||
-bugprone-macro-parentheses, | ||
-cert-dcl50-cpp, | ||
-cert-err58-cpp, | ||
-clang-analyzer-core.CallAndMessage, | ||
-clang-analyzer-osx.*, | ||
-clang-analyzer-security.*, | ||
-cppcoreguidelines-avoid-goto, | ||
-cppcoreguidelines-c-copy-assignment-signature, | ||
-cppcoreguidelines-owning-memory, | ||
-cppcoreguidelines-pro-bounds-array-to-pointer-decay, | ||
-cppcoreguidelines-pro-bounds-constant-array-index, | ||
-cppcoreguidelines-pro-bounds-pointer-arithmetic, | ||
-cppcoreguidelines-pro-type-const-cast, | ||
-cppcoreguidelines-pro-type-cstyle-cast, | ||
-cppcoreguidelines-pro-type-member-init, | ||
-cppcoreguidelines-pro-type-reinterpret-cast, | ||
-cppcoreguidelines-pro-type-static-cast-downcast, | ||
-cppcoreguidelines-pro-type-union-access, | ||
-cppcoreguidelines-pro-type-vararg, | ||
-cppcoreguidelines-special-member-functions, | ||
-fuchsia-*, | ||
-fuchsia-default-arguments, | ||
-fuchsia-multiple-inheritance, | ||
-fuchsia-overloaded-operator, | ||
-fuchsia-statically-constructed-objects, | ||
-google-build-using-namespace, | ||
-google-explicit-constructor, | ||
-google-readability-braces-around-statements, | ||
-google-readability-casting, | ||
-google-readability-todo, | ||
-google-runtime-int, | ||
-google-runtime-references, | ||
-hicpp-*, | ||
-llvm-header-guard, | ||
-llvm-include-order, | ||
-misc-unconventional-assign-operator, | ||
-misc-unused-parameters, | ||
-modernize-deprecated-headers, | ||
-modernize-pass-by-value, | ||
-modernize-pass-by-value, | ||
-modernize-return-braced-init-list, | ||
-modernize-use-auto, | ||
-modernize-use-default-member-init, | ||
-modernize-use-equals-default, | ||
-mpi-*, | ||
-objc-*, | ||
-performance-unnecessary-value-param, | ||
-readability-braces-around-statements, | ||
-readability-else-after-return, | ||
-readability-implicit-bool-conversion, | ||
-readability-named-parameter, | ||
-readability-redundant-member-init, | ||
-warnings-as-errors, | ||
-zircon-* | ||
WarningsAsErrors: '*' | ||
HeaderFilterRegex: '^.*/src/esphome/.*' | ||
AnalyzeTemporaryDtors: false | ||
FormatStyle: google | ||
CheckOptions: | ||
- key: google-readability-braces-around-statements.ShortStatementLines | ||
value: '1' | ||
- key: google-readability-function-size.StatementThreshold | ||
value: '800' | ||
- key: google-readability-namespace-comments.ShortNamespaceLines | ||
value: '10' | ||
- key: google-readability-namespace-comments.SpacesBeforeComments | ||
value: '2' | ||
- key: modernize-loop-convert.MaxCopySize | ||
value: '16' | ||
- key: modernize-loop-convert.MinConfidence | ||
value: reasonable | ||
- key: modernize-loop-convert.NamingStyle | ||
value: CamelCase | ||
- key: modernize-pass-by-value.IncludeStyle | ||
value: llvm | ||
- key: modernize-replace-auto-ptr.IncludeStyle | ||
value: llvm | ||
- key: modernize-use-nullptr.NullMacros | ||
value: 'NULL' | ||
- key: readability-identifier-naming.LocalVariableCase | ||
value: 'lower_case' | ||
- key: readability-identifier-naming.ClassCase | ||
value: 'CamelCase' | ||
- key: readability-identifier-naming.StructCase | ||
value: 'CamelCase' | ||
- key: readability-identifier-naming.EnumCase | ||
value: 'CamelCase' | ||
- key: readability-identifier-naming.EnumConstantCase | ||
value: 'UPPER_CASE' | ||
- key: readability-identifier-naming.StaticConstantCase | ||
value: 'UPPER_CASE' | ||
- key: readability-identifier-naming.StaticVariableCase | ||
value: 'UPPER_CASE' | ||
- key: readability-identifier-naming.GlobalConstantCase | ||
value: 'UPPER_CASE' | ||
- key: readability-identifier-naming.ParameterCase | ||
value: 'lower_case' | ||
- key: readability-identifier-naming.PrivateMemberPrefix | ||
value: 'NO_PRIVATE_MEMBERS_ALWAYS_USE_PROTECTED' | ||
- key: readability-identifier-naming.PrivateMethodPrefix | ||
value: 'NO_PRIVATE_METHODS_ALWAYS_USE_PROTECTED' | ||
- key: readability-identifier-naming.ClassMemberCase | ||
value: 'lower_case' | ||
- key: readability-identifier-naming.ClassMemberCase | ||
value: 'lower_case' | ||
- key: readability-identifier-naming.ProtectedMemberCase | ||
value: 'lower_case' | ||
- key: readability-identifier-naming.ProtectedMemberSuffix | ||
value: '_' | ||
- key: readability-identifier-naming.FunctionCase | ||
value: 'lower_case' | ||
- key: readability-identifier-naming.ClassMethodCase | ||
value: 'lower_case' | ||
- key: readability-identifier-naming.ProtectedMethodCase | ||
value: 'lower_case' | ||
- key: readability-identifier-naming.ProtectedMethodSuffix | ||
value: '_' | ||
- key: readability-identifier-naming.VirtualMethodCase | ||
value: 'lower_case' | ||
- key: readability-identifier-naming.VirtualMethodSuffix | ||
value: '' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.