
이 명령 줄 도구는 XML 파일을 적절한 형식으로 확인합니다. 올바르게 형식화되지 않으면 차이를 인쇄하고 오류로 종료됩니다. 1) XML-ish 파일 (예 : XML, XSD, XSL 또는 XHTML)이 올바르게 형식화되지 않고 2)를 올바르게 사용하여 --fix 옵션을 사용하여 빌드에 실패하는 두 가지 방법을 사용할 수 있습니다.
이 블로그 게시물을 먼저 읽으십시오 : XCOP —XML 스타일 체커 .
루비가 설치되어 있는지 확인한 다음 도구를 설치하십시오.
$ gem install xcop로컬로 실행하고 출력을 읽으십시오.
$ xcop --helpXML 파일의 형식을 확인하려면 이름을 인수로 전달합니다.
$ xcop file1.xml file2.xml 파일이 올바르게 형식화되지 않고 xcop 불만을 제기하는 경우 --fix 옵션을 사용하여 "Beautify"를 요청할 수 있습니다.
$ xcop --fix broken-file.xml디렉토리의 모든 파일을 수정하려면 수행 할 수 있습니다 (파일 이름이 공백이 포함 된 경우 작동하지 않음).
$ xcop --fix $( find . -name ' *.xml ' ) xcop 시작하는 디렉토리에서 명령 줄 옵션을 .xcop 파일에 넣을 수 있습니다. 각 옵션은 파일에서 한 줄을 가져와야합니다. 그들은 모두 지정한 옵션 목록에 추가 됩니다. 예를 들어이 블로그 게시물에서 제안한대로 :
--license=LICENSE.txt
--nocolor
--quiet
--include=**/*
--exclude=**/*.xsl
--exclude=**/*.html
또한 ~/.xcop 파일 (개인 홈 디렉토리)을 만들 수 있으며 명령 줄 옵션을 읽고 추가 할 수도 있습니다.
Rakefile 에서 사용하는 방법?이것이 당신이 필요한 것입니다.
require 'xcop/rake_task'
desc 'Run XCop on all XML/XSL files in all directories'
Xcop :: RakeTask . new ( :xcop ) do | task |
task . license = 'LICENSE.txt' # no license by default
task . quiet = true # FALSE by default
task . includes = [ '**/*.xml' , '**/*.xsl' ] # xml|xsd|xhtml|xsl|html by default
task . excludes = [ 'target/**/*' ] # empty by default
end .github/workflows/xcop.yml 아래에서 새 워크 플로 파일을 작성하십시오.
---
name : XCOP
" on " :
# run on push to master events
push :
branches :
- master
# run on pull requests to master
pull_request :
branches :
- master
jobs :
build :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
- uses : g4s8/xcop-action@master 라이센스 위치 또는 파일을 사용자 정의하려면 패턴 사용 액션 입력 license 및 files :
- uses : g4s8/xcop-action@master
with :
license : MY_LICENSE.txt
files : " src/*.xml " pom.xml 에서 사용하는 방법?Maven-Antrun-Plugin의 도움으로 통합 할 수 있습니다.
< project >
[...]
< build >
[...]
< plugins >
[...]
< plugin >
< artifactId >maven-antrun-plugin</ artifactId >
< version >1.8</ version >
< executions >
< execution >
< phase >verify</ phase >
< configuration >
< target >
< apply executable = " xcop " failonerror = " true " >
< arg value = " --license " />
< arg value = " LICENSE.txt " />
< fileset dir = " . " >
< include name = " **/*.xml " />
< include name = " **/*.xsd " />
< exclude name = " target/**/* " />
< exclude name = " .idea/**/* " />
</ fileset >
</ apply >
</ target >
</ configuration >
< goals >
< goal >run</ goal >
</ goals >
</ execution >
</ executions >
</ plugin >
</ plugins >
</ build >
</ project >project.xml 에서 사용하는 방법?이와 같은 것이 효과가 있어야합니다.
< project >
[...]
< target name = " xcop " >
< apply executable = " xcop " failonerror = " true " >
< arg value = " --license " />
< arg value = " LICENSE.txt " />
< fileset dir = " . " >
< include name = " **/*.xml " />
< include name = " **/*.xsd " />
< exclude name = " target/**/* " />
< exclude name = " .idea/**/* " />
</ fileset >
</ apply >
</ target >
</ project >이 지침을 읽으십시오. 풀 요청을 기부하기 전에 빌드가 녹색인지 확인하십시오. Ruby 2.3+와 Bundler가 설치되어 있어야합니다. 그 다음에:
$ bundle update
$ bundle exec rake
깨끗하고 오류 메시지가 표시되지 않으면 풀 요청을 제출하십시오.