mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-26 20:53:50 +00:00 
			
		
		
		
	## Description: Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/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):** https://github.com/esphome/feature-requests/issues/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).
		
			
				
	
	
		
			128 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| 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:           ''
 |