2012-08-29 71 views
4

我創建將由SVN倉庫的通用代碼-phonegap

Android 
Windows phone 
iOS 
BlackBerry 

支持到目前爲止,主要的開發在Android和所有的JS/HTML碰巧被複制到其他平臺的PhoneGap應用程序。繼續前進,我們必須爲所有平臺保留不同的存儲庫,以便於維護。

我能想到的一個顯而易見的方式是爲每個平臺創建一個文件夾並在其中維護代碼。但在這種情況下,如果我們正在修改任何www(JS/HTML/CSS/Images)內容,我們需要手動複製到所有的回購站。

有沒有更好的方法來處理常見的文件,或將同一個文件複製到4個位置是唯一的出路?

回答

2

一個可能的解決辦法是你的代碼分成下列文件夾/庫:

  • 通用 - 包含所有與平臺無關的文件
  • 機器人 - 包含Android的特定文件
  • 窗口 - 包含特定的窗口files
  • ios - 包含ios特定文件
  • blackberry - 包含黑莓特定文件

,然後創建一個小腳本,可以通過執行以下步驟這些文件創建一個有效的項目:

  • 副本common文件夾中的所有文件到target文件夾
  • 複製文件的平臺文件夾(例如機器人)到target文件夾(覆蓋現有文件)
  • 包中的目標文件夾的應用程序包和設備上部署

所以你只有在一個位置來改變與平臺無關的,仍然有更改爲添加平臺特定的代碼(或覆蓋特定平臺的通用代碼)。

+0

你可以發佈一些示例腳本設置這個.. – gviswanathan

2

您可以使用"Externals"。外部存儲庫允許您在給定的回購庫中包含單獨的存儲庫 - 因此,在設備特定的存儲庫中,可以包含常見的「JS/HTML」存儲庫。

實際上,我們已經離開了這種方法,因爲它意味着每次有人在共享庫中提交新版本時,該更改立即傳播到其他存儲庫。這可能會導致管理這些依賴關係的問題 - 所以我們使用構建腳本檢查共享庫中的特定版本,作爲構建過程的一部分。

0

您應該使用gruntjs構建您的應用程序