Swift Lint는 Danger와 결합해야만 진정한 가치를 발휘할 수 있습니다.
TL;DR
앞말
Swift 개발뿐만 아니라 집단 개발할 때도 정적 분석 도구(Lint)를 넣겠죠.
예에서 빠지지 않고 Swift에도 Lint가 존재하지만 Lint를 가져와도 개발을 잠시 닫는 등 효과가 없을 때가 있다.
그리고 이렇게 PR을 통해 올라왔을 때 원래 Lint에 있을 때 수정해야 할 부분을 논평할 수밖에 없는 상황이 있었어요.
이거 말하는 쪽이랑 듣는 쪽이 다 싫은 것 같아요, 웃음.
따라서 홍보할 때 Danger를 사용하여 정신 위생을 유지하는 것이 목적이다.
※ 이번에는 Bitrise/fastlane 사용을 전제로
SwiftLint
SwiftLint란 무엇입니까?
다시 한 번 SwiftLint는 Swift에서 사용하는 정적 분석 도구입니다.
중첩의 깊이, KeyValue의 콜론으로 공간을 여는 등의 규칙은 자신의 개발 환경에 따라 검사할 수 있습니다.
SwiftLint용 GitHub 저장소
https://github.com/realm/SwiftLint
설정 방법
Gemfile 및 Podfile 우선 설정
Gemfilegem 'danger'
gem 'danger-swiftlint'
Podfile# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'
target 'MyApp' do
use_frameworks!
pod 'SwiftLint'
end
다음은 응용 프로그램의 디렉터리 바로 아래에 .swiftlint.yml
파일을 준비합니다.
.swiftlint.ymlexcluded:
- Carthage
- Pods
opt_in_rules:
- empty_count
- explicit_init
- closure_spacing
- overridden_super_call
- redundant_nil_coalescing
- private_outlet
- nimble_operator
- attributes
- operator_usage_whitespace
- closure_end_indentation
- first_where
- object_literal
- number_separator
- prohibited_super_call
- fatal_error_message
disabled_rules:
- trailing_whitespace
- cyclomatic_complexity
- function_body_length
- type_name
- shorthand_operator
- multiple_closures_with_trailing_closure
- closure_end_indentation
- empty_count
- identifier_name
- force_cast
- file_length
- type_body_length
- unused_setter_value
- function_parameter_count
# Custom rules
identifier_name:
min_length: 1
force_cast: warning
force_try:
severity: warning
number_separator:
minimum_length: 5
large_tuple: 3
Lint에 관한 규칙은 전부 설명할 수 없습니다. 반드시 공식 자료 라이브러리를 보십시오.
SwiftLint 가져오기는 여기까지입니다.
개발 중인 구축마다 정적 분석을 하면 Xcode에서 설정하고 이번에는 설명을 생략합니다.
GitHub의 정적 분석 방법을 설명할 수 있습니다.
fastlane danger action
fastlane 기본값은danger를 지원하며 .swiftlint.yml
정적 분석을 사용할 수 있습니다.
fastlane danger의 공식 문서는 여기.
Step은 아주 간단합니다.
1. Dangerfile 준비
응용 프로그램의 디렉터리 바로 아래에 설정합니다Dangerfile
.
Dangerfile# Check and comment on swiftlint only in the range corrected by PR
github.dismiss_out_of_range_messages
swiftlint.config_file = '.swiftlint.yml' # ここで.swiftlint.ymlのパスを指定
swiftlint.lint_files inline_mode: true
2. Fastfile에서 danger 액션을 설명합니다.
이번에는 Pull Request 때 Danger에 불을 붙이고 싶으니 Pull Request 때 주행하는 lane에 danger action을 기술하세요.
Fastfiledesc "Pull Request時に走るlane"
lane :run_when_pr do |options|
cocoapods
danger # <- ここでdanger actionを記述!
match
gym
crashlytics
end
기본적으로 옵션을 지정하지 않아도 이렇게 쓰기만 하면 움직여야 한다.
danger 이외의 액션은 적당합니다. 적당히 설정하십시오.
Bitrise로 표시
Bitrise의 WorkflowSecrets
탭에서 설정DANGER_GITHUB_API_TOKEN
합니다.
GitHub의 영패 획득 방법은 ↓ 기사에서 간단명료하게 정리했다.
GitHub "인원 access tokens" 설정 방법
자동 끌기 요청 보기
다음은 Pull Request를 꺼내보세요.
정적 분석과 관련이 있다면 이런 느낌을 마음대로 논평할 수 있다!
총결산
SwiftLint, 어렵게 가져오면 확실히 효과를 발휘하고 싶어서 Pull Request 때 진행하는 것이 유익합니다.
우리 자동화 평론을 통해 조그마한 초조함을 줄이고 정신 건강한 개발 생활을 합시다!
Reference
이 문제에 관하여(Swift Lint는 Danger와 결합해야만 진정한 가치를 발휘할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tihimsm/items/51b76c60eac763f3fe16
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
SwiftLint란 무엇입니까?
다시 한 번 SwiftLint는 Swift에서 사용하는 정적 분석 도구입니다.
중첩의 깊이, KeyValue의 콜론으로 공간을 여는 등의 규칙은 자신의 개발 환경에 따라 검사할 수 있습니다.
SwiftLint용 GitHub 저장소
https://github.com/realm/SwiftLint
설정 방법
Gemfile 및 Podfile 우선 설정
Gemfile
gem 'danger'
gem 'danger-swiftlint'
Podfile# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'
target 'MyApp' do
use_frameworks!
pod 'SwiftLint'
end
다음은 응용 프로그램의 디렉터리 바로 아래에 .swiftlint.yml
파일을 준비합니다..swiftlint.yml
excluded:
- Carthage
- Pods
opt_in_rules:
- empty_count
- explicit_init
- closure_spacing
- overridden_super_call
- redundant_nil_coalescing
- private_outlet
- nimble_operator
- attributes
- operator_usage_whitespace
- closure_end_indentation
- first_where
- object_literal
- number_separator
- prohibited_super_call
- fatal_error_message
disabled_rules:
- trailing_whitespace
- cyclomatic_complexity
- function_body_length
- type_name
- shorthand_operator
- multiple_closures_with_trailing_closure
- closure_end_indentation
- empty_count
- identifier_name
- force_cast
- file_length
- type_body_length
- unused_setter_value
- function_parameter_count
# Custom rules
identifier_name:
min_length: 1
force_cast: warning
force_try:
severity: warning
number_separator:
minimum_length: 5
large_tuple: 3
Lint에 관한 규칙은 전부 설명할 수 없습니다. 반드시 공식 자료 라이브러리를 보십시오.SwiftLint 가져오기는 여기까지입니다.
개발 중인 구축마다 정적 분석을 하면 Xcode에서 설정하고 이번에는 설명을 생략합니다.
GitHub의 정적 분석 방법을 설명할 수 있습니다.
fastlane danger action
fastlane 기본값은danger를 지원하며 .swiftlint.yml
정적 분석을 사용할 수 있습니다.
fastlane danger의 공식 문서는 여기.
Step은 아주 간단합니다.
1. Dangerfile 준비
응용 프로그램의 디렉터리 바로 아래에 설정합니다Dangerfile
.
Dangerfile# Check and comment on swiftlint only in the range corrected by PR
github.dismiss_out_of_range_messages
swiftlint.config_file = '.swiftlint.yml' # ここで.swiftlint.ymlのパスを指定
swiftlint.lint_files inline_mode: true
2. Fastfile에서 danger 액션을 설명합니다.
이번에는 Pull Request 때 Danger에 불을 붙이고 싶으니 Pull Request 때 주행하는 lane에 danger action을 기술하세요.
Fastfiledesc "Pull Request時に走るlane"
lane :run_when_pr do |options|
cocoapods
danger # <- ここでdanger actionを記述!
match
gym
crashlytics
end
기본적으로 옵션을 지정하지 않아도 이렇게 쓰기만 하면 움직여야 한다.
danger 이외의 액션은 적당합니다. 적당히 설정하십시오.
Bitrise로 표시
Bitrise의 WorkflowSecrets
탭에서 설정DANGER_GITHUB_API_TOKEN
합니다.
GitHub의 영패 획득 방법은 ↓ 기사에서 간단명료하게 정리했다.
GitHub "인원 access tokens" 설정 방법
자동 끌기 요청 보기
다음은 Pull Request를 꺼내보세요.
정적 분석과 관련이 있다면 이런 느낌을 마음대로 논평할 수 있다!
총결산
SwiftLint, 어렵게 가져오면 확실히 효과를 발휘하고 싶어서 Pull Request 때 진행하는 것이 유익합니다.
우리 자동화 평론을 통해 조그마한 초조함을 줄이고 정신 건강한 개발 생활을 합시다!
Reference
이 문제에 관하여(Swift Lint는 Danger와 결합해야만 진정한 가치를 발휘할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tihimsm/items/51b76c60eac763f3fe16
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# Check and comment on swiftlint only in the range corrected by PR
github.dismiss_out_of_range_messages
swiftlint.config_file = '.swiftlint.yml' # ここで.swiftlint.ymlのパスを指定
swiftlint.lint_files inline_mode: true
desc "Pull Request時に走るlane"
lane :run_when_pr do |options|
cocoapods
danger # <- ここでdanger actionを記述!
match
gym
crashlytics
end
Bitrise의 Workflow
Secrets
탭에서 설정DANGER_GITHUB_API_TOKEN
합니다.GitHub의 영패 획득 방법은 ↓ 기사에서 간단명료하게 정리했다.
GitHub "인원 access tokens" 설정 방법
자동 끌기 요청 보기
다음은 Pull Request를 꺼내보세요.
정적 분석과 관련이 있다면 이런 느낌을 마음대로 논평할 수 있다!
총결산
SwiftLint, 어렵게 가져오면 확실히 효과를 발휘하고 싶어서 Pull Request 때 진행하는 것이 유익합니다.
우리 자동화 평론을 통해 조그마한 초조함을 줄이고 정신 건강한 개발 생활을 합시다!
Reference
이 문제에 관하여(Swift Lint는 Danger와 결합해야만 진정한 가치를 발휘할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tihimsm/items/51b76c60eac763f3fe16
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
SwiftLint, 어렵게 가져오면 확실히 효과를 발휘하고 싶어서 Pull Request 때 진행하는 것이 유익합니다.
우리 자동화 평론을 통해 조그마한 초조함을 줄이고 정신 건강한 개발 생활을 합시다!
Reference
이 문제에 관하여(Swift Lint는 Danger와 결합해야만 진정한 가치를 발휘할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tihimsm/items/51b76c60eac763f3fe16텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)