Gradle görevi

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015

Gradle sarmalayıcı betiği kullanarak derlemek için bu görevi kullanın.

YAML kod parçacığı

# Gradle
# Build using a Gradle wrapper script
- task: Gradle@2
  inputs:
    #gradleWrapperFile: 'gradlew' 
    #cwd: # Optional
    #options: # Optional
    #tasks: 'build' # A list of tasks separated by spaces, such as 'build test'
    #publishJUnitResults: true 
    #testResultsFiles: '**/TEST-*.xml' # Required when publishJUnitResults == True
    #testRunTitle: # Optional
    #codeCoverageToolOption: 'None' # Optional. Options: none, cobertura, jaCoCo
    #codeCoverageClassFilesDirectories: 'build/classes/main/' # Required when codeCoverageToolOption == False
    #codeCoverageClassFilter: # Optional. Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*
    #codeCoverageFailIfEmpty: false # Optional
    #javaHomeOption: 'JDKVersion' # Options: jDKVersion, path
    #jdkVersionOption: 'default' # Optional. Options: default, 1.11, 1.10, 1.9, 1.8, 1.7, 1.6
    #jdkDirectory: # Required when javaHomeOption == Path
    #jdkArchitectureOption: 'x64' # Optional. Options: x86, x64
    #gradleOptions: '-Xmx1024m' # Optional
    #sonarQubeRunAnalysis: false 
    #sqGradlePluginVersionChoice: 'specify' # Required when sonarQubeRunAnalysis == True# Options: specify, build
    #sonarQubeGradlePluginVersion: '2.6.1' # Required when sonarQubeRunAnalysis == True && SqGradlePluginVersionChoice == Specify
    #checkStyleRunAnalysis: false # Optional
    #findBugsRunAnalysis: false # Optional
    #pmdRunAnalysis: false # Optional

Bağımsız değişkenler


Varsayılan değer: true
Bağımsız Değişken Description
wrapperScript
Gradle Sarmalayıcı

(Gerekli) Derleme için kullanılan gradlew sarmalayıcının deposundaki konum. Windows'da aracılar (Microsoft tarafından barındırılan aracılar dahil) için gradlew.bat sarmalayıcıyı kullansanız gerekir. Linux veya macOS'ta aracılar kabuk gradlew betiği kullanabilir.

Bkz. Gradle sarmalayıcı.


Varsayılan değer: gradlew
Bağımsız değişken diğer adları: gradleWrapperFile
options
Seçenekler

(İsteğe bağlı) Gradle sarmalayıcıya geçmek istediğiniz komut satırı seçeneklerini belirtin.

Bkz. Gradle Komut Satırı.

tasks
Görevler

(Gerekli) Gradle'ın yürütülecek görevleri. Görev adlarının listesi boşluklarla ayrılarak bir komut gradlew tasks isteminden alınabilir.

Bkz. Gradle Derleme Betiği Temelleri.


Varsayılan değer: derleme
JUnit Test Sonuçları
publishJUnitResults
Azure Pipelines'da yayımlama
Istenir Gradle derlemesi tarafından üretilen JUnit test sonuçlarını Azure Pipelines/TFS 'ye yayımlamak için bu seçeneği belirleyin.
testResultsFiles
Test sonuçları dosyaları
Istenir Test sonuçları dosyaları yolu. Joker karakterler kullanılabilir. Örneğin, */TEST-.xml adı test-ile başlayan tüm XML dosyaları için."
Varsayılan değer: **/Test-*. xml
testRunTitle
Test çalıştırması başlığı
Seçim Bu derleme için JUnit test çalışması sonuçları için bir başlık atayın.
Kod Kapsamı
codeCoverageTool
Kod kapsamı aracı
Seçim Yapı için test çalışmalarının kapsadığı kodu belirlemek için bir kod kapsamı aracı seçin.
Varsayılan değer: yok
Bağımsız değişken diğer adları: codeCoverageToolOption
classFilesDirectories
Sınıf dosyaları dizinleri
Istenir Sınıf dosyalarını ve arşiv dosyalarını (JAR, WAR vb.) içeren dizinlerin virgülle ayrılmış listesi. Kod kapsamı, bu dizinlerdeki sınıf dosyaları için raporlanır. Normalde, içindeki sınıflar `build/classes/main` , Gradle derlemeleri için varsayılan sınıf dizini olan aranır.
Varsayılan değer: derleme/sınıflar/Main/
Bağımsız değişken diğer adları: codeCoverageClassFilesDirectories
classFilter
Sınıf içerme/dışlama filtreleri
(İsteğe bağlı) Sınıfların kod kapsamı toplamaya dahil veya hariç tutulacak filtrelerin virgülle ayrılmış listesi. Örneğin: +:com.*,+:org.*,-:my.app *.*."
Bağımsız değişken diğer adları: codeCoverageClassFilter
failIfCoverageEmpty
Kod kapsamı sonuçları eksik olduğunda başarısız olur
(İsteğe bağlı) Kod kapsamı yayımlayacak sonuç oluşturmazsa derlemeyi başarısız yap
Varsayılan değer: false
Bağımsız değişken diğer adları: codeCoverageFailIfEmpty
Gelişmiş
cwd
Çalışma dizini
(İsteğe bağlı) Gradle derlemesi çalıştıracak çalışma dizini. Belirtilmezse depo kök dizini kullanılır
javaHomeSelection
Set JAVA_HOME by
(Gerekli) Derlemeler JAVA_HOME bulunan bir JDK sürümünü seçerek veya bir JDK yolunu el ile girerek bu sürümü ayarlar
Varsayılan değer: JDKVersion
Bağımsız değişken diğer adları: javaHomeOption
jdkVersion
JDK sürümü
(İsteğe bağlı) Seçilen JDK sürümünün yolunu keşfetmeye ve uygun şekilde JAVA_HOME olacak
Bağımsız değişken diğer adları: jdkDirectory
jdkUserInputPath
JDK yolu
(Gerekli) Belirtilen JAVA_HOME belirtilen yolu ayarlar
Varsayılan değer: varsayılan
Bağımsız değişken diğer adları: jdkVersionOption
jdkArchitecture
JDK mimarisi
Seçim İsteğe bağlı olarak JDK mimarisini (x86, x64) sağlayın.
Varsayılan değer: x64
Bağımsız değişken diğer adları: jdkArchitectureOption
gradleOpts
GRADLE_OPTS ayarla
Seçim JVM 'yi başlatmak için komut satırı bağımsız değişkenlerini göndermek için kullanılan GRADLE_OPTS ortam değişkenini ayarlar. XMX bayrağı, JVM için kullanılabilir maksimum belleği belirtir.
Varsayılan değer:-Xmx1024m
Bağımsız değişken diğer adları: gradleOptions
Kod Çözümleme
sqAnalysisEnabled
Sonarquya ya da SonarCloud analizini Çalıştır
Istenir Bu seçenek, Gradle görevinin 1. sürümünden sonarquin ve sonarcloud Market uzantılarını kullanacak şekilde değiştirilmiştir. Görevler alanındaki görevleri yürüttükten sonra sonarquya ya da sonarcloud analizini çalıştırmak için bu seçeneği etkinleştirin. Bu Gradle görevden önce, uzantılardan birinden derleme işlem hattına bir Çözümleme yapılandırma görevi de eklemeniz gerekir
Varsayılan değer: false
Bağımsız değişken diğer adları: sonarQubeRunAnalysis
sqGradlePluginVersionChoice
Gradle sürümü için Sonarquin tarayıcısı
Istenir Kullanılacak Sonarquin Gradle Plugin sürümü. Bunu Gradle yapılandırma dosyanızda bildirebilir veya burada bir sürüm belirtebilirsiniz
Varsayılan değer: belirt
sqGradlePluginVersion
Gradle eklentisi sürümü için SonarQube tarayıcısı
(Gerekli) Kullanılabilir tüm sürümler için bkz.
Varsayılan değer: 2.6.1
Bağımsız değişken diğer adları: sonarQubeGradlePluginVersion
checkstyleAnalysisEnabled
Checkstyle'i çalıştırma
(İsteğe bağlı) Varsayılan Sun denetimleriyle Checkstyle aracını çalıştırın. Sonuçlar derleme yapıtları olarak karşıya yüklendi.
Varsayılan değer: false
Bağımsız değişken diğer adları: checkStyleRunAnalysis
findbugsAnalysisEnabled
FindBugs çalıştırma
(İsteğe bağlı) Koddaki hataları bulmak için FindBugs statik analiz aracını kullanın. Sonuçlar derleme yapıtları olarak karşıya yüklendi. Gradle 6.0'da bu eklenti kaldırıldı. Bunun yerine spotbugs eklentisini kullanın. Daha fazla bilgi.
Varsayılan değer: false
Bağımsız değişken diğer adları: findBugsRunAnalysis
pmdAnalysisEnabled
PMD çalıştırma
(İsteğe bağlı) Koddaki hataları bakmak için PMD Java statik analiz aracını kullanın. Sonuçlar derleme yapıtları olarak karşıya yüklendi
Varsayılan değer: false
Bağımsız değişken diğer adları: pmdRunAnalysis
spotBugsAnalysisEnabled
Spoti hatalarını Çalıştır
Istenir Spothataları çalıştırmak için bu seçeneği etkinleştirin. Bu eklenti Gradle v 5.6 veya sonraki sürümlerle birlikte kullanılabilir. Sonuçlar derleme yapıtları olarak karşıya yüklenir. Daha fazla bilgi. Lütfen Gradle 5,6 veya üstünü kullandığınızdan emin olun. Önceki bir Gradle sürümünü kullanıyorsanız, eklenti beklenmedik bir şekilde çalışabilir veya hiç çalışmayabilir.
Varsayılan değer: false
Bağımsız değişken diğer adları: spotBugsAnalysis
spotBugsGradlePluginVersionChoice
Gradle sürümü için spotbugs eklentisi
Istenir Spotbugs Gradle eklenti sürümü kullanılacak. Bunu Gradle yapılandırma dosyanızda bildirebilir veya burada bir sürüm belirtebilirsiniz.
Varsayılan değer: belirt
spotbugsGradlePluginVersion
Gradle eklentisi sürümü için spothataları
Istenir Tüm kullanılabilir sürümler için bkz ..
Varsayılan değer: 4.7.0
Bağımsız değişken diğer adları: spotbugsGradlePluginVersion
Denetim seçenekleri

Örnek

Gradle ile Java uygulamalarınızı oluşturma

Açık kaynak

Bu görev GitHub'da açık kaynaktır. Geri bildirim ve katkılar açıktır.

SSS

Nasıl yaparım? Gradle projemdan sarmalayıcı mı oluştursunuz?

Gradle sarmalayıcı, derleme aracısı üzerinde JVM dışında herhangi bir yazılım yapılandırmasına gerek kalmadan derleme aracılarının depoya iade edilir tam Gradle ortamını indirmesine ve yapılandırmasına olanak sağlar.

  1. build.gradle'nizin bulunduğu kök proje dizininden aşağıdaki komutu kullanarak Gradle sarmalayıcısını oluşturun:

    jamal@fabrikam> gradle wrapper

  2. Gradle sarmalayıcınızı uzak depoya yükleyin.

    Gradle sarmalayıcı tarafından oluşturulan bir ikili yapıt vardır ( üzerinde gradle/wrapper/gradle-wrapper.jar bulunur). Bu ikili dosya küçüktür ve güncelleştirmeyi gerektirmez. Derleme aracısı üzerinde Gradle yapılandırma çalıştırmalarını değiştirmeniz gerekirse, güncelleştirmeniz gradle-wrapper.properties gerekir.

    Depo aşağıdakine benzer şekilde görüntü gerekir:

|-- gradle/
    `-- wrapper/
        `-- gradle-wrapper.jar
        `-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat

Nasıl yaparım? indirirken zaman aşımını düzeltiyor musunuz?

Bağımlılıkları indirirken Read timed out olduğu gibi hataları düzeltmek için Gradle 4.3+ kullanıcıları, 'ye ekleyerek zaman aşımını Options -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 değiştirebilir. Bu, zaman aşımını 10 saniyeden 1 dakikaya artırır.

Bir aracıya ihtiyacım var mı?

Yapınızı veya sürümünüzü çalıştırmak için en az bir aracınız olması gerekir.

Sorun yaşıyorum. Sorunları nasıl giderebilirim?

Bkz. derleme ve yayın sorunlarını giderme.

Varsayılan bir aracı havuzu seçemiyorum ve derleme veya yayınımı sıraya alamıyorum. Bu Nasıl yaparım? düzeltilsin mi?

Bkz. Aracı havuzları.

NuGet Push görevlerim şu hata ile başarısız oluyor: "hata: yerel veren sertifikası alınamıyor". Bunu nasıl giderebilirim?

Bu, güvenilen kök sertifika eklenerek düzeltilebilir. NODE_EXTRA_CA_CERTS=fileOrtam değişkenini yapı aracıya ekleyebilir veya NODE.EXTRA.CA.CERTS=file görev değişkenini işlem hattınızda ekleyebilirsiniz. Daha fazla ayrıntı için bkz. ortam değişkenleri .

TFS 'yi şirket içinde kullanıyorum ve bu özelliklerden bazılarını görmüyorum. Neden olmasın?

Bu özelliklerden bazıları yalnızca Azure Pipelines kullanılabilir ve şirket içinde henüz kullanılabilir değil. TFS 'nin en son sürümüne yükselttiysenizbazı özellikler şirket içinde kullanılabilir.