2012-12-20 90 views
1

我試圖使用Composer將google-api-php-client庫添加到我的項目中。最簡單的方法是從VCS主幹分支獲得圖書館,但我認爲這不是我最好的主意。指向一些穩定的庫狀態(標記或修訂)會好得多。鑑於沒有可用的標籤,獲得特定的svn修訂版是唯一的選擇。但我不知道如何做到這一點。如何爲Composer存儲庫定義顯式SVN修訂版?

我嘗試了不同的封裝CONFIGS沒有成功,這樣的事情:

{ 
    "repositories":[ 
    { 
     "type":"package", 
     "package":{ 
      "name":"project/google-api-php-client", 
      "version":"0.2.1", 
      "source":{ 
       "type":"svn", 
       "url":"http://google-api-php-client.googlecode.com/svn", 
       "reference":"trunk/?r=515" 
      } 
     } 
    } 
    ] 
} 

是否有可能在所有的結賬與作曲家SVN版本?提前致謝。

+0

好問題,我一直在想如何做一段時間,最後打破並閱讀代碼來弄清楚它是如何工作的。 –

回答

0

該版本可以設置在需求部分(你不顯示)。

唯一可用的SVN選項有:

{ 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "http://svn.example.org/projectA/", 
      "trunk-path": "Trunk", 
      "branches-path": "Branches", 
      "tags-path": "Tags" 
     } 
    ] 
} 

看的像你想使用一個包,但你也可以只定義這個倉庫和require適當的版本(你可以標記它更容易?)。

您也可以嘗試將修訂號改爲version參數,但我認爲這不會起作用。

同時,文檔狀態有關的「主幹」道:

由於顛覆了分支和標籤的沒有原生的概念,作曲家 假設默認代碼位於$網址/行李箱,$網址/分支 和$ url/tags。如果您的存儲庫具有不同的佈局,則可以使用 更改這些值。

+0

感謝您的回覆。正如你所說的,在'version'參數中加入版本號是行不通的。現在,我決定把這個庫單獨存放在我的項目中,而不是在Composer下。 –

1

當您定義版本時使用軟件包存儲庫,您可以在引用中指定修訂版本。從我的WordPress的一個例子composer.json

{ 
    "repositories": [ 
     "type": "package", 
     "package": { 
      "name": "wordpress-plugin/wp-minify", 
      "type": "wordpress-plugin", 
      "version": "1.2", 
      "source": { 
       "type": "svn", 
       "url": "http://plugins.svn.wordpress.org/wp-minify", 
       "reference": "[email protected]" 
      }, 
      "require": { 
       "composer/installers": "~1.0" 
      } 
     } 
    ] 
} 

這將安裝從與691320指定版本樹幹上的插件。

相關問題