Gradle@1 - Gradle v1 任务
使用 Gradle 包装器脚本生成。
语法
# Gradle v1
# Build using a Gradle wrapper script.
- task: Gradle@1
inputs:
gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle Wrapper. Default: gradlew.
#options: # string. Options.
tasks: 'build' # string. Required. Tasks. Default: build.
# Advanced
#workingDirectory: # string. Alias: cwd. Working Directory.
javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
#jdkVersionOption: 'default' # 'default' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK Version. Default: default.
#jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK Path.
#jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK Architecture. Default: x64.
#gradleOptions: '-Xmx1024m' # string. Alias: gradleOpts. Set GRADLE_OPTS. Default: -Xmx1024m.
# JUnit Test Results
#publishJUnitResults: true # boolean. Publish to TFS/Team Services. Default: true.
testResultsFiles: '**/build/test-results/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/build/test-results/TEST-*.xml.
#testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test Run Title.
# Code Coverage
#codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code Coverage Tool. Default: None.
#codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool = false. Class Files Directories. Default: build/classes/main/.
#codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class Inclusion/Exclusion Filters.
#codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail When Code Coverage Results Are Missing. Default: false.
# Code Analysis
#sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube Analysis. Default: false.
#sonarQubeServiceEndpoint: # string. Alias: sqConnectedServiceName. Required when sqAnalysisEnabled = true. SonarQube Endpoint.
#sonarQubeProjectName: # string. Alias: sqProjectName. Required when sqAnalysisEnabled = true. SonarQube Project Name.
#sonarQubeProjectKey: # string. Alias: sqProjectKey. Required when sqAnalysisEnabled = true. SonarQube Project Key.
#sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Required when sqAnalysisEnabled = true. SonarQube Project Version.
#sonarQubeGradlePluginVersion: '2.0.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true. SonarQube Gradle Plugin Version. Default: 2.0.1.
#sonarQubeSpecifyDB: false # boolean. Alias: sqDbDetailsRequired. Optional. Use when sqAnalysisEnabled = true. The SonarQube server version is lower than 5.2. Default: false.
#sonarQubeDBUrl: # string. Alias: sqDbUrl. Optional. Use when sqDbDetailsRequired = true. Db Connection String.
#sonarQubeDBUsername: # string. Alias: sqDbUsername. Optional. Use when sqDbDetailsRequired = true. Db Username.
#sonarQubeDBPassword: # string. Alias: sqDbPassword. Optional. Use when sqDbDetailsRequired = true. Db User Password.
#sonarQubeIncludeFullReport: true # boolean. Alias: sqAnalysisIncludeFullReport. Optional. Use when sqAnalysisEnabled = true. Include full analysis report in the build summary (SQ 5.3+). Default: true.
#sonarQubeFailWhenQualityGateFails: # boolean. Alias: sqAnalysisBreakBuildIfQualityGateFailed. Optional. Use when sqAnalysisEnabled = true. Fail the build on quality gate failure (SQ 5.3+).
#checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
#findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
#pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
输入
gradleWrapperFile
- Gradle 包装器
输入别名: wrapperScript
。 string
. 必需。 默认值:gradlew
。
指定 gradlew
将用于生成的存储库中的包装器位置。 Windows (上的代理(包括 Microsoft 托管的代理) )必须使用 gradlew.bat
包装器。 Linux 或 macOS 上的代理可以使用 gradlew
shell 脚本。 详细了解 Gradle 包装器。
tasks
- 任务
string
. 必需。 默认值:build
。
Gradle 要执行的任务 () 。 任务名称列表应用空格分隔,并且可以从 gradlew tasks
命令提示符发出。
有关详细信息 ,请参阅 Gradle 生成脚本基础知识 。
workingDirectory
- 工作目录
输入别名: cwd
。 string
.
指定要运行 Gradle 生成的工作目录。 如果未指定工作目录,则任务使用存储库根目录。
publishJUnitResults
- 发布到 TFS/Team Services
boolean
. 默认值:true
。
将 Gradle 生成生成的 JUnit 测试结果发布到 Azure Pipelines。 该任务将匹配 Test Results Files
的每个测试结果文件发布为 Azure Pipelines 中的测试运行。
testResultsFiles
- 测试结果文件
string
. 当 publishJUnitResults = true
时,需要此选项。 默认值:**/build/test-results/TEST-*.xml
。
测试结果的文件路径。 可以使用通配符。 例如, **/TEST-*.xml
对于名称以 TEST-
开头的所有 XML 文件。
testRunTitle
- 测试运行标题
string
. 可选。 在 时 publishJUnitResults = true
使用 。
提供此版本的 JUnit 测试用例结果的名称。
codeCoverageToolOption
- 代码覆盖率工具
输入别名: codeCoverageTool
。 string
. 允许的值:None
、Cobertura
、JaCoCo
。 默认值:None
。
指定代码覆盖率工具,用于确定生成的测试用例所涵盖的代码。
codeCoverageClassFilesDirectories
- 类文件目录
输入别名: classFilesDirectories
。 string
. 当 codeCoverageTool = false
时,需要此选项。 默认值:build/classes/main/
。
包含类文件和存档文件的目录的逗号分隔列表 (.jar、.war 等) 。 将报告这些目录中类文件的代码覆盖率。 通常,任务在 (下 build/classes/java/main
搜索 Gradle 4+) 的类,这是 Gradle 生成的默认类目录。
codeCoverageClassFilter
- 类包含/排除筛选器
输入别名: classFilter
。 string
. 可选。 在 时 codeCoverageTool != None
使用 。
以逗号分隔的筛选器列表,用于包括或排除从收集代码覆盖率的类。 例如: +:com.*
、+:org.*
、-:my.app*.*
。
codeCoverageFailIfEmpty
- 缺少代码覆盖率结果时失败
输入别名: failIfCoverageEmpty
。 boolean
. 可选。 在 时 codeCoverageTool != None
使用 。 默认值:false
。
如果代码覆盖率未生成任何要发布的结果,则生成失败。
javaHomeOption
- 设置JAVA_HOME依据
输入别名: javaHomeSelection
。 string
. 必需。 允许的值: JDKVersion
(JDK 版本) 。 Path
默认值:JDKVersion
。
通过选择任务在生成期间发现的 JDK 版本或通过手动输入 JDK 路径来设置JAVA_HOME。
jdkVersionOption
- JDK 版本
输入别名: jdkVersion
。 string
. 可选。 在 时 javaHomeSelection = JDKVersion
使用 。 允许的值: default
、 1.9
(JDK 9) 、 1.8
(JDK 8) 、 1.7
(JDK 7) 、 1.6
(JDK 6) 。 默认值:default
。
尝试发现所选 JDK 版本的路径,并相应地设置JAVA_HOME。
jdkDirectory
- JDK 路径
输入别名: jdkUserInputPath
。 string
. 当 javaHomeSelection = Path
时,需要此选项。
将JAVA_HOME设置为给定路径。
jdkArchitectureOption
- JDK 体系结构
输入别名: jdkArchitecture
。 string
. 可选。 在 时 jdkVersion != default
使用 。 允许的值:x86
、x64
。 默认值:x64
。
(x86 或 x64) 提供 JDK 体系结构。
gradleOptions
- 设置GRADLE_OPTS
输入别名: gradleOpts
。 string
. 默认值:-Xmx1024m
。
设置GRADLE_OPTS环境变量,用于发送命令行参数以启动 JVM。 标志 xmx
指定 JVM 可用的最大内存。
sonarQubeRunAnalysis
- 运行 SonarQube 分析
输入别名: sqAnalysisEnabled
。 boolean
. 默认值:false
。
执行当前目标后运行 SonarQube 分析。 install
应首先执行 或 package
目标。
sonarQubeServiceEndpoint
- SonarQube 终结点
输入别名: sqConnectedServiceName
。 string
. 当 sqAnalysisEnabled = true
时,需要此选项。
指定要使用的 SonarQube 服务器的终结点。
sonarQubeProjectName
- SonarQube 项目名称
输入别名: sqProjectName
。 string
. 当 sqAnalysisEnabled = true
时,需要此选项。
SonarQube 项目名称,即 sonar.projectName
。
sonarQubeProjectKey
- SonarQube 项目密钥
输入别名: sqProjectKey
。 string
. 当 sqAnalysisEnabled = true
时,需要此选项。
SonarQube 项目的唯一键,即 sonar.projectKey
。
sonarQubeProjectVersion
- SonarQube 项目版本
输入别名: sqProjectVersion
。 string
. 当 sqAnalysisEnabled = true
时,需要此选项。
SonarQube 项目版本,即 sonar.projectVersion
。
sonarQubeGradlePluginVersion
- SonarQube Gradle 插件版本
输入别名: sqGradlePluginVersion
。 string
. 当 sqAnalysisEnabled = true
时,需要此选项。 默认值:2.0.1
。
包含 SpotBugs Gradle 插件的版本号。
sonarQubeSpecifyDB
- SonarQube 服务器版本低于 5.2
输入别名: sqDbDetailsRequired
。 boolean
. 可选。 在 时 sqAnalysisEnabled = true
使用 。 默认值:false
。
仅 SonarQube 服务器 5.1 及更低版本。 指定数据库连接详细信息。
sonarQubeDBUrl
- 数据库连接字符串
输入别名: sqDbUrl
。 string
. 可选。 在 时 sqDbDetailsRequired = true
使用 。
仅 SonarQube 服务器版本 5.1 和更低版本。 输入数据库连接设置,即 sonar.jdbc.url
。 例如:jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
。
sonarQubeDBUsername
- 数据库用户名
输入别名: sqDbUsername
。 string
. 可选。 在 时 sqDbDetailsRequired = true
使用 。
仅 SonarQube 服务器 5.1 及更低版本。 输入数据库用户的用户名,即 sonar.jdbc.username
。
sonarQubeDBPassword
- 数据库用户密码
输入别名: sqDbPassword
。 string
. 可选。 在 时 sqDbDetailsRequired = true
使用 。
仅 SonarQube 服务器 5.1 及更低版本。 输入数据库用户的密码,即 sonar.jdbc.password
。
sonarQubeIncludeFullReport
- 在生成摘要中包括完整的分析报表, (SQ 5.3+)
输入别名: sqAnalysisIncludeFullReport
。 boolean
. 可选。 在 时 sqAnalysisEnabled = true
使用 。 默认值:true
。
延迟生成,直到 SonarQube 分析完成。
sonarQubeFailWhenQualityGateFails
- (SQ 5.3+) 的质量门失败
输入别名: sqAnalysisBreakBuildIfQualityGateFailed
。 boolean
. 可选。 在 时 sqAnalysisEnabled = true
使用 。
SonarQube 服务器版本仅为 5.3 或更高版本。 引入延迟,因为生成必须等待 SonarQube 完成分析。 详细了解如何使用 SonarQube 进行生成。
checkStyleRunAnalysis
- 运行 Checkstyle
输入别名: checkstyleAnalysisEnabled
。 boolean
. 默认值:false
。
使用默认的 Sun 检查运行 Checkstyle 工具。 结果将作为生成工件上传。
findBugsRunAnalysis
- 运行 FindBugs
输入别名: findbugsAnalysisEnabled
。 boolean
. 默认值:false
。
使用 FindBugs 静态分析工具查找代码中的 bug。 结果将作为生成工件上传。 在 Gradle 6.0 中, 此插件已删除。 请改用 SpotBugs 插件。
pmdRunAnalysis
- 运行 PMD
输入别名: pmdAnalysisEnabled
。 boolean
. 默认值:false
。
使用 PMD Java 静态分析工具在代码中查找 bug。 结果作为生成项目上传。
任务控制选项
除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性。
输出变量
无。
备注
注意
Gradle@3中提供了此任务的较新版本。
注意
Gradle@2中提供了此任务的较新版本。
SonarQube 分析的配置已移动到任务 Prepare Analysis Configuration
中的 SonarQube 或 SonarCloud 扩展。
使用此任务使用 Gradle 包装器脚本进行生成。
如何实现从我的 Gradle 项目生成包装器?
Gradle 包装器允许生成代理下载并配置签入存储库的确切 Gradle 环境,而无需在生成代理本身(JVM 之外)上进行任何软件配置。
通过从 build.gradle 所在的根项目目录发出以下命令来创建 Gradle 包装器:
jamal@fabrikam> gradle wrapper
将 Gradle 包装器上传到远程存储库。
由位于
gradle/wrapper/gradle-wrapper.jar
) 的 gradle 包装器 (生成的二进制项目。 此二进制文件很小,不需要更新。 如果需要更改生成代理上运行的 Gradle 配置,请更新gradle-wrapper.properties
。存储库应如下所示:
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
下载依赖项时如何实现修复超时问题?
若要修复下载依赖项时等 Read timed out
错误,Gradle 4.3+ 用户可以通过将 添加到 -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
来 Options
更改超时。 这会将超时时间从 10 秒增加到 1 分钟。