Có cách nào để xác định thuộc tính teamcity ['build.number'] từ dòng lệnh không? Tôi đã thử -Pteamcity.build.number = 1 nhưng nó không hoạt động.Làm cách nào để xác định thuộc tính teamcity ['build.number'] trong gradle từ dòng lệnh
Tôi có một tập tin build.gradle với nhiệm vụ này trong đó:
distTar {
baseName = project.name+'.'+
project.version+'.'+
System.getProperty("system.rnf.brach_name")+'.'+
teamcity['build.number']+'.'+
teamcity['build.vcs.number.1']
archiveName = baseName+'.tar'
into(baseName) {
from '.'
include 'config/*'
include 'run-script/*.sh'
}
}
Nó hoạt động trên máy chủ xây dựng, nhưng nó khiến tất cả các nhà phát triển điên, bởi vì chúng tôi không có TeamCity được cài đặt trên máy của chúng tôi và bất kỳ lệnh gradle cho chúng ta một lỗi:
$ gradle tasks
FAILURE: Build failed with an exception.
* Where:
Build file '/home/me/work/myproject/build.gradle' line: 31
* What went wrong:
A problem occurred evaluating root project 'myproject'.
> Could not find property 'teamcity' on task ':MyProject:distTar'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Giải pháp này không làm việc cho tôi vì đó là vì https://issues.gradle.org/browse/GRADLE-1826 này. Nhưng tôi đã thay đổi hasProperty ("teamcity") thành rootProject.hasProperty ("teamcity") và bây giờ nó hoạt động. Cảm ơn bạn anyway! – MistaGreen