2012-10-06 10 views
12

Genel olarak Gradle ve Groovy'deki yeni bir kullanıcıyım ve şu örneği Gradle user guide'dan anlamaya çalışıyorum ve özellikle DSL belgelerinde, tüm bu seçeneklerin bulunabileceğini nasıl bulabildiğimi anlamaya çalışıyorum. bulunan:Gradle's mavenDeployer'ı anlama

uploadArchives { 
    repositories.mavenDeployer { 
     name = 'sshDeployer' // optional 
     configuration = configurations.deployerJars 
     repository(url: "scp://repos.mycompany.com/releases") { 
      authentication(userName: "me", password: "myPassword") 
     } 
    } 
} 

anlıyorum ne:

  • uploadArchives tip Upload bir iştir, Java eklentisi tarafından projeye eklenen
  • arasında, Upload görevin özelliktir. Nereden geliyor? Böyle bir yöntemin var olduğunu nasıl bilmeliyiz?

  • Dizinde arama yaparken, mavenDeployer öğesinin, Yükleme'nin her göreviyle ilişkili RepositoryHandler ile karıştırılan MavenRepositoryHandlerConvention yöntemidir. Çok kötü bu RepositoryHandler belgelerinde ve Upload belgelerinde belirtilmemiş.
  • Daha açık olsa da, kapamanın GroovyMavenDeployer türünde bir nesneyi yapılandırması gerektiğini anlıyorum. Ancak javadoc, repository özelliğinin okunması, örneğin Object tipindedir. Aşağıdakileri kullanarak yapılandırabileceğimi nasıl bilebilirim?

    repository(url: "scp://repos.mycompany.com/releases") { 
        authentication(userName: "me", password: "myPassword") 
    } 
    

cevap

6

Gradle DSL belgelerine özellikle kapsamlı değildir. Halka açık api'nin durduğu ve özel impl'nin & nolu sıklıkta başladığını her zaman açık bir şekilde göremezsiniz. Kaynak kodu, kapsamlı bir görünüm elde etmek için tek yerdir (bu yüzden src kodunu IDE'ime bağlamak genellikle en kolay yoldur).

Özel durumunuzda, kaynak kodunun en iyi yolu the userguide + kaynak kodudur.

+0

Hangi IDE kullanıyorsunuz? Ben Cmd + IDEA içinde gradle.build hemen hemen her anahtar kelime tıklayın, ancak bunların çoğu çözülmez, sonuçta bu karanlıkta yürümek gibi olur. –

+0

intellij kullanıyorum, kod navigasyon/tamamlamasının sadece projenin intellij'e yönelik bir proje olarak bilinmesi durumunda işe yarar olduğunu düşünüyorum. Benim derleme sistemim, taslak fikir eklentisini kullanır ve bir platform kurulumunun mevcut olduğu durumlarda, src kod erişimini sağlamak için projeyi yerel yüklemeye bağlamak için bağımlılıklar ekler. – Matt

+0

Bu eklentiyle bile birçok anahtar kelime çözülmez. Örneğin. Bu konuyla ilgili olarak "repositories.mavenDeployer" çözülmez. Nevermind, umarım daha iyi olur;) –