2013-07-05 14 views
11

grunt kullanılarak oluşturulan bir proje üzerinde çalışıyorum. npm install veya grunt mySetupTask sırasında kopyalamak/çekmek istediğim bir dış repo'ya (https://github.com/facebook/xctool) bağlıdır.Bir git projesini klonlamak/kullanıma hazır hale getirmek için bir görev

http://gruntjs.com/plugins/checkout adresinden grunt-gitco eklentisinin yollarını gördüm, ancak kullanılabilir görünmüyor.

Bunun için iyi bir başlangıç ​​noktası var mı?

cevap

14

Ya package.json bir npm postinstall script kurmak:

{ 
    "name": "mypackage", 
    "scripts": { 
     "postinstall": "git clone git://github.com/facebook/xctool.git" 
    } 
} 

Veya repo klonlamak için komut çalıştırmak için grunt-shell kullanın: Orada

grunt.initConfig({ 
    shell: { 
     gitclone: { 
      command: 'git clone git://github.com/facebook/xctool.git' 
     } 
    } 
}); 
+1

grunt-shell, gerçekten bu Gruntfile'da karşılaştığım diğer problemleri çözmemde yardımcı oldu (örn. Http://stackoverflow.com/questions/16711058/running-a-grunt-task-on-one-gruntfile-from-another). . Eklentiniz için çok teşekkürler! – xverges

+2

FYI: 'initConfig' nesnesinin bir kapanış ayracı (özellikle de 'shell' özellik nesnesi) eksik. SO, düzenlemeler için en az 6 karakter içermesinden dolayı değişikliği yapmama izin vermiyor. –

2

npm install desteğinin git URL'lerini desteklediğini biliyor muydunuz?

npm install git://github.com/facebook/xctool.git 

Docs

+1

teşekkürler. Farkında değildim. Ne yazık ki, ön koşul repo, package.json dosyası ile bir modül değil, node.js. için tamamen ilgisiz bir şey. npm bundan memnun değil. – xverges

4

şimdi bunun için bir Grunt eklentisi. O zaman müsait olup olmadığından emin değilim. Hala çalışmayla ilgili bazı sorunlar yaşıyorum.

https://npmjs.org/package/grunt-git

gitclone: 
    clone: 
    options: 
     repository: "https://github.com/imaginethepoet/autojqm" 
     branch: "master" 
     directory: "repo" 
İlgili konular