generated from RedMadRobot/android-library-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit d2a1ec5
Showing
32 changed files
with
2,015 additions
and
0 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,233 @@ | ||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
end_of_line = lf | ||
indent_size = 4 | ||
indent_style = space | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
max_line_length = 120 | ||
# Uncomment if you want to show non-strict recommended guideline | ||
#ij_visual_guides = 100 | ||
|
||
# General | ||
ij_continuation_indent_size = 8 | ||
ij_smart_tabs = false | ||
ij_wrap_on_typing = false | ||
ij_any_keep_indents_on_empty_lines = false | ||
|
||
# Formatter | ||
ij_formatter_tags_enabled = true | ||
ij_formatter_on_tag = @formatter:on | ||
ij_formatter_off_tag = @formatter:off | ||
|
||
[{*.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 | ||
ij_kotlin_keep_line_breaks = true | ||
ij_kotlin_keep_first_column_comment = true | ||
## 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 | ||
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 | ||
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 | ||
ij_kotlin_align_multiline_method_parentheses = false | ||
## 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 | ||
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 | ||
ij_kotlin_while_on_new_line = false | ||
## 'try' statement | ||
ij_kotlin_catch_on_new_line = false | ||
ij_kotlin_finally_on_new_line = false | ||
## Binary expressions | ||
ij_kotlin_align_multiline_binary_operation = false | ||
## 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 | ||
ij_kotlin_align_in_columns_case_branch = false | ||
ij_kotlin_line_break_after_multiline_when_entry = true | ||
## Braces placement | ||
ij_kotlin_lbrace_on_next_line = false | ||
## Expression body functions | ||
ij_kotlin_wrap_expression_body_functions = 1 | ||
ij_kotlin_continuation_indent_for_expression_bodies = false | ||
## Elvis expressions | ||
ij_kotlin_wrap_elvis_expressions = 1 | ||
ij_kotlin_continuation_indent_in_elvis = false | ||
|
||
# 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 | ||
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 | ||
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.**,^ | ||
|
||
# Other | ||
## Trailing comma | ||
ij_kotlin_allow_trailing_comma = true | ||
ij_kotlin_allow_trailing_comma_on_call_site = false | ||
|
||
# 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 | ||
|
||
# Compose | ||
ij_kotlin_use_custom_formatting_for_modifiers = true | ||
|
||
# Load/Save | ||
ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL | ||
|
||
[*.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 | ||
ij_xml_attribute_wrap = normal | ||
ij_xml_text_wrap = normal | ||
ij_xml_align_text = false | ||
ij_xml_align_attributes = false | ||
ij_xml_keep_whitespaces = false | ||
## Spaces | ||
ij_xml_space_around_equals_in_attribute = false | ||
ij_xml_space_after_tag_name = false | ||
ij_xml_space_inside_empty_tag = true | ||
## CDATA | ||
ij_xml_keep_whitespaces_around_cdata = preserve | ||
ij_xml_keep_whitespaces_inside_cdata = false | ||
|
||
# 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 | ||
ij_xml_use_custom_settings = true | ||
|
||
[*.md] | ||
trim_trailing_whitespace = false | ||
|
||
# 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_keep_indents_on_empty_lines = unset | ||
ij_yaml_keep_line_breaks = true | ||
ij_yaml_spaces_within_brackets = false | ||
|
||
[{*.bash,*.sh,*.zsh}] | ||
indent_size = 2 | ||
tab_width = 2 | ||
|
||
[*.bat] | ||
end_of_line = crlf | ||
|
||
[*.properties] | ||
ij_properties_keep_blank_lines = true |
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,6 @@ | ||
# | ||
# https://help.github.com/articles/dealing-with-line-endings/ | ||
# | ||
# These are explicitly windows files and should use crlf | ||
*.bat text eol=crlf | ||
|
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,41 @@ | ||
# GitHub Actions Workflow responsible for cleaning up the Template repository from | ||
# the template-specific files and configurations. This workflow is supposed to be triggered automatically | ||
# when a new template-based repository has been created. | ||
|
||
name: Template Cleanup | ||
on: | ||
push: | ||
branches: [main] | ||
|
||
jobs: | ||
# Run cleaning process only if workflow is triggered by the non-"android-library-template" repository. | ||
template-cleanup: | ||
name: Template Cleanup | ||
runs-on: ubuntu-latest | ||
if: github.event.repository.name != 'android-library-template' | ||
permissions: | ||
contents: write | ||
steps: | ||
# Check out current repository | ||
- name: Fetch Sources | ||
uses: actions/checkout@v4 | ||
|
||
# Cleanup project | ||
- name: Cleanup | ||
run: | | ||
./cleanup.sh "${GITHUB_REPOSITORY##*/}" | ||
# Commit modified files | ||
- name: Commit files | ||
run: | | ||
git config --local user.email "[email protected]" | ||
git config --local user.name "GitHub Action" | ||
git add . | ||
git commit -m "Template cleanup" | ||
# Push changes | ||
- name: Push changes | ||
uses: ad-m/github-push-action@master | ||
with: | ||
branch: main | ||
github_token: ${{ secrets.GITHUB_TOKEN }} |
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,63 @@ | ||
name: CI | ||
|
||
on: | ||
push: | ||
branches: [main] | ||
# Release tag format is v[version] | ||
# For example: v1.3.5 | ||
tags: ["v*"] | ||
pull_request: | ||
branches: [main] | ||
|
||
jobs: | ||
check: | ||
name: Check | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v4 | ||
- name: Setup Java | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: "temurin" | ||
java-version: 17 | ||
- name: Setup Gradle | ||
uses: gradle/actions/setup-gradle@v3 | ||
- name: Cleanup project | ||
run: ./cleanup.sh TestTemplate | ||
- name: Run Check | ||
run: ./gradlew check detektAll detektReleaseAll | ||
|
||
publish: | ||
name: Publish | ||
needs: check | ||
runs-on: ubuntu-latest | ||
if: ${{ startsWith(github.ref, 'refs/tags/') }} | ||
|
||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v4 | ||
- name: Setup Java | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: "temurin" | ||
java-version: 17 | ||
- name: Setup Gradle | ||
uses: gradle/actions/setup-gradle@v3 | ||
- name: Run Publish | ||
run: ./gradlew publish | ||
env: | ||
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }} | ||
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }} | ||
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }} | ||
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }} | ||
ORG_GRADLE_PROJECT_githubPackagesUsername: ${{ github.actor }} | ||
ORG_GRADLE_PROJECT_githubPackagesPassword: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Extract release notes | ||
uses: ffurrer2/extract-release-notes@v2 | ||
with: | ||
release_notes_file: RELEASE_NOTES.md | ||
- name: Create GitHub Release | ||
uses: softprops/action-gh-release@v2 | ||
with: | ||
body_path: RELEASE_NOTES.md |
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,25 @@ | ||
.DS_Store | ||
|
||
## JetBrains IDEs | ||
/.idea/** | ||
*.iml | ||
|
||
# Keep required plugins | ||
!.idea/externalDependencies.xml | ||
|
||
# Keep detekt plugin config | ||
!.idea/detekt.xml | ||
|
||
# Keep VCS config | ||
!.idea/vcs.xml | ||
|
||
## Gradle | ||
# Ignore Gradle project-specific cache directory | ||
.gradle | ||
|
||
# Ignore Gradle build output directory | ||
**/build/ | ||
!**/src/**/build/ | ||
|
||
# Ignore local properties | ||
local.properties |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.