2015-01-03 27 views
7

kayıtlar anlık benim dummy projenin build.gradle dosyasıdır:Yayıncılık Gradle Burada lokal

apply plugin: 'groovy' 

repositories { 
    mavenLocal() 
    mavenCentral() 
} 

dependencies { 
    compile 'org.codehaus.groovy:groovy-all:2.3.3' 
    compile 'org.slf4j:jcl-over-slf4j:1.7.7' 

    testCompile 'junit:junit:4.11' 
    testCompile 'org.mockito:mockito-all:1.10.8' 
} 

task sourcesJar(type: Jar, dependsOn: classes) { 
    classifier = 'sources' 
    from sourceSets.main.allSource 
} 

artifacts { 
    archives sourcesJar 
} 

task wrapper(type: Wrapper) { 
    gradleVersion = '1.11' 
} 

Ben gradle clean build -Pversion=1.2.3 koşmak, hepsi benim kodunu paketler ve benim için bir build/libs/dummy-1.2.3.jar yaratır.

benim yerel Maven önbelleği (mavenLocal()) benim "kukla" JARs yayımlamak diye gerekli Gradle kod mutlak minimum miktarını bilmek istiyorum. Ek olarak, bu sürüm nasıl çalışır? Ben her zaman kukla JAR için somut bir sürüm belirtebilir, ancak yerel olarak yayınladığımda, SNAPSHOT sürümlerini yayımlamak daha mantıklı (bana, en azından) yapar. Ben sadece gradle clean build -Pversion=0.1.SNAPSHOT çalıştırın, ancak benim endişem diğer yerel projeler en son SNAPSHOT sürümleri almak olsun ya da olmasın. Yani yine

:

  1. lokal dummy yayımlamak minimum kodu nedir?
  2. Yerel olarak yayınlanırken, diğer projelerin her zaman en son kopyasını alması için SNAPSHOT sürümünü belirtmek üzere herhangi bir şekilde?
  3. Diğer yerel projeler bu SNAPSHOT'u almak için ne kullanmalı? compile ':dummy:LATEST' gibi bir şey mi?
+1

Sorulan soru yanıtlandı mı? Eğer cevabı kabul ederseniz lütfen. – Opal

cevap

1

1) Sadece yapmanız gereken bir

gradle install 

2) ne gibi sürüm belirtin - Bir ANLıK sürüm etkin gelişimi için mantıklı. Kitaplığınızın değişiklik olasılığının azaldığını düşündüğünüzde, kesinlikle enstantane olmayan bir versiyona gitmelisiniz. 3) 3üncü parti kitaplıklarında olduğu gibi, yerel repo'unuzda bulunan sürüme bir bağımlılık belirtmeniz gerekmektedir.

+1

Bunu yapmak için hangi eklenti gerekiyor? Bunu denediğimde anladım: '' Görev 'install' root projesinde 'kotti' bulunamadı. '' ' – Adeynack

7

Here Sizin için örnek bir proje hazırladım, bu build.gradle yapılandırması söz konusu olduğunda en az olan budur.

  1. Sen apply plugin: 'maven' eklemem gerekiyor ve group = 'somegroup' ayarlayın. maven eklentisi, install görevini ve group maven deposunda artefakt kurmak için gereklidir. Daha sonra gradle clean install'u çalıştırın. Hiçbir sürüm iletilmediyse, artifactId yapılandırılmamışsa belirtilmemiş olarak değerlendirilir, project.name olarak değerlendirilir. Here Diğer maven özelliklerini nasıl yapılandıracağınızı bulabilirsiniz.

    Yerel geliştirme için anlık görüntü yüklemek kesinlikle iyi bir fikirdir.

  2. Diğer projelerin her zaman SNAPSHOT'un en son sürümünü seçmesini isterseniz Aşağıdaki kod parçasını build.gradle komut dosyalarına eklemeniz gerekir. En son sürüme çözümlenmeyi garanti eder.

    configurations.all { 
        resolutionStrategy { 
        cacheChangingModulesFor 0, 'seconds' 
        } 
    } 
    
  3. Sen repositories bloğun (sadece bir örnek) için anlık repo eklemeniz gerekir her şeyden
  4. İlk - Yerel maven repo ile, bu adım gerekli değildir:

    maven { 
        url 'https://oss.sonatype.org/content/repositories/snapshots' 
    } 
    

    Bağımlılık olarak belirtilmelidir:

    group:artifact:0.+ 
    

herhangi bir soru durumunda sormaya çekinmeyin.