2012-09-18 49 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的情況下運行。 –