2011-12-23 56 views
4

我有一个大型的Java项目,有成千上万的编译警告。我想找到一种方法来阻止开发者提交带有警告的文件,因此所有警告都会逐渐消失。如果我提交了一个编译错误的文件,Eclipse会显示一条错误消息,但我找不到任何方法来处理警告。我发现最接近的是Commit Commit警告检查器http://commitwarncheck.sourceforge.net/,但这并没有真正集成到提交过程中,它只是提供了一个视图。有没有更好的解决方案?使用eclipse防止将文件提交到SVN并发出警告

回答

6

我看到2个选项。首先,至少有Subclipse,这里有一个Eclipse首选项:Window/Preferences/Team/SVN /“Commit resources with warnings”。还有一个“错误”。两者都可以设置为“是”,“否”或“提示”。但是,这将要求您确保整个团队按照您的预期设置这些选项 - 并确保它们具有所有其他Eclipse首选项设置,以生成相同的错误/警告。

使用Subclipse 1.6.18:

enter image description here

另一种选择是利用SVN commit hooks,持续集成(CI)的过程基本上开端。你实际上可以检查一组有限的东西,并允许/拒绝当时的提交,但我会开始担心提交性能。一个更好的选择可能是运行构建的真正的CI过程(不管是预定的,还是潜在的甚至是每次提交的) - 并且如果检测到问题则以电子邮件或以其他方式警告开发人员。

后面这个选项的复杂性是以脚本方式重复Eclipse构建 - 包括检测所有Eclipse配置的错误和警告。 (如果有人发现了这样做的好方法,请告诉我们!Eclipse为使用它的代码格式化程序提供了一个脚本化选项,但是我没有看到类似的选项来使用Eclipse提供的检查来检查错误/警告。)

否则,您可能会更好地开始迁移到诸如CheckstyleFindBugs之类的工具,这些工具在Eclipse内部和外部都可以很好地工作。 (但是,回顾我上面的兴趣,我还没有发现任何几种工具的组合,包括这些工具 - 至少可以匹配Eclipse提供的相同检查。)将其与Maven/m2e相结合,提供一个通用构建配置/流程可以被Eclipse和你的CI系统共享,你应该保持良好的状态。

+0

我们有CI和声纳(checkstyle + PMD),但说实话,没有人真正关心通知。我们都受到时间压力,从来没有时间阅读这些电子邮件:)我有最新版本的subclipse,但没有你提到的选项。要么我完全失明,要么使用不同的版本。你有哪一个?你可以张贴截图吗? – 2011-12-23 17:28:08

+0

@PeterSzanto - 你的团队需要关心通知。一旦他们开始被认真对待,你的发展过程将会改善,你的时间压力应该会减少。就提到的Subclipse选项而言,我添加了一个截图。 – ziesemer 2011-12-23 17:54:32

+0

在问这里之前,我看了至少10倍的屏幕,但我总是专注于复选框,而不是单选按钮:)谢谢截图! – 2011-12-27 09:45:17