Merge branch 'master' into merge_master_in_licard_dev

This commit is contained in:
Bogdan Terehov 2023-09-04 18:44:36 +03:00
commit 0d22d1a42f
6 changed files with 77 additions and 70 deletions

View File

@ -30,7 +30,7 @@ clone_platform() {
PROJECT_NAME=$1
PLATFORM=$2
if git clone --recurse-submodules -j8 "git@gitlab.ti:touchinstinct/${PROJECT_NAME}-${PLATFORM}.git" --branch "${GIT_BRANCH}"; then
if git clone --recurse-submodules -j8 "ssh://git@git.ti:7999/touchinstinct/${PROJECT_NAME}-${PLATFORM}.git" --branch "${GIT_BRANCH}"; then
cd ${PROJECT_NAME}-${PLATFORM}
COMMIT_DATE=`git log -1 --pretty='format:%cd' --date=format:'%Y-%m-%d'`

View File

@ -15,7 +15,6 @@ opt_in_rules:
# idiomatic
- legacy_random
- legacy_multiple
- pattern_matching_keywords
- redundant_nil_coalescing
@ -32,8 +31,12 @@ opt_in_rules:
- fatal_error_message
- extension_access_modifier
- explicit_init
- prefer_zero_over_explicit_init
- fallthrough
- unavailable_function
- prefer_zero_over_explicit_init
- discouraged_assert
- discouraged_none_name
- shorthand_optional_binding
# style
@ -55,29 +58,46 @@ opt_in_rules:
- closure_spacing
- closure_end_indentation
- prefer_self_type_over_type_of_self
- closure_parameter_position
- comma_inheritance
- self_binding
- prefer_self_in_static_references
- direct_return
- period_spacing
# lint
- private_action
- private_outlet
- prohibited_super_call
- unused_import
- unused_declaration
- identical_operands
- overridden_super_call
- unowned_variable_capture
- strong_iboutlet
- lower_acl_than_parent
- comment_spacing
- ibinspectable_in_extension
- private_subject
- unhandled_throwing_task
# metrics
- enum_case_associated_values_count
analyzer_rules:
- capture_variable
- typesafe_array_init
- unused_declaration
- unused_import
excluded:
- Carthage
- Pods
- Generated
- "**/Generated"
- "**/Resources"
- ".gem"
- "**/*.app"
line_length:
warning: 128
@ -109,6 +129,7 @@ identifier_name:
- id
- ok
- URL
- qr
- x
- y
- z
@ -121,30 +142,17 @@ custom_rules:
# General
uiwebview_disabled:
included: ".*.swift"
name: "UIWebView Usage Disabled"
regex: 'UIWebView'
message: "Do not use UIWebView. Use WKWebView Instead. https://developer.apple.com/reference/uikit/uiwebview"
severity: error
native_print:
name: "print -> DDLog"
regex: '(print|NSLog)\('
message: "Please use CocoaLumberjack instead `print` and `NSlog`"
severity: error
uiedge_insets_zero:
name: "UIEdgeInsets .zero"
regex: '\(top: 0, left: 0, bottom: 0, right: 0\)'
message: "Please use short init `.zero`."
severity: error
let_variable:
name: "Let Variable"
regex: 'var\s\w*(:|(\s=))\sVariable'
message: "Please make variable using `let`."
unsecure_logging:
name: "Unsecure logging"
regex: '\s(print|debugPrint|NSLog)\('
message: "Please use os_log or remove this debug statement"
severity: error
excluded_match_kinds:
- comment
- comment.mark
- comment.url
- doccomment
- doccomment.field
marks_style:
name: "Marks"
@ -165,19 +173,12 @@ custom_rules:
message: "Type definition not needed"
severity: error
unowned:
name: "Unowned"
unsafe_unowned:
name: "Unsafe unowned usage"
regex: 'unowned'
message: "Please use `weak` instead. "
message: "Please use `weak` instead."
severity: error
continue_keyword:
name: "Continue"
regex: 'continue'
message: "Don't use continue instruction"
severity: error
match_kinds: keyword
cyrillic_strings:
name: "Cyrillic strings"
regex: '[а-яА-Я]+'
@ -237,12 +238,6 @@ custom_rules:
message: "Use сontentView instead of self for addSubview or addSubviews methods in cell."
severity: warning
redundant_type_annotation_bool:
name: "Redundant type annotation for Bool"
regex: '\s((var|let))\s{1,}\w+ *((: *Bool *=)|((\w| |<|>|:)*= *BehaviorRelay<Bool>\( *value *:)) *((true)|(false))'
message: "Using a type annotation for Bool is redundant."
severity: warning
parameter_repetition:
name: "Parameter repetition"
regex: 'func ((\w+([A-Z]\w+))|(\w+)) *(<[^>]+>)? *\( *(?i)(\3|\4):'

View File

@ -8,6 +8,7 @@ RUBY_VERSION="2.7.6"
open_project=(open *.xcworkspace)
install_dev_certs=(bundle exec fastlane SyncCodeSigning type:development readonly:true)
install_pods=(bundle exec pod install || bundle exec pod install --repo-update)
init_rbenv=(if command -v rbenv &> /dev/null; then eval "$$(rbenv init -)"; fi)
TARGET_MAX_CHAR_NUM=20
## Show help
@ -31,7 +32,7 @@ help:
init:
brew bundle
eval "$(rbenv init -)"
$(call init_rbenv)
rbenv install -s ${RUBY_VERSION}
rbenv global ${RUBY_VERSION}
@ -43,7 +44,7 @@ init:
bundle install
xcodegen
$(call gen)
$(call install_pods)
@ -59,6 +60,10 @@ init:
pod:
$(call install_pods)
## Запускает генерацию файла проекта
gen:
xcodegen
## Устанавливает сертификат и профили для запуска на девайсе
dev_certs:
$(call install_dev_certs)

View File

@ -62,16 +62,13 @@ if has_input_files && \
SHELL_VARIABLE="\${${SCRIPT_INPUT_FILE_VARIABLE_NAME}}"
RESOLVED_FILE_NAME=`envsubst <<< ${SHELL_VARIABLE}`
INPUT_FILE_NAMES=${INPUT_FILE_NAMES}${FILE_NAMES_SEPARATOR}${RESOLVED_FILE_NAME}
if [ ! -z ${INPUT_FILE_NAMES} ]; then
INPUT_FILE_NAMES=${INPUT_FILE_NAMES}${FILE_NAMES_SEPARATOR}
fi
INPUT_FILE_NAMES=${INPUT_FILE_NAMES}${RESOLVED_FILE_NAME}
done
FILE_NAMES_SEPARATOR_LENGTH=`awk '{ print length; }' <<< "${FILE_NAMES_SEPARATOR}"`
if [ ${FILE_NAMES_SEPARATOR_LENGTH} -gt 0 ] && \
[ ! -z "${INPUT_FILE_NAMES}" ]; then
# remove separator prefix
INPUT_FILE_NAMES=`cut -c${FILE_NAMES_SEPARATOR_LENGTH}- <<< ${INPUT_FILE_NAMES}`
fi
elif has_input_file_lists; then
for i in `seq 0 $((${SCRIPT_INPUT_FILE_LIST_COUNT}-1))`
do

View File

@ -2,6 +2,7 @@
# Description:
# Runs swiftlint with selected or default config file.
# By default it runs only for modified files.
#
# Parameters:
# $1 - path to swiftlint executable.
@ -10,14 +11,15 @@
# Required environment variables:
# SCRIPT_DIR - directory of current script.
# SRCROOT - project directory.
# PODS_ROOT - cocoapods installation directory (eg. ${SRCROOT}/Pods).
#
# Optional environment variables:
# SWIFTLINT_EXECUTABLE - path to swiftlint executable.
# SWIFTLINT_CONFIG_PATH - path to swiftlint config.
# PODS_ROOT - cocoapods installation directory (eg. ${SRCROOT}/Pods) if SWIFTLINT_EXECUTABLE or ${1} is missing
# SCRIPT_INPUT_FILE_COUNT - number of files listed in "Input files" of build phase.
# SCRIPT_INPUT_FILE_{N} - file path to directory that should be checked.
# FORCE_LINT - lint all project.
# FORCE_LINT - don't exclude not modified files.
# AUTOCORRECT - format and fix code before lint.
#
# Example of usage:
# swiftlint.sh
@ -46,8 +48,11 @@ fi
if [ ! -z "${FORCE_LINT}" ]; then
# Если задана переменная FORCE_LINT, то проверяем все файлы проекта
for SOURCE_DIR in ${SOURCES_DIRS}; do
${SWIFTLINT_EXECUTABLE} autocorrect --path ${SOURCE_DIR} --config ${SWIFTLINT_CONFIG_PATH}
${SWIFTLINT_EXECUTABLE} --path ${SOURCE_DIR} --config ${SWIFTLINT_CONFIG_PATH}
if [ ! -z "${AUTOCORRECT}" ]; then
${SWIFTLINT_EXECUTABLE} lint --config ${SWIFTLINT_CONFIG_PATH} --fix --format "${SRCROOT}/${SOURCE_DIR}"
fi
${SWIFTLINT_EXECUTABLE} lint --config ${SWIFTLINT_CONFIG_PATH} "${SRCROOT}/${SOURCE_DIR}"
done
else
# Xcode упадет, если будем использовать большое количество Script Input Files,
@ -56,19 +61,21 @@ else
# Создадим временный файл swiftlint_files с префиксом @ и в нем уже определим список файлов
# необходимых для линтовки :)
lint_files_path="${SRCROOT}/build_phases/swiftlint_files"
# Если файл существует, то просто его очистим, если нет - создадим
> ${lint_files_path}
lint_files_path=`mktemp`
# Проходимся по папкам, которые требуют линтовки
for SOURCE_DIR in ${SOURCES_DIRS}; do
# Путь к папке репозитория
path_prefix="`git rev-parse --show-toplevel`/"
LINE_PREFIX="${SRCROOT}/"
pushd .
cd ${SRCROOT} # in case of runing script outside project folder (SPM)
# Отбираем файлы, которые были изменены или созданы
source_unstaged_files=$(git diff --diff-filter=d --name-only --line-prefix=${path_prefix} ${SOURCE_DIR} | grep "\.swift$")
source_staged_files=$(git diff --diff-filter=d --name-only --line-prefix=${path_prefix} --cached ${SOURCE_DIR} | grep "\.swift$")
source_unstaged_files=$(git diff --diff-filter=d --name-only --line-prefix=${LINE_PREFIX} ${SOURCE_DIR} | grep "\.swift$")
source_staged_files=$(git diff --diff-filter=d --name-only --line-prefix=${LINE_PREFIX} --cached ${SOURCE_DIR} | grep "\.swift$")
popd
if [ ! -z "${source_unstaged_files}" ]; then
echo "${source_unstaged_files}" >> ${lint_files_path}
@ -81,6 +88,9 @@ else
swiftlint_files_path="@${lint_files_path}"
${SWIFTLINT_EXECUTABLE} autocorrect --path ${swiftlint_files_path} --config ${SWIFTLINT_CONFIG_PATH} --force-exclude --use-alternative-excluding
${SWIFTLINT_EXECUTABLE} --path ${swiftlint_files_path} --config ${SWIFTLINT_CONFIG_PATH} --force-exclude --use-alternative-excluding
if [ ! -z "${AUTOCORRECT}" ]; then
${SWIFTLINT_EXECUTABLE} lint --config ${SWIFTLINT_CONFIG_PATH} --fix --format --force-exclude --use-alternative-excluding ${swiftlint_files_path}
fi
${SWIFTLINT_EXECUTABLE} lint --config ${SWIFTLINT_CONFIG_PATH} --force-exclude --use-alternative-excluding ${swiftlint_files_path}
fi

View File

@ -146,7 +146,7 @@ private_lane :buildConfiguration do |options|
end
upload_symbols_to_crashlytics(
gsp_path: get_google_services_plist_path(app_target_folder_name, configuration_type)
gsp_path: get_google_services_plist_path(options[:appName], configuration_type)
)
end