2015-09-22 13 views
8

ben gibi komut satırı üzerinden geçirilen kendinden tanımlı sürümü ile JAR kurmak istiyorum.Project.version, gradle komut satırında sürüm özelliğini geçirerek nasıl ayarlanır? Böyle gradle inşa görevi yürütmesi zaman</p> <p>:</p> <pre><code>gradle build -Pversion=1.0 </code></pre> <p>myproject-1.0.jar oluşturulmalıdır

Ben build.gradle için aşağıdaki satırı ekleyerek denedim ama işe yaramadı:

version = project.hasProperty('version') ? project['version'] : '10.0.0' 
+0

yerine proje özelliği ('-P') ait (' -D') sistemi özelliği ekleyerek denediniz mi? –

+0

@MisaLazovic Bu işe yaramadı. –

+0

Aptalca bir şey, ama 'gradle [option] [task] 'biçiminde değil, gradle [task] [option]', yani gradle -Pversion = 1.0 build' biçimini deneyin. Şansın var mı? –

cevap

8

Bir göz atın, komut satırından proje özelliklerini varolan geçersiz kılmak mümkün değildir here. Yani sürümden farklı bir şey için bir sürüm değişkeni adlandırmak denemek ve benzeri komuta önce -P bayrağıyla bu ayarlanmalıdır: build.gradle

if (project.hasProperty('projVersion')) { 
    project.version = project.projVersion 
} else { 
    project.version = '10.0.0' 
} 

Yoksa yaptığımız gibi İle

gradle -PprojVersion=10.2.10 build 

sonra? : operatör

+0

veya: 'project.version = project.findProperty ('projVersion')?: '10 .0.0 ' – Ajax

+0

veya 'version = findProperty' projVersion '?: '10 .0.0', – Ajax

+0

brevitesine değer veriyorsanız veya yanıt gönderdiğim gibi:' version = (findProperty ('version') == 'unspecified')? '10 .0.0 ': sürüm' – Ajax

6

sen de yapabilirsiniz version giriş için gradle.properties dosyayı taşırsanız:

gradle clean build -Dorg.gradle.project.version=1.1 
+3

'-Dorg.gradle.project.version' uzun yol :-) :-) Aslında '-Pversion = 1.1' sağlamak için yeterli. – thokuest

+0

Evet, belki de olabilir. – Opal

13

Özelliklerin gradle.properties dosyasında olmasını ve yukarıdaki çözümün çalışması için build.gradle dosyasına başvurmanız gerektiğini buldum. Ayrıca, seçeneklerin komuttan önce geldiğinden emin olun (yukarıda belirtildiği gibi).

gradle.properties içeriği:

version=1.0.12 

build.gradle içeriği:

version "${version}" 

Sürüm sonra komut satırında geçersiz kılınabilir:

gradle -Pversion=1.0.13 publish 
+0

Bu, her build.gradle komut dosyasını karıştırmadan kolayca yeniden üretilebilen en iyi yanıttır. –

3

Eğer bir ihtiyaç varsa 'belirtilmemiş' dışındaki varsayılan sürüm:

komut satırı aracılığıyla
version = "${version != 'unspecified' ? version : 'your-default-version'}" 

Geçiş sürümü:

gradle build -P version=1.0 
1

version = (findProperty('version') == 'unspecified') ? '0.1' : version

İlgili konular