xcop
.xcop file with defaults

此命令行工具驗證您的XML文件以進行正確的格式。如果未正確格式化,它將打印差異並帶有錯誤。您可以使用兩種方法:1)如果任何XML-ish文件(例如,XML,XSD,XSL或XHTML)未正確格式化,則無法正確格式化,而2)則使用--fix選項正確格式化它們。
首先閱讀此博客文章: XCOP - XML樣式檢查器。
確保已安裝Ruby,然後安裝該工具:
$ gem install xcop在本地運行並讀取其輸出:
$ xcop --help要驗證XML文件的格式,只需將其名稱作為參數傳遞:
$ xcop file1.xml file2.xml如果您的文件未正確格式並且xcop抱怨,您可以要求它“美化”它們,使用--fix選項:
$ 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
如果乾淨並且您看不到任何錯誤消息,請提交您的拉請請求。