2014-09-03 35 views
8

Notlarımı proje konumlarının kendisinden başka konumlardan oluşturmaya çalışıyorum, ancak her zaman derleme görevi bulamadığını söylüyor.Herhangi bir konumdan dikey yapılandırma görevini yürütme

Ne yapmam gerektiğinde bugüne kadar çalıştı:

sudo

./myprojects/myapp/build ./myprojects/myapp/gradlew

sudo inşa ./myprojects/myapp/gradlew

Herhangi bir konumdan taslak oluşturma görevini nasıl uygularım?

+0

Sudo ile bir yapı çalıştırmanız gerekmemelidir. – Radim

cevap

11

Çeşitli insanlar, herhangi bir alt proje dizininden (çok projeli bir derlemede) gradlew dosyasını yürütmek için yazılmış (ve yayımlanan) komut dosyalarına sahiptir. Gradle'ı herhangi bir alt dizinden güvenilir bir şekilde yürütmek için "geçerli proje dizini" -p üzerinden ayarlanması gerekir. Bu kısıtlamanın kaldırılması iyi olurdu (bu, iyi bir özellik talebi oluşturacaktır).

+1

Teşekkür ederim, sudo ./myproject/myapp/gradlew -p/myproject/myapp/build ile çalışıyor;) Bu kısıtlamalar için herhangi bir neden var mı? Gözlerimde anlam ifade etmiyor –

+1

Gradle'ın "geçerli proje dizini" ne olduğunu bilmesi gerekiyor. Şu anda, geçerli proje dizini "geçerli proje dizini" varsayılan. Bir şey kaçırmadıkça, bunun yerine varsayılan olarak "en yakın altprogram dizini" olması mümkün olmalıdır. Bununla birlikte, bunun Gradle'ın içinde yapılması gerekir, çünkü sadece Gradle altproject dizinlerinin ne olduğunu bilir. –

+1

Çoğu zaman, "./gradlew: myapp: test" gibi komutları kullanarak kök projesinde geçerli dizini olan bir kabuktan görevleri çalıştırıyorum. – Radim

İlgili konular