2013-03-28 2 views

답변

1

FindBugs Eclipse 플러그인을 통해 실행할 때와 같이 FindBugs 결과를 Eclipse GUI에 멋지게 표시하려는 경우에는 쉽지 않습니다. 요청에 따라이 작업을 수행하려면 일부 개발이 필요할 것입니다.

FindBugs의 커밋 타임 실행은 FindBugs, FindBugs Eclipse 플러그인, Subversive Eclipse 플러그인 또는 Subclipse Eclipse 플러그인에서 바로 사용할 수 없습니다. TortoiseSVN은 FindBugs를 실행할 수있는 사전 커밋 작업을 지원하지만 Eclipse에서 실행되지 않으며 FindBugs 결과를 어떻게 든 FindBugs Eclipse 플러그인으로 다시 가져와야합니다. 커맨드 라인에서 SVN을 사용하는 일부 사람들은 svn 클라이언트가 커밋하기 전에 검사를 수행하기위한 래퍼 스크립트를 작성하지만, Subversive 또는 Subclipse 실행 파일을 쉽게 제어 할 수 없으므로 Eclipse에서이 문제를 매우 잘 해결하지 못합니다.

당신을 위해 무엇을 요구하는 가장 가까운 솔루션 : 파괴적인 이클립스 플러그인 후크를 커밋 추가하기위한 extension point을 제공하지만, 하나를 구현하는 사소한 일이 아니다 . 또한 FindBugs 결과에 대한 Eclipse 통합을 원한다면 FindBugs Eclipse 플러그인을 (직접 FindBugs 대신) 트리거 할 수 있도록 Subversive 확장을 Eclipse 플러그인으로 만들 필요가있을 것이다. 귀하의 프로필은 자바와 이클립스를 사용해 보았을 때 (그리고 아마도 FindBugs와 Subversive 커뮤니티와 공유하기에) 자바와 이클립스에 충분히 익숙 할 수도 있지만 도구가 진화함에 따라 상당한 유지 보수가 필요한 것처럼 보이기 때문에이 솔루션을 추천하는 것을 망설이다. .

기타 옵션 : 사전 커밋 작업으로 생각할 수있는 종속성은 Maven 또는 Ant (또는 다른 수많은 좋은 것들)와 같은 종속성을 관리하도록 설계된 도구로 남겨 두는 것이 가장 좋습니다. 또한 이러한 종류의 검사를 수행/수행하는 커밋 시간까지 기다리는 것이 최상의 방법이 아닙니다. 빌드주기의 초기 단계가 아닌 마지막 순간에 문제가 발견 될 수 있기 때문입니다. FindBugs 결과를 컴파일 시간에 사용할 수있게되었을 때, 그날의 마지막 커밋을 차단하고 싶은 사람은 누구입니까? 개미를 사용한다면 빌드 과정에 the FindBugs ant task을 추가하는 것이 좋습니다. 작은 Ant-fu를 사용하면 FindBugs Ant 태스크의 class 매개 변수를 사용하여 검사를 Subversion 저장소에서 변경된 항목으로 제한 할 수 있습니다.

FindBugs의 코드 피드백이 실제로 필요하지 않은 경우 (또는 이미 빌드에 포함되어있는 경우) 실제로 적용 메커니즘이 필요하면 Jenkins (jenkins- ci.org)에서 모든 체크 인 코드의 준수 여부를 테스트합니다. Jenkins는 Subversion과 잘 통합되어 모든 새 파일의 검사를 시행 할 수 있으며 원할 경우 시행을 하위 팀이나 하위 시스템으로 제한 할 수 있습니다. 위반이 발생하면이를 알 수 있으며 사람을 차단하지 않는 추가 이점이 있습니다 불편한 시간에 코드를 커밋하는 것.

+0

이것은 내가 생각했던 것보다 훨씬 더 많은 작업이되는 것 같습니다. 사실, 지금은이 일이 적어도 제게는 너무 많은 일입니다. 그것은 FindBugs를 사용하는 편리한 방법으로 생각되었지만, 이것을 구현하는 것이 불편할 수 있습니다. :) 그러나 매우 감사하고,이 문제를 푸는데 도움이 될 가능성이 매우 높습니다. 나는 시험 할 시간이 있었다! – devrys