Skip to content

Commit

Permalink
Merge pull request #139 from RedMadRobot/develop
Browse files Browse the repository at this point in the history
v0.19
  • Loading branch information
osipxd authored Jul 26, 2024
2 parents fb93711 + e1e36be commit e39f2f1
Show file tree
Hide file tree
Showing 71 changed files with 975 additions and 614 deletions.
187 changes: 117 additions & 70 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Source: https://gist.github.com/osipxd/9a786496634a1ef0ea622c9805601490
root = true

[*]
Expand All @@ -10,136 +11,153 @@ trim_trailing_whitespace = true
max_line_length = 120
ij_visual_guides = 100

## General
# General
ij_continuation_indent_size = 8
ij_smart_tabs = false
ij_wrap_on_typing = false
ij_any_keep_indents_on_empty_lines = false

## Formatter Control
# Formatter
ij_formatter_tags_enabled = true
ij_formatter_on_tag = @formatter:on
ij_formatter_off_tag = @formatter:off

[{*.kt, *.kts}]
ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL
ij_continuation_indent_size = 4 # To match ktlint settings
ij_kotlin_keep_indents_on_empty_lines = false
[{*.kt,*.kts}]
# Tabs and Indents
# continuation_indent_size = 4 to match ktlint settings
ij_kotlin_continuation_indent_size = 4
ij_kotlin_keep_indents_on_empty_lines = unset

# Spaces
## Before parentheses
ij_kotlin_space_before_if_parentheses = true
ij_kotlin_space_before_for_parentheses = true
ij_kotlin_space_before_while_parentheses = true
ij_kotlin_space_before_catch_parentheses = true
ij_kotlin_space_before_when_parentheses = true
## Around operators
ij_kotlin_spaces_around_assignment_operators = true
ij_kotlin_spaces_around_logical_operators = true
ij_kotlin_spaces_around_equality_operators = true
ij_kotlin_spaces_around_relational_operators = true
ij_kotlin_spaces_around_additive_operators = true
ij_kotlin_spaces_around_multiplicative_operators = true
ij_kotlin_spaces_around_unary_operator = false
ij_kotlin_spaces_around_range = false
## Other
ij_kotlin_space_before_comma = false
ij_kotlin_space_after_comma = true
ij_kotlin_space_before_type_colon = false
ij_kotlin_space_after_type_colon = true
ij_kotlin_space_before_extend_colon = true
ij_kotlin_space_after_extend_colon = true
ij_kotlin_insert_whitespaces_in_simple_one_line_method = true
ij_kotlin_spaces_around_function_type_arrow = true
ij_kotlin_spaces_around_when_arrow = true
ij_kotlin_space_before_lambda_arrow = true

## Wrapping and Braces
# Keep when reformatting
# Wrapping and Braces
## Keep when reformatting
ij_kotlin_keep_line_breaks = true
ij_kotlin_keep_first_column_comment = true
# Extends/implements list
## Extends/implements list
ij_kotlin_extends_list_wrap = normal
ij_kotlin_align_multiline_extends_list = false
ij_kotlin_continuation_indent_in_supertype_lists = false
# Function declaration parameters
## Function declaration parameters
ij_kotlin_method_parameters_wrap = on_every_item
ij_kotlin_align_multiline_parameters = true
ij_kotlin_method_parameters_new_line_after_left_paren = true
ij_kotlin_method_parameters_right_paren_on_new_line = true
ij_kotlin_continuation_indent_in_parameter_lists = false
# Function call arguments
## Function call arguments
ij_kotlin_call_parameters_wrap = on_every_item
ij_kotlin_align_multiline_parameters_in_calls = false
ij_kotlin_call_parameters_new_line_after_left_paren = true
ij_kotlin_call_parameters_right_paren_on_new_line = true
ij_kotlin_continuation_indent_in_argument_lists = false
# Function parentheses
## Function parentheses
ij_kotlin_align_multiline_method_parentheses = false
# Chained function calls
## Chained function calls
ij_kotlin_method_call_chain_wrap = normal
ij_kotlin_wrap_first_method_in_call_chain = false
ij_kotlin_continuation_indent_for_chained_calls = false
# 'if()' statement
## 'if()' statement
ij_kotlin_else_on_new_line = false
ij_kotlin_if_rparen_on_new_line = true
ij_kotlin_continuation_indent_in_if_conditions = false
# 'do ... while()' statement
## 'do ... while()' statement
ij_kotlin_while_on_new_line = false
# 'try' statement
## 'try' statement
ij_kotlin_catch_on_new_line = false
ij_kotlin_finally_on_new_line = false
# Binary expressions
## Binary expressions
ij_kotlin_align_multiline_binary_operation = false
# Wraps
## Wraps
ij_kotlin_assignment_wrap = normal
ij_kotlin_enum_constants_wrap = off
ij_kotlin_class_annotation_wrap = split_into_lines
ij_kotlin_method_annotation_wrap = split_into_lines
ij_kotlin_field_annotation_wrap = split_into_lines
ij_kotlin_parameter_annotation_wrap = off
ij_kotlin_variable_annotation_wrap = off
# 'when' statements
## 'when' statements
ij_kotlin_align_in_columns_case_branch = false
# Braces placement
ij_kotlin_line_break_after_multiline_when_entry = true
## Braces placement
ij_kotlin_lbrace_on_next_line = false
# Expression body functions
## Expression body functions
ij_kotlin_wrap_expression_body_functions = 1
ij_kotlin_continuation_indent_for_expression_bodies = false
# Elvis expressions
## Elvis expressions
ij_kotlin_wrap_elvis_expressions = 1
ij_kotlin_continuation_indent_in_elvis = false

## Spaces
# Before Parentheses
ij_kotlin_space_before_if_parentheses = true
ij_kotlin_space_before_for_parentheses = true
ij_kotlin_space_before_while_parentheses = true
ij_kotlin_space_before_catch_parentheses = true
ij_kotlin_space_before_when_parentheses = true
# Around Operators
ij_kotlin_spaces_around_assignment_operators = true
ij_kotlin_spaces_around_logical_operators = true
ij_kotlin_spaces_around_equality_operators = true
ij_kotlin_spaces_around_relational_operators = true
ij_kotlin_spaces_around_additive_operators = true
ij_kotlin_spaces_around_multiplicative_operators = true
ij_kotlin_spaces_around_unary_operator = false
ij_kotlin_spaces_around_range = false
# Other
ij_kotlin_space_before_comma = false
ij_kotlin_space_after_comma = true
ij_kotlin_space_before_type_colon = false
ij_kotlin_space_after_type_colon = true
ij_kotlin_space_after_extend_colon = true
ij_kotlin_space_before_extend_colon = true
ij_kotlin_insert_whitespaces_in_simple_one_line_method = true
ij_kotlin_spaces_around_function_type_arrow = true
ij_kotlin_spaces_around_when_arrow = true
ij_kotlin_space_before_lambda_arrow = true

## Blank Lines
# Keep Maximum Blank Lines
# Blank Lines
## Keep maximum blank lines
ij_kotlin_keep_blank_lines_in_declarations = 1
ij_kotlin_keep_blank_lines_in_code = 1
ij_kotlin_keep_blank_lines_before_right_brace = 0
# Minimum Blank Lines
## Minimum blank lines
ij_kotlin_blank_lines_after_class_header = 0
ij_kotlin_blank_lines_around_block_when_branches = 1
ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1

## Imports
# Imports
ij_kotlin_name_count_to_use_star_import = 5
ij_kotlin_name_count_to_use_star_import_for_members = 3
ij_kotlin_import_nested_classes = false
ij_kotlin_packages_to_use_import_on_demand = java.util.*, kotlinx.android.synthetic.**, io.ktor.**
ij_kotlin_imports_layout = *, java.**, javax.**, kotlin.**, ^
ij_kotlin_packages_to_use_import_on_demand = java.util.*,kotlinx.android.synthetic.**,io.ktor.**
ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^

## Other
# Other
## Trailing comma
ij_kotlin_allow_trailing_comma = true
ij_kotlin_allow_trailing_comma_on_call_site = true
ij_kotlin_allow_trailing_comma_on_call_site = false

## Code generation
# Code generation
## Comment code
ij_kotlin_line_comment_at_first_column = true
ij_kotlin_line_comment_add_space = false
ij_kotlin_line_comment_add_space_on_reformat = false
ij_kotlin_block_comment_at_first_column = true
ij_kotlin_block_comment_add_space = false

[**/res/**.xml]
ij_continuation_indent_size = 4
# Load/Save
ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL

## Other
[*.kts]
# Always use wildcard imports in scripts
ij_kotlin_name_count_to_use_star_import = 2

# EditorConfig can not set some of XML code style options.
# Remember to set default Android XML code style: Editor > Code Style > XML > Set from... -> Android
[{**/res/**.xml,**/AndroidManifest.xml}]
# Tabs and Indents
ij_xml_continuation_indent_size = 4
ij_xml_keep_indents_on_empty_lines = unset

# Other
ij_xml_keep_line_breaks = false
ij_xml_keep_line_breaks_in_text = true
ij_xml_keep_blank_lines = 2
Expand All @@ -148,31 +166,60 @@ ij_xml_text_wrap = normal
ij_xml_align_text = false
ij_xml_align_attributes = false
ij_xml_keep_whitespaces = false
# Spaces
## Spaces
ij_xml_space_around_equals_in_attribute = false
ij_xml_space_after_tag_name = false
ij_xml_space_inside_empty_tag = true
# CDATA
## CDATA
ij_xml_keep_whitespaces_around_cdata = preserve
ij_xml_keep_whitespaces_inside_cdata = false

## Code Generation
# Code Generation
ij_xml_line_comment_at_first_column = true
ij_xml_block_comment_at_first_column = true
ij_xml_block_comment_add_space = false

## Android
# Android
ij_xml_use_custom_settings = true

[*.md]
trim_trailing_whitespace = false

[{*.yaml, *.yml}]
# Wrapping and Braces
ij_markdown_wrap_text_if_long = false
ij_markdown_wrap_text_inside_blockquotes = false
## When reformatting
ij_markdown_keep_line_breaks_inside_text_blocks = true
ij_markdown_insert_quote_arrows_on_wrap = true
ij_markdown_format_tables = true

# Tabs and Indents
ij_markdown_keep_indents_on_empty_lines = unset

# Blank Lines
## Keep maximum blank lines
ij_markdown_max_lines_around_header = 1
ij_markdown_max_lines_around_block_elements = 1
ij_markdown_max_lines_between_paragraphs = 1
## Minimum blank lines
ij_markdown_min_lines_around_header = 1
ij_markdown_min_lines_around_block_elements = 1
ij_markdown_min_lines_between_paragraphs = 1

# Spaces
## Force one space
ij_markdown_force_one_space_between_words = true
ij_markdown_force_one_space_after_header_symbol = true
ij_markdown_force_one_space_after_list_bullet = true
ij_markdown_force_one_space_after_blockquote_symbol = true

[{*.yaml,*.yml}]
indent_size = 2
ij_yaml_spaces_within_brackets = false
ij_yaml_keep_indents_on_empty_lines = false
ij_yaml_keep_indents_on_empty_lines = unset
ij_yaml_keep_line_breaks = true
ij_yaml_spaces_within_brackets = false

[{*.bash, *.sh, *.zsh}]
[{*.bash,*.sh,*.zsh}]
indent_size = 2
tab_width = 2

Expand Down
49 changes: 24 additions & 25 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,19 @@ jobs:

steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Run Check
uses: eskatos/gradle-command-action@v2
with:
arguments: detektMainAll check
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }}
run: ./gradlew detektMainAll check

publish:
name: Publish
Expand All @@ -35,19 +35,19 @@ jobs:

steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Run Publish
uses: eskatos/gradle-command-action@v2
with:
arguments: publishAllPublicationsToGithubPackagesRepository
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }}
run: ./gradlew publishAllPublicationsToGithubPackagesRepository
env:
ORG_GRADLE_PROJECT_githubPackagesUsername: ${{ github.actor }}
ORG_GRADLE_PROJECT_githubPackagesPassword: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -63,22 +63,21 @@ jobs:

steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Run Publish
uses: eskatos/gradle-command-action@v2
with:
arguments: publishToMavenLocal
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }}
run: ./gradlew publishToMavenLocal

- name: Run Build
uses: eskatos/gradle-command-action@v2
with:
arguments: build
build-root-directory: samples/${{ matrix.sample }}
run: |
cd samples/${{ matrix.sample }}
./gradlew build
Loading

0 comments on commit e39f2f1

Please sign in to comment.