
Alat baris perintah ini memvalidasi file XML Anda untuk pemformatan yang tepat. Jika tidak diformat dengan benar, itu mencetak perbedaan dan keluar dengan kesalahan. Anda dapat menggunakannya dua cara: 1) untuk gagal build Anda jika ada file XML-ish (misalnya, XML, XSD, XSL, atau XHTML) tidak diformat dengan benar, dan 2) untuk memformatnya dengan benar menggunakan --fix opsi.
Baca posting blog ini terlebih dahulu: XCOP - XML Style Checker .
Pastikan Anda memasang Ruby dan kemudian menginstal alat:
$ gem install xcopJalankan secara lokal dan baca outputnya:
$ xcop --helpUntuk memvalidasi pemformatan file XML Anda, lewati nama mereka sebagai argumen:
$ xcop file1.xml file2.xml Jika file Anda tidak diformat dengan benar dan xcop mengeluh, Anda dapat memintanya untuk "mempercantik", menggunakan --fix opsi:
$ xcop --fix broken-file.xmlUntuk memperbaiki semua file di direktori yang dapat Anda lakukan (tidak akan berfungsi jika nama file Anda berisi spasi):
$ xcop --fix $( find . -name ' *.xml ' ) Anda dapat memasukkan opsi baris perintah ke dalam file .xcop di direktori tempat Anda memulai xcop . Setiap opsi harus mengambil satu baris dalam file. Mereka semua akan ditambahkan ke daftar opsi yang Anda tentukan. Misalnya, seperti yang disarankan dalam posting blog ini:
--license=LICENSE.txt
--nocolor
--quiet
--include=**/*
--exclude=**/*.xsl
--exclude=**/*.html
Anda juga dapat membuat file ~/.xcop (di direktori home pribadi Anda), yang juga akan dibaca dan ditambahkan ke opsi baris perintah.
Rakefile ?Inilah yang Anda butuhkan di sana:
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 Buat file alur kerja baru di repositori di bawah .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 Untuk menyesuaikan lokasi lisensi atau pola file menggunakan license input dan files :
- uses : g4s8/xcop-action@master
with :
license : MY_LICENSE.txt
files : " src/*.xml " pom.xml ?Anda dapat mengintegrasikannya dengan bantuan 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 ?Sesuatu seperti ini harus berhasil:
< 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 >Baca pedoman ini. Pastikan Anda membangun berwarna hijau sebelum Anda berkontribusi permintaan tarik Anda. Anda perlu menginstal Ruby 2.3+ dan Bundler. Kemudian:
$ bundle update
$ bundle exec rake
Jika bersih dan Anda tidak melihat pesan kesalahan, kirimkan permintaan tarik Anda.