如何在build.gradle文件中设置属性并允许每个开发人员在本地覆盖它?我试过了:
gradle.properties:
MY_NAME = "Jonathon"
MY_COLOR = "blue"
Run Code Online (Sandbox Code Playgroud)
的build.gradle:
ext.MY_NAME = "John Doe"
task showit <<{
println "MY_NAME[" + MY_NAME + "]";
println "MY_COLOR[" + MY_COLOR + "]";
}
Run Code Online (Sandbox Code Playgroud)
gradle showit
得到:
:showit
MY_NAME[John Doe]
MY_COLOR["blue"]
Run Code Online (Sandbox Code Playgroud)
我认为在项目根目录下的gradle.properties文件中定义的属性将覆盖在build.gradle中定义的具有相同名称的属性,但这似乎不是这种情况.它只填补了遗失的财产.
看起来当我尝试在不同的窗口中为同一项目运行第二个 Gradle 任务时,第二个任务被锁阻塞。有没有一种简单的方法可以解决这个问题?
我想做的事情:我的项目有几个服务器子项目,它们都使用应用程序插件。我想启动两者(例如,$ gradle :server1:run
),以便我可以连接并尝试它们。
我知道我可以编写一个任务来将两台服务器部署到测试区域并在那里启动它们,但是 application:run 任务在一个应用程序的开发过程中很方便,所以如果可能的话,我想将它用于两个应用程序。
我正在使用 Gradle 2.7。
我正在使用 Apache Commons CLI 1.2 来解析最后带有选项和额外参数的命令行。前任:mycmd -d DIR extra stuff
我知道如何使用 获取“额外”和“东西” CommandLine.getArgs()
,但我不知道如何在帮助输出中显示这些额外参数。当我拨打这样的电话时:
new HelpFormatter().printHelp("mycmd", opts, true);
Run Code Online (Sandbox Code Playgroud)
我得到的输出如下:
usage: mycmd -d DIR
Run Code Online (Sandbox Code Playgroud)
没有额外的参数。有人能指出我正确的方向吗?
我的环境使用 Gradle 构建,Jenkins 用于 CI,Artifactory 用于存储库。我为 Jenkins 使用 Artifactory 插件。
Jenkins 成功构建了我的主 jar 文件并将其上传到 Artifactory。构建脚本有第二个目标,用于在 build/distributions 下创建分发 zip 文件。Jenkins 成功创建了 zip 文件,但我不知道如何告诉它也将该工件上传到 Artifactory。
这是我应该能够在 Jenkins Artifactory 插件配置中指定的东西,还是我应该在 Gradle 构建脚本中定义的东西?感谢您的指点。