protolint: configure protolint and fix the protolinting issues
This PR addresses the following: - Install and Configure protolint to enforce the protobuf style guide rules in the CI. - Fix the protolinting issues (package and import ordering) while maintaining the comaptibility.
This commit is contained in:
10 files changed
+92
-14
No files matched your search
@@ -0,0 +1,70 @@
|
||||
# The example configuration file for the protolint is located here:
|
||||
# https://github.com/yoheimuta/protolint/blob/master/_example/config/.protolint.yaml
|
||||
---
|
||||
# Lint directives.
|
||||
lint:
|
||||
# Linter rules.
|
||||
# Run `protolint list` to see all available rules.
|
||||
rules:
|
||||
# Determines whether or not to include the default set of linters.
|
||||
no_default: true
|
||||
|
||||
# Set the default to all linters. This option works the other way around as no_default does.
|
||||
# If you want to enable this option, delete the comment out below and no_default.
|
||||
# all_default: true.
|
||||
|
||||
# The specific linters to add.
|
||||
add:
|
||||
- MESSAGE_NAMES_UPPER_CAMEL_CASE
|
||||
- MAX_LINE_LENGTH
|
||||
- INDENT
|
||||
- FILE_NAMES_LOWER_SNAKE_CASE
|
||||
- IMPORTS_SORTED
|
||||
- PACKAGE_NAME_LOWER_CASE
|
||||
- ORDER
|
||||
- SERVICES_HAVE_COMMENT
|
||||
- RPCS_HAVE_COMMENT
|
||||
- PROTO3_FIELDS_AVOID_REQUIRED
|
||||
- PROTO3_GROUPS_AVOID
|
||||
- SYNTAX_CONSISTENT
|
||||
- RPC_NAMES_CASE
|
||||
- QUOTE_CONSISTENT
|
||||
|
||||
# Linter rules option.
|
||||
rules_option:
|
||||
# MAX_LINE_LENGTH rule option.
|
||||
max_line_length:
|
||||
# Enforces a maximum line length.
|
||||
max_chars: 80
|
||||
# Specifies the character count for tab characters.
|
||||
tab_chars: 2
|
||||
|
||||
# INDENT rule option.
|
||||
indent:
|
||||
# Available styles are 4(4-spaces), 2(2-spaces) or tab.
|
||||
style: 4
|
||||
# Specifies if it should stop considering and inserting new lines at the appropriate positions.
|
||||
# when the inner elements are on the same line. Default is false.
|
||||
not_insert_newline: true
|
||||
|
||||
# QUOTE_CONSISTENT rule option.
|
||||
quote_consistent:
|
||||
# Available quote are "double" or "single".
|
||||
quote: double
|
||||
|
||||
# ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH rule option.
|
||||
enum_field_names_zero_value_end_with:
|
||||
suffix: INVALID
|
||||
|
||||
# SERVICE_NAMES_END_WITH rule option.
|
||||
service_names_end_with:
|
||||
text: Service
|
||||
|
||||
# REPEATED_FIELD_NAMES_PLURALIZED rule option.
|
||||
## The spec for each rules follows the implementation of https://github.com/gertd/go-pluralize.
|
||||
## Plus, you can refer to this rule's test code.
|
||||
repeated_field_names_pluralized:
|
||||
uncountable_rules:
|
||||
- paper
|
||||
irregular_rules:
|
||||
Irregular: Regular
|
||||
Reference in new issue
Block a user