簡體   English   中英

從Maven原型初始化Mercurial存儲庫

[英]Initializing a Mercurial Repository from a Maven Archetype

為了使開發人員更容易上手,我實現了一個Maven Archetype,它生成了一個針對我們的環境量身定制的項目。 原型工作得很好,但是未能在一個關鍵點上完成設置:生成的項目缺少Mercurial存儲庫。

有什么辦法可以從原型運行hg init

此請求的核心原因是,我想減少開發人員在創建和配置新產品時必須執行的步驟。 可能需要創建多達五個或更多模塊,每個模塊都需要自己的簽入。 這些模塊無意分組為EAR捆綁包,因為它們可以在體系結構中獨立部署。

答案是“不,沒有解決辦法”是可以接受的。 這是關於通過自動化優化零到運行時間。 如果不能使用Maven的機制將其自動化,那么我寧願不實施解決方案也不願找到不合標准的解決方案。

我考慮過的一種解決方案是使用ANT插件從命令行調用hg 我不喜歡此解決方案的部分是它依賴於用戶在路徑中具有Mercurial可執行文件。 這是一個可能導致故障點的依賴關系。 這樣的故障點會使初始設置復雜化,而不是像預期的那樣簡化它。 (因此,為什么“沒有解決方案”是一個可行的答案。)

謝謝大家到目前為止的建議!

為什么不編寫自己的Maven插件來進行hg init以及您需要的其他功能呢? 這樣編寫基本的Maven插件並不難。

我個人將獲得scm插件的源並將init目標添加到該插件。 那將是最干凈的方法。

在我看來,在scm插件中沒有init目標似乎是一個明顯的遺漏。 如果您提交更改,它甚至可能重新變成主要代碼。

不,我知道。 手動創建hg init后,要運行的代碼有很多嗎? 或者將腳本放入原型中,該腳本將被手動調用..這不會改變任何事情,但是您可以在其中定義默認行為。

您為什么要每個開發人員使用hg init創建一個Mercurial存儲庫? 您需要的是每個開發人員都可以通過克隆中央hg存儲庫來開始。 可以使用scm:bootstrapscm:checkout類的Maven scm插件目標來完成此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM