프로젝트를 항상 Dart 형식으로 만드는 2단계
1. 로컬 사전 커밋 후크
커밋하기 전에 소스가 다트 형식에 맞는지 확인할 수 있는 사전 커밋 후크를 Flutter 프로젝트에 추가했습니다.
.git/hooks
를 열고 파일pre-commit
을 만듭니다. chmod +x pre-commit
을 실행하여 파일을 실행 가능하게 만듭니다. pre-commit
파일을 업데이트합니다. #!/bin/sh
DARTFMT_OUTPUT=`dart format lib test | grep "0 changed"`
if [ -n "$DARTFMT_OUTPUT" ]; then
echo "[pre-commit] All Dart files are formatted."
echo "[pre-commit] $DARTFMT_OUTPUT"
exit 0
else
echo "[pre-commit] Files are changed, please verify and re-attempt commit"
echo "[pre-commit] $DARTFMT_OUTPUT"
exit 1
fi
2. PR 병합 전 테스트
많은 플랫폼에서 맞춤형 CI 작업을 제공하여 PR을 병합하기 전에 테스트를 수행할 수 있습니다. 예를 들어 GitHub Action, GitLab CI 및 CodeMagic에서 형식 테스트를 수행할 수 있습니다. 비용과 사용하는 플랫폼에 따라 모든 플랫폼을 구현할 필요가 없습니다. 이러한 움직임은 모든 공동 작업자가 개발자가 아닌 일부 상황 때문에 웹 포털에서 만든 커밋으로 인해 잘못된 형식이 발생하는 것을 방지하기 위한 것입니다.
GitHub 작업
GitHub를 사용하는 프로젝트의 경우
.github/workflows/
에 yaml 파일을 추가하겠습니다. 예를 들어 이것은 내 .github/workflows/dart-format.yaml
이며 웹에서 직접 일부 리뷰를 병합하여 실수로 다트 형식이 잘못되는 것을 방지하기 위해 풀 요청 시 한 번 실행됩니다.name: Dart-Format
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
container:
image: google/dart:latest
steps:
- uses: actions/checkout@v2
- name: Print Dart SDK version
run: dart --version
- name: Verify formatting
run: dart format --output=show --set-exit-if-changed .
깃랩 CI
마찬가지로 GitLab은 다른 상황에서 다른 작업을 수행하도록 파일 선언을 설정할 수도 있습니다. 프로젝트에
.gitlab-ci.yml
를 생성하겠습니다. 다음 파일은 무언가를 푸시했을 때 다트 형식 검사를 실행합니다.stages:
- test
dart-format-test:
image: cirrusci/flutter
stage: test
script:
- flutter format lib test --set-exit-if-changed
only:
- pushes
코드매직
사전 테스트 부분에 로컬과 동일한 bash 스크립트를 넣었습니다. 형식이 올바르지 않으면 곧 추가 작업을 중지하고 나에게 알립니다.
내용이 마음에 드셨다면 지원해주세요🍖
연결🍻
Reference
이 문제에 관하여(프로젝트를 항상 Dart 형식으로 만드는 2단계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/maylau/2-steps-to-make-project-always-in-dart-format-jak텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)