
Dieses Befehlszeilen -Tool bestätigt Ihre XML -Dateien für die ordnungsgemäße Formatierung. Wenn sie nicht korrekt formatiert sind, druckt es den Unterschied und beendet mit einem Fehler. Sie können es auf zwei Arten verwenden: 1), um Ihr Build nicht zu bestimmen, wenn XML-ISH-Dateien (z. B. XML, XSD, XSL oder XHTML) nicht korrekt formatiert werden und 2), um sie mithilfe --fix Option korrekt zu formatieren.
Lesen Sie diesen Blog -Beitrag zuerst: XCOP - XML Style Checker .
Stellen Sie sicher, dass Ruby installiert ist, und installieren Sie das Werkzeug:
$ gem install xcopFühren Sie es lokal aus und lesen Sie die Ausgabe:
$ xcop --helpUm die Formatierung Ihrer XML -Dateien zu validieren, übergeben Sie ihre Namen einfach als Argumente:
$ xcop file1.xml file2.xml Wenn Ihre Dateien nicht korrekt formatiert sind und xcop beschwert, können Sie sie bitten, sie mit der Option zu " --fix " zu "verschönern".
$ xcop --fix broken-file.xmlUm alle Dateien im Verzeichnis zu beheben, die Sie ausführen können (funktioniert nicht, wenn Ihre Dateinamen Leerzeichen enthalten):
$ xcop --fix $( find . -name ' *.xml ' ) Sie können Befehlszeilenoptionen in .xcop -Datei im Verzeichnis einfügen, in dem Sie xcop starten. Jede Option sollte eine einzelne Zeile in der Datei einnehmen. Sie alle werden der Liste der von Ihnen angegebenen Optionen hinzugefügt . Zum Beispiel, wie es in diesem Blog -Beitrag vorgeschlagen wurde:
--license=LICENSE.txt
--nocolor
--quiet
--include=**/*
--exclude=**/*.xsl
--exclude=**/*.html
Sie können auch ~/.xcop -Datei (in Ihrem persönlichen Heimverzeichnis) erstellen, das auch gelesen und zu den Befehlszeilenoptionen hinzugefügt wird .
Rakefile ?Das brauchst du dort:
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 Erstellen Sie eine neue Workflow -Datei in Repository unter .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 So können Sie den license oder files -Muster anpassen.
- uses : g4s8/xcop-action@master
with :
license : MY_LICENSE.txt
files : " src/*.xml " pom.xml ?Sie können es mit Hilfe von Maven-Antrun-Plugin integrieren:
< 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 ?So etwas sollte funktionieren:
< 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 >Lesen Sie diese Richtlinien. Stellen Sie sicher, dass Sie bauen, bevor Sie Ihre Pull -Anfrage beisteuern. Sie müssen Ruby 2.3+ und Bundler installieren lassen. Dann:
$ bundle update
$ bundle exec rake
Wenn es sauber ist und Sie keine Fehlermeldungen sehen, senden Sie Ihre Pull -Anfrage.