2016-04-04 15 views
1

Kavanozları koşullu olarak yapay olarak yüklemek mümkün mü?Farklı kürsüyelere Gravür ile Artifactory'ye yükleme

Artifactory eklentisini kullanmayı denedim, ancak durum yalnızca bir yapım boru hattından yalnızca bir kavanoz yüklemekse iyi çalışıyor.

Ayrıca test kavanozunu da yüklemek istersem, nasıl olur?

Hangi kavanozun yükleneceğini belirten bir yapılandırma yapabilir miyim? Örneğin. Test kavanoz veya

publishing { 
    publications { 
     mavenJava(MavenPublication) { 
      from components.java 
     } 
    } 
} 

artifactory { 
    clientConfig.setIncludeEnvVars(true) 

    contextUrl = 'https://localhost:8081/artifactory/' 
    publish { 
     repository { 
      repoKey = 'libs-release-local' 
      username = "${artifactory_user}" 
      password = "${artifactory_user_password}" 
     } 
     defaults { 
      publications('mavenJava') 
      publishArtifacts = true 
      publishPom = true 
      publishIvy = true 
     } 
    } 
    resolve { 
     contextUrl = 'https://localhost:8081/artifactory' 
     repository { 
     repoKey = 'libs-release-local' 
     username = "${artifactory_user" 
     password = "${artifactory_user_password}" 
     maven = true 
     } 
    } 
} 
+0

hangi maven eklentisini kullanıyorsunuz? yaşlı 'maven' veya daha yeni 'maven-yayınla'? – RaGe

+0

Daha yeni olan: https://www.jfrog.com/confluence/display/RTF/Gradle+Artifactory+Plugin – nmarques

+2

Yapay eklentiye bağlısınız, maven eklentisini soruyorum. Artefakt eklenti hangi yayınların yayınlanacağını belirlemek için kullandığınız maven eklentisine bağlı olarak yayınları veya yayınları kullanır. Başka eserler (örneğin test kavanozları gibi) yayınlamak isterseniz, sadece yeni bir maven yayını veya publishconfig ekleyin. Size uygun talimatları vermek için hangi eklentiyi kullandığınızı bilmem gerekiyor. Build.gradle'nızı paylaşmanıza yardımcı olabilir. – RaGe

cevap

1

test SourceSet gelen sınıfları (varsayılan olarak src/test/) yayımlamak için "normal" kavanoz dosyası ise testJar oluşturmak için bir görev tanımlamak için öncelikle şunları yapmalısınız:

task testJar(type: Jar) { 
    classifier = 'tests' 
    from sourceSets.test.output 
} 

Ardından eklemek sizin yayınlar

publications { 
    mavenJava(MavenPublication) { 
     from components.java 

     artifact testJar { 
      classifier "test" 
     } 
    } 
} 

zaten Artifactory gelen publications('mavenJava') yayınlamalarından yana etmek, orada herhangi bir değişiklik yapmanız gerekmez.

+0

yayınlarını kullanıyorum, çok teşekkür ederim. Son bir sorum var, şartlı yüklemeyi yapmak mümkün mü? Örneğin. Bazen sadece bazı durumlarda test kavanozumu yüklemek istiyorum – nmarques

+0

Ben bir 'eğer (koşul) {...} 'artifact testJar {...}' wrap mümkün olmalıyım ama ben test etmedim kendim – RaGe

İlgili konular