
Cet outil de ligne de commande valide vos fichiers XML pour une mise en forme appropriée. S'ils ne sont pas formatés correctement, il imprime la différence et sort avec une erreur. Vous pouvez l'utiliser deux façons: 1) pour échouer votre version si des fichiers XML-ESH (par exemple, XML, XSD, XSL ou XHTML) ne sont pas formatés correctement, et 2) pour les formater correctement en utilisant l'option --fix .
Lisez ce billet de blog en premier: XCOP - Vérificateur de style XML .
Assurez-vous que Ruby a installé Ruby, puis installez l'outil:
$ gem install xcopExécutez-le localement et lisez sa sortie:
$ xcop --helpPour valider le formatage de vos fichiers XML, passez simplement leurs noms comme arguments:
$ xcop file1.xml file2.xml Si vos fichiers ne sont pas formatés correctement et que xcop se plaint, vous pouvez lui demander de les "embellir", en utilisant --fix Option:
$ xcop --fix broken-file.xmlPour corriger tous les fichiers du répertoire, vous pouvez faire (ne fonctionnera pas si vos noms de fichiers contiennent des espaces):
$ xcop --fix $( find . -name ' *.xml ' ) Vous pouvez mettre des options de ligne de commande dans le fichier .xcop dans le répertoire où vous démarrez xcop . Chaque option doit prendre une seule ligne dans le fichier. Ils seront tous ajoutés à la liste des options que vous spécifiez. Par exemple, comme il a été suggéré dans cet article de blog:
--license=LICENSE.txt
--nocolor
--quiet
--include=**/*
--exclude=**/*.xsl
--exclude=**/*.html
Vous pouvez également créer un fichier ~/.xcop (dans votre répertoire personnel personnel), qui sera également lu et ajouté aux options de ligne de commande.
Rakefile ?C'est ce dont vous avez besoin là-bas:
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 Créez un nouveau fichier de workflow dans le référentiel sous .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 Pour personnaliser l'emplacement de la licence ou les fichiers, utilisez des entrées d'action license et files :
- uses : g4s8/xcop-action@master
with :
license : MY_LICENSE.txt
files : " src/*.xml " pom.xml ?Vous pouvez l'intégrer à l'aide de 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 ?Quelque chose comme ça devrait fonctionner:
< 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 >Lisez ces directives. Assurez-vous que vous construisez est vert avant de contribuer votre demande de traction. Vous devrez installer Ruby 2.3+ et Bundler. Alors:
$ bundle update
$ bundle exec rake
S'il est propre et que vous ne voyez aucun message d'erreur, soumettez votre demande de traction.