Sadece bir Ant + Ivy ve Maven arka planından gelen Gradle'ı öğreniyorum ve başımın uygun bir şekilde yayınlanmasına çalışıyorum. gradle kullanarak yazılım. Projeleri sürekli olarak bağımsız eserler bırakmadan sürekli olarak entegre etmem gerekiyor. Ant + Ivy dünyasında Ant + IvySürekli Entegrasyonu ile Gravürde Anlık Görüntüyü Yayınla Yayınla Yayınla
, ben publishSnapshot ve publishRelease hedefleri oluşturabilirsiniz. Bunların her biri, Nexus'taki ayrı fotoğrafımı çözmek veya yayınlamak ya da yayınları yayınlamak için farklı Ivy çözümleyicileri kullanabilir. Maven ile
Maven
, ben maven benim ayrı fotoğraf yayımlamak veya Nexus depoları serbest olması benim distributionManagement
bölümünde snapshotRepository
veya repository
bir tanımlayabilir.
Gradle
Şimdi gradle girin. Bu aynı işlevselliği nasıl sağlayabilirim? Ivy tarzı depoları kullanıyorum.
Sağladığınız bilgiler için teşekkür ederiz. René cevabı
CEVAP
Teşekkür aşağıda, sonunda çalışılabilir bir çözüm oluşturmak başardı. Konunun özü, tüm projelerimde sürekli olarak entegre olmam gerektiğiydi. Bunu yapmak için latest.integration
versiyon numarasını kullanarak bağımlılığı bildirmenin kütüphanelerimin en son sürümünü çekmenin tek yolu olduğunu düşündüm ve bu yüzden sarmaşık havuzlarını kullanmam gerekti. Aslında, yazılımımı tüm projelere sürekli olarak entegre etmek için kütüphanelerin en son sürümlerini kullanmanın başka yolları da vardır. Çözüm, tam olarak aşağıdaki listede olduğu gibi uploadArchives
'u kullanmaktır (bunun işe yaraması için apply plugin: 'maven'
'a ihtiyaç duyacağınızı da unutmayın. Depolarınızın da maven tarzı olduğundan emin olun ve bağımlılık bildirirken, here gösterildiği gibi dinamik sürüm numaralarını kullanabilirsiniz. Benim durumumda, common.gradle ve alt proje projelerinde global bir sürüm numarası listeledim, global sürüm değişkenine referans vermek için version: version
kullandım.Bu şekilde, sistemimdeki her bir eser aynı sürümde bulunuyor. Ben 1.0 1.0-SNAPSHOT bu değiştirip sırayla her birini inşa edebilirsiniz.
üzgünüm, sarmaşık tarzı kullanıyorum açıklık gerekirdi depoları. Soruyu güncelleyeceğim. – dev
Nexus, sarmaşık stil depolarını desteklemiyor. Maven, Gradle, Gant, sbt, Leiningen, Ivy ve diğerleri de dahil olmak üzere tüm yapı araçları tarafından anlaşıldığı için Maven bir depo formatı kullanmak daha iyi olur. –
Ivy ayarları ile Nexus'a yayınlayabiliyorum gibi görünüyor mu? Latest.integration kullanabilmek için sarmalayıcı olarak yayınlamam gerekiyor. Nexus'ta bir maven repo formatına geçersem, bu özelliği kullanamayacağım. – dev