Pre-commit-Golang v1.0.0-beta.1 – 이제 사용자 지정 이동 도구 실행을 지원합니다.
에 대한
pre-commit-golang은 단일 저장소, 모든 후크에 인수를 전달하는 기능 및 사용자 정의 이동 도구를 호출하는 기능을 지원하는 Golang용 pre-commit 후크 세트입니다.
빠른 링크: Project Page | Available Hooks | Installation | Releases
출시 발표: v1.0.0-beta.1
드디어 v1.0.0이 출시된다는 소식을 전하게 되어 기쁩니다!
이 릴리스는 내가 v1.0.0에 도달하고 싶었던 두 가지 가장 큰 것을 달성합니다.
이 두 가지에 대해 자세히 알아보려면 아래를 읽어보세요.
자세한 문서는 project's readme을 참조하십시오.
참고: 이 릴리스의 새 코드 범위를 고려하여 야생에서 시간이 될 때까지 먼저
beta
로 릴리스합니다.많은 로컬 테스트를 수행했지만 아직 프로젝트에 대한 자동화된 테스트 제품군이 없으므로 발견하면 잠시 시간을 내어 보고issues하십시오.
사용자 정의 도구 호출
이 프로젝트에는 많은 인기 있는 go 도구에 대한 내장 후크가 포함되어 있지만 사용자가 사용하려는 모든 도구에 대한 내장 후크를 포함하는 것은 불가능합니다.
이러한 사용자를 수용할 수 있도록 이 릴리스에는 사용자 지정 이동 도구를 호출하는 기능이 도입되었습니다.
my-cmd-*
후크를 사용하여 다양한 컨텍스트에서 사용자 정의 이동 도구를 호출할 수 있습니다.후크 ID
설명
my-cmd
준비된 각 .go 파일에 대해 실행'$ARGS[0] [$ARGS[1:]] $FILE'
my-cmd-mod
준비된 각 .go 파일에 대해 실행'cd $(mod_root $FILE); $ARGS[0] [$ARGS[1:]] ./...'
my-cmd-pkg
준비된 각 .go 파일에 대해 실행'$ARGS[0] [$ARGS[1:]] ./$(dirname $FILE)'
my-cmd-repo
repo 루트 폴더에서 실행'$ARGS[0] [$ARGS[1:]]'
my-cmd-repo-mod
리포지토리의 각 모듈에 대해 실행'cd $(mod_root); $ARGS[0] [$ARGS[1:]] /...'
my-cmd-repo-pkg
repo 루트 폴더에서 실행'$ARGS[0] [$ARGS[1:]] ./...'
후크 구성
my-cmd 후크는 실행할 도구 지정(예: 위의
args
)을 포함하여 사전 커밋$ARGS[0]
속성을 통해 완전히 구성됩니다.예
다음은 아직 포함되지 않은 경우 my-cmd 후크를 사용하여 호출
go test
하는 방법의 예입니다..pre-commit-config.yaml
# ...
hooks:
# Run 'cd $(mod_root $FILE); go test ./...' for each staged .go file
- id: my-cmd-mod
name: go-test-mod
alias: go-test-mod
args: [ go, test ]
중복 코드 제거
이 릴리스는 코드를 크게 리팩토링하여 공통 논리를 lib/폴더로 이동하고 가능한 한 많은 코드 중복을 제거합니다.
예를 들어, 다음은
go-lint.sh
의 전체 내용입니다.#!/usr/bin/env bash
# shellcheck disable=SC2034 # vars used by sourced script
error_on_output=0
cmd=(golint -set_exit_status)
# shellcheck source=lib/cmd-files.bash
. "$(dirname "${0}")/lib/cmd-files.bash"
그게 다야!
이렇게 하면 새 후크를 훨씬 쉽게 추가할 수 있을 뿐만 아니라 모든 후크에서 향후 버그 수정 및 공통 코드 개선 사항을 활용할 수 있습니다.
Reference
이 문제에 관하여(Pre-commit-Golang v1.0.0-beta.1 – 이제 사용자 지정 이동 도구 실행을 지원합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tekwizely/pre-commit-golang-v1-0-0-beta-1-now-with-support-for-running-custom-go-tools-eo9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)