2012-02-14 17 views
16
Ben jenkins ile PHP_CodeSniffer kullanıyoruz

Ignore nasıl benim Build.xmlHat Uzunluğu PHP_CodeSniffer

<target name="phpcs"> 
    <exec executable="phpcs"> 
     <arg line="--report=checkstyle --report-file=${basedir}/build/logs/checkstyle.xml --standard=Zend ${source}"/> 
    </exec> 
</target> 

aşağıda phpcs için yapılandırılan Ve şu uyarısını

FOUND 0 ERROR(S) AND 1 WARNING(S) AFFECTING 1 LINE(S) 
-------------------------------------------------------------------------------- 
117 | WARNING | Line exceeds 80 characters; contains 85 characters 
-------------------------------------------------------------------------------- 

görmezden istiyorum Çizgi uzunluğu uyarısını nasıl görmezden gelebilirim?

+0

Merhaba dextervip. Phpcs sonuçlarınızı yayınlamak için bir Jenkins eklentisi kullanıyor musunuz? Bunun Jenkins'de nasıl kurulduğunu bilmek istiyorum. Şerefe, ns – nonshatter

+1

@nonshatter Sonuçlarımı yayınlamak için Viols puglin kullanıyordum. Oldukça iyi çalışıyor, Sadece yükleyin ve projenizde xml dosyanıza bağlanın. – dextervip

+0

Teşekkürler @dextervip Bunu kontrol edeceğim. Dün, 'checkstyle' eklentisini kullanarak çalışan bir kurulum yaptım. Bazı trend grafikleri vb. Ile bazı güzel raporlama verir. Burada ilgilenenlere daha fazla bilgi için: http://stackoverflow.com/a/12197103/1016364 – nonshatter

cevap

35

Kendi standardınızı oluşturabilirsiniz. Zend bir oldukça basit (bu PEAR ile kurduktan sonra benim Debian kurulumunda /usr/share/php/PHP/CodeSniffer/Standards/Zend/ruleset.xml olduğunu). buna dayalı bir tane oluşturun, ancak görmezden hat uzunluğu bit:

<?xml version="1.0"?> 
<ruleset name="Custom"> 
<description>Zend, but without linelength check.</description> 
<rule ref="Zend"> 
    <exclude name="Generic.Files.LineLength"/> 
</rule> 
</ruleset> 

Ve --standard=/path/to/your/ruleset.xml ayarlayın. - mac/linux üzerinde

<!-- Lines can be N chars long (warnings), errors at M chars --> 
<rule ref="Generic.Files.LineLength"> 
    <properties> 
    <property name="lineLimit" value="N"/> 
    <property name="absoluteLineLimit" value="M"/> 
    </properties> 
</rule> 
+1

Teşekkür ederim, Ben de aradığım şey! – dextervip

+0

Merhaba Wrikken, kuralı düzenlemek için dosyayı nerede bulabileceğimi biliyor musunuz? Teşekkürler – nn2

+1

@DanJ .: belirtildiği gibi, mevcut kuralı düzenlemeyin, hoşunuza giden bir kural kümesini genişletmeyin ve birkaç kuralları yeniden yazın. Eğer dosyaya gerçekten ulaşmak istiyorsan, buna bağlı olarak, genellikle,/usr/share/php/'yerine cevabın içinde bir yerde takılıyorlar. – Wrikken

2
  1. Dosya Bul CodeSniffer/Standartlar/ARMUT/ruleset.xml: sadece bu tetiklenir önce Char sayımı kadar isterseniz

    İsteğe bağlı olarak, kuralı yeniden tanımlamak

    locate PEAR/ruleset.xml veya sudo find/-name "ruleset.xml"

  2. Sonra ruleset.xml aşağıdaki satırları bulmak gerekiyor: Eğer terminalde arama yapabilirsiniz

    <!-- Lines can be 85 chars long, but never show errors --> <rule ref="Generic.Files.LineLength"> <properties> <property name="lineLimit" value="85"/> <property name="absoluteLineLimit" value="0"/> </properties> </rule>

  3. Sadece ne istediğinizi numarayı 85 (çizginin maksimum uzunluğu) değiştirin.

Phpc'in varsayılan kodlama standardının PEAR standardı olduğuna dikkat edin. Yani bu konumda ruleset.xml dosyasını düzenlemeniz gerekiyor: CodeSniffer/Standards/PEAR/ruleset.xml