2012-09-18 50 views
4

我试图简化一个由八个或九个开发人员组成的团队的开发过程。作为其中的一部分,我将我们的项目转移到git和Maven。Project + per-developer nbactions.xml?

我们的项目使用了一些自定义的Maven目标来支持我们的git工作流程。在我们的主要开发平台NetBeans中,我可以通过项目上下文菜单下的“Custom”子菜单来配置这些自定义目标,这对于本科生来说非常友好和理想,项目。

我从.gitignore省略nbactions.xml和,令人高兴的是,这意味着每当有新的开发商推倒的代码,并与NetBeans打开了Maven项目,他们得到了自定义操作(这需要一些令人恐怖的配置)是免费的。

不幸的是,当开发人员配置其运行/调试设置和运行项目,其运行/调试/型材行动被添加到nbactions.xml,然后被提交,和软管其他人的私人工作流程时,他们未来拉下代码。

有没有办法将运行/调试配置中的“自定义”子菜单(或某些用于触发特定Maven目标的简单机制)中可用的操作分开,以便一个可以被版本控制而另一个被忽略?

“坚持每个人都使用相对路径”并不是一个很好的开始,但它特别不适合我们的目的,人们经常需要将他们的VM的工作目录指向他们保存的不同的任意目录到他们自己的计划。

+0

您可以上传'nbactions.xml'并在自定义的'dev_setup.sh'或其他东西中告诉git忽略'git update-index --assume-unchanged nbactions.xml'的本地更改。 –

回答

3

经过相当多的研究后,它看起来像没有办法做到我想要的。在这里看到:

http://netbeans.org/bugzilla/show_bug.cgi?id=162764

这将是有益的,如果nbactions.xml和NB-configuration.xml中以相同的方式 作为父POM行动:如果我在一个父项目有nbaction.xml那么所有 操作都将被继承。

这基本上是我想要的—每个开发人员自定义操作“继承”项目自定义操作。回应:

也许不切实际......

和票据设置解决/ WontFix。


所以,就目前而言,这是我的下一个最好的事情:

的NetBeans允许对其中运行/调试/个人资料,以及所有的自定义操作,可以独立地定义不同的执行配置文件。每个配置文件都存储在一个单独的nbactions-XXX.xml中,其中XXX是配置文件的名称。所以,我可以将nbactions-*.xml放入.gitignore,但是对于nbactions-GroupGlobals.xml应该例外。

这不太理想 - 使用我的自定义目标之一意味着右键单击该项目,进入配置文件菜单,选择GroupGlobals配置文件,再次右键单击该项目,转到自定义目标,运行我的目标,再次右键单击项目,转到配置文件,然后选择默认流程。

尽管如此,我怀疑它对于我的一些开发人员来说不会比命令行更可怕。

虽然我仍然在寻找更好的解决方案。

+0

我无法在Netbeans 7.0.1中使用它。如果一个同事从CVS中撤出了这个项目,他就没有新的菜单。 –

0

在IntelliJ IDEA中,您可以从列表中运行任何蚂蚁目标或maven目标(甚至可以为其分配密钥)。我很确定Netbeans中有类似的东西。所以,而不是利用netbeans特定的东西,你可以做它蚂蚁/ maven配置。当然,这些目标不应该要求任何参数/调整/等。您可以将本地设置分隔为一个单独的文件(包含在主蚂蚁脚本中或settings.xml或OS env中或其他内容中)。

+0

感谢您的回应!这与我想要做的一致。 Maven的目标已经存在。我试图达到的目标是触发这些目标应该是我们的“官方”IDE上的零配置点击活动。我们有很高的人员流动率,很多进来的人都是没有git/Maven经验的大学生,或者在配置他们的IDE超出F6的情况下运行。 –