"Firehose"는 코드 분석 도구 (예 : 컴파일러 경고, 정적 분석, 라이터 등)의 결과를 관리하기위한 파이썬 패키지입니다.
현재 GCC, Clang-Analyzer, CPPCheck 및 FindBugs의 출력을위한 파서를 제공합니다. 이 파서는 제공된 XML 형식을 통한 무손실 왕복 방법과 함께 결과를 Python 객체의 공통 데이터 모델로 변환합니다. JSON 동등한도 있습니다.
Firehose는 무료 소프트웨어이며 LGPLV2.1 또는 이후 버전에 따라 라이센스가 부여됩니다.
Python 2.7 또는 3.2 이후가 필요하며 PYPY로 성공적으로 테스트되었습니다.
현재 알파 품질입니다.
API 및 직렬화 형식은 아직 석재로 설정되어 있지 않습니다 (그리고 우리는 물건을 더 잠그기 전에 피드백을 듣고 싶어합니다).
동기 부여 : http://lists.fedoraproject.org/pipermail/devel/2012-december/175232.html
정적 코드 분석의 결과를 데이터베이스로 비방하고 싶습니다. 즉, 모든 결과를 공통 교환 형식으로 강요하는 것을 의미합니다. 코드 명 "Firehose"(데이터베이스 이름 일 수도 있음).
파이썬 객체 모음으로 형식으로 작업하기위한 간단한 Python API와 함께 (생성, XML에 쓰기, XML에서 읽기, 수정 등)
처음에는 JSON 사용을 고려했지만 여러 도구가이를 방출하려면 스키마에 대해 사물을 검증 할 수 있기 때문에 XML과 함께갔습니다 (Relax-NG 스키마 Firehose.rng 참조).
형식의 소스 파일에 대한 참조에는 소스 파일 자체의 해시 (예 : SHA-1)가 포함될 수 있으므로 말하는 소스 파일을 고유하게 식별 할 수 있습니다.
이 형식은 웹 UI의 DB로 빠져 나가며 서버가 필요없이 다른 작업을 수행 할 수 있습니다.
- emacs 등을 구문 분석하고 소스로 데려 갈 수 있도록 GCC 컴파일 오류의 텍스트 형식으로 변환하십시오.
- 워크 스테이션에서 로컬로 간단한 HTML 보고서로 바꾸십시오.
Firehose를 사용한 프로젝트 :
- Mock-With-Analysis는 소스 RPM을 재구성하여 4 가지 코드 분석 도구의 결과를 Firehose 형식으로 (모든 보고서에서 언급 된 모든 소스 파일과 함께) 캡처 할 수 있습니다.
- Cpychecker의 "Firehose"지점은 기본적으로 Firehose XML 보고서를 방출 할 수 있습니다.
- https://github.com/paultag/storz/blob/master/wrappers/storz-lintian