與TFS

2010-03-11 34 views
1

我們的代碼庫中非常小的一部分構建Java項目是一些遺留Java代碼。我試圖添加一個新的構建,將調用ant來構建此項目。與TFS

的第一個問題是,TFS不會允許你創建不建立一個.NET解決方案構建。我通過複製以前的構建文件並添加了一個EndToEndIteration任務(這是構建的入口點)來解決這個問題。

的問題是,沒有平時的積累變量都填充 - $(BuildDirectory),$(SolutionRoot) - 所有空白。這幾乎意味着我不能在不硬編碼路徑的情況下調用我的ant任務(我絕對不能這樣做)。

任何想法?

回答

1

感謝所有的答案。

最後,我使出包括旁邊的構建文件的空溶液。通過這種方式,所有變量都被填充,我只是簡單地包含了一個我做過的所有事情。

1

我認爲你正在使用這裏的工作錯誤的工具 - TFS絕不會比.NET應用程序建立任何其他一個很好的解決方案。我認爲你最好在獨立的能力中使用螞蟻。

+0

我猜...但TFS應該是獨立的語言...... – 2010-03-11 15:12:31

+0

@Andrew:** **從未是一個很長很長的時間:)有一對夫婦的倡議,以提供TFS建立其他平臺服務如Teamprise Build Extensions http://labs.teamprise。com/build /(2008)http://sstjean.blogspot.com/2010/02/teamprise-build-extensions-for-tfs-2010.html(2010)。有關TFS 2010中跨平臺計劃的更多信息:http://blogs.msdn.com/bharry/archive/2010/03/04/microsoft-visual-studio-team-explorer-2010.aspx – 2010-03-11 19:33:07

2
  1. 如果你不已經有一個,創建一個將存儲和檢索環境變量的任務時,你肯定會需要他們做什麼與Java相關的(我相信這是一個在MSBuild extension pack
  2. 創建自定義任務來包裝Ant或使用腳本任務從MSBuild Community Tasks收集
  3. 運行100萬次,並解決這些問題,當您去,它通常更容易和更快的命令行做到這一點,所以交朋友msbuild.exe終端
內部

你應該能夠在環境變量之間傳遞你想要的任何信息,使你想做的事情成爲可能。我不會爲你推薦硬編碼路徑,但你必須把配置放在某個地方,這完全是你想改變的東西和你想要組織的東西。如果你真的需要,你可以把所有的配置到一個數據庫,並與在上面的鏈接的SQL任務之一倒吸了一口,但只記得您添加了大量的複雜性可能是不必要的。

問自己:

  • 多久是這個值可能會改變嗎?
  • 什麼是全套,將需要更改,則它必須完成的任務嗎?

將答案寫在某處並確保團隊中的每個人都理解它。在我看來,構建系統「越少越好」。找到最簡單的方法來做到這一點,並做到這一點,直到變得不可接受,然後增加複雜性...... TFS已經夠複雜了。

3

你可能想看看Teamprise Build Extensions它允許從TFS構建Ant或Maven任務。

+0

Teamprise構建擴展可以究竟是提問者所追求的。您可以在將它指向Ant build.xml文件或Maven pom後,使用Teamprise客戶端爲您創建TFSBuild.proj文件。 – 2010-03-16 14:43:43