From b27fa554fb4dab242ccf7a520e38ec918416dad3 Mon Sep 17 00:00:00 2001 From: Ivan Smolin Date: Mon, 18 Jan 2021 15:55:40 +0300 Subject: [PATCH] delete runner.sh, update swiftlint script --- .../common/read_input_file_names.sh | 9 +++- xcode/build_phases/swiftlint.sh | 46 ++++++++++++++++++- 2 files changed, 51 insertions(+), 4 deletions(-) mode change 100644 => 100755 xcode/build_phases/swiftlint.sh diff --git a/xcode/build_phases/common/read_input_file_names.sh b/xcode/build_phases/common/read_input_file_names.sh index 0fdbf2b..8717544 100644 --- a/xcode/build_phases/common/read_input_file_names.sh +++ b/xcode/build_phases/common/read_input_file_names.sh @@ -40,10 +40,15 @@ if [ "${SCRIPT_INPUT_FILE_COUNT}" -gt 0 ] ; then SCRIPT_INPUT_FILE_VARIABLE_NAME="SCRIPT_INPUT_FILE_${i}" COMMAND="echo \${${SCRIPT_INPUT_FILE_VARIABLE_NAME}}" INPUT_FILE_NAME=`eval ${COMMAND}` - INPUT_FILE_NAMES=${INPUT_FILE_NAMES}${INPUT_FILE_NAME}" " + INPUT_FILE_NAMES=${INPUT_FILE_NAMES}${INPUT_FILE_NAME}${FILE_NAMES_SEPARATOR} done - echo ${INPUT_FILE_NAMES} + FILE_NAMES_SEPARATOR_LENGTH=`awk '{ print length; }' <<< ${FILE_NAMES_SEPARATOR}` + INPUT_FILE_NAMES_LENGTH=`awk '{ print length; }' <<< ${INPUT_FILE_NAMES}` + INPUT_FILE_NAMES_TRIMMED_LENGTH=$((INPUT_FILE_NAMES_LENGTH - FILE_NAMES_SEPARATOR_LENGTH)) + + # remove separator suffix + echo ${INPUT_FILE_NAMES} | cut -c1-${INPUT_FILE_NAMES_TRIMMED_LENGTH} else echo ${DEFAULT_VALUE} fi \ No newline at end of file diff --git a/xcode/build_phases/swiftlint.sh b/xcode/build_phases/swiftlint.sh old mode 100644 new mode 100755 index f1f8fb8..38f8b82 --- a/xcode/build_phases/swiftlint.sh +++ b/xcode/build_phases/swiftlint.sh @@ -1,2 +1,44 @@ -SOURCES_DIR=${1:-${TARGET_NAME}} # first argument or TARGET_NAME -${PODS_ROOT}/SwiftLint/swiftlint autocorrect --path ${SOURCES_DIR} --config ${PROJECT_DIR}/build-scripts/xcode/.swiftlint.yml && ${PODS_ROOT}/SwiftLint/swiftlint --path ${SOURCES_DIR} --config ${PROJECT_DIR}/build-scripts/xcode/.swiftlint.yml +#!/bin/sh + +# Description: +# Runs swiftlint with selected or default config file. +# +# Parameters: +# $1 - path to swiftlint executable. +# $2 - path to swiftlint config. +# +# Required environment variables: +# SCRIPT_DIR - directory of current script. +# PODS_ROOT - cocoapods installation directory (eg. ${SRCROOT}/Pods). +# +# Optional environment variables: +# SWIFTLINT_EXECUTABLE - path to swiftlint executable. +# SWIFTLINT_CONFIG_PATH - path to swiftlint config. +# +# Example of usage: +# swiftlint.sh +# swiftlint.sh Pods/Swiftlint/swiftlint build-scripts/xcode/.swiftlint.yml +# + +readonly SOURCES_DIRS=`. ${SCRIPT_DIR}/common/read_input_file_names.sh "\n" ${PROJECT_DIR}` + +if [ -z "${SWIFTLINT_EXECUTABLE}" ]; then + if [ ! -z "${1}" ]; then + readonly SWIFTLINT_EXECUTABLE=${1} + else + readonly SWIFTLINT_EXECUTABLE=${PODS_ROOT}/SwiftLint/swiftlint + fi +fi + +if [ -z "${SWIFTLINT_CONFIG_PATH}" ]; then + if [ ! -z "${2}" ]; then + readonly SWIFTLINT_CONFIG_PATH=${2} + else + readonly SWIFTLINT_CONFIG_PATH=${SCRIPT_DIR}/../.swiftlint.yml + fi +fi + +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} +done