Tôi đang sử dụng Jenkins (Hudson) CI và mỗi đêm phân tích mã bằng cách sử dụng một số công cụ để hỗ trợ, bao gồm Codesniffer cho báo cáo Checkstyle. Tôi không thể bỏ qua thư mục ./framework/*
, nhưng nó nhấn mạnh vào việc bao gồm nó, bất kể những nỗ lực của tôi với thông số --ignore
.Tại sao CodeSniffer không bao gồm các thư mục được chỉ định --ignore?
Báo cáo được tạo và phân tích cú pháp thành công, nhưng không thực sự sử dụng bất kỳ đối với chúng tôi vì số lượng vi phạm nghiêm trọng các tiêu chuẩn mã hóa Pear trong khuôn khổ.
Codesniffer được gọi từ Ant build-kịch bản của tôi như thế này:
<target name="phpcs-ci" description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
<exec executable="phpcs" dir="${basedir}" output="${basedir}/build/logs/checkstyle.xml" failonerror="off">
<arg line="--report=checkstyle --standard=${basedir}/build/phpcs.xml --extensions=php --ignore=*/framework/* ${basedir}" />
</exec>
</target>
Tôi đã thử --ignore=framework
, --ignore=framework/
, và một trong những dòng trên, tất cả từ các ví dụ tôi đã tìm thấy khắp nơi trên web.
Tôi cũng đã thử sử dụng một dòng khác cho mỗi đối số (using < arg value"..." />
), nhưng không có kết quả.
Bất kỳ ý tưởng nào? nhiều đánh giá cao :)
Edit: Đối số --ignore bây giờ là:
--ignore=${basedir}/framework/
... Và vẫn còn, thư mục khuôn khổ đã được bao gồm. Có ai trên mạng có cấu hình PhpCodeSniffer đang hoạt động, với đối số --ignore, hoạt động không?
Vuốt các ngón tay tại đây
Cảm ơn, tôi sẽ thử nó ngay lập tức – Julian
Nogo:/Dòng arg hiện nay là: –
Julian