我打算将gradle的使用概括为我的项目,并希望在任何地方重用相同的构建文件.不幸的是,我在单个文件中尝试定义$ subject中提到的属性时遇到了麻烦,以便简化迁移.
这是gradle 1.6.
我尝试了什么,在所有尝试中都失败了:
gradle.properties:无法修改名称(只读,必须使用settings.gradle并覆盖根项目名称!); {source,target}Compatibility没有考虑到;settings.gradle:{source,target}Compatibility没有考虑到!那么,实现这一目标的正确方法是什么?我到目前为止所做的尝试gradle.properties:
group = something
name = whatever # cannot do!
version = whatever
sourceCompatibility = whatever # not taken into account!
Run Code Online (Sandbox Code Playgroud)
并在settings.gradle:
sourceCompatibility = "whatever"; # not taken into account!
Run Code Online (Sandbox Code Playgroud)
编辑嗯,"名称"问题无法解决; 对于其余的,我使用了另一个我在构建文件中应用的文件."名称"处理真的不对:/
编辑2这是2014年和gradle 1.12,问题仍未解决......
Pet*_*ser 121
gradle.properties:
theGroup=some.group
theName=someName
theVersion=1.0
theSourceCompatibility=1.6
Run Code Online (Sandbox Code Playgroud)
settings.gradle:
rootProject.name = theName
Run Code Online (Sandbox Code Playgroud)
的build.gradle:
apply plugin: "java"
group = theGroup
version = theVersion
sourceCompatibility = theSourceCompatibility
Run Code Online (Sandbox Code Playgroud)
zgg*_*ame 22
我找到了类似问题的解决方案.我正在使用Gradle 1.11(2014年4月).项目名称可以直接在settings.gradle文件中更改,如下所示:
rootProject.name='YourNewName'
Run Code Online (Sandbox Code Playgroud)
这需要使用正确的artifactId上传到存储库(Artifactory w/its plugin for me).
Jef*_*eff 19
我设置了工件baseName,因此它独立于构建项目名称,这使我可以实现您想要的:
jar {
baseName "core"
}
Run Code Online (Sandbox Code Playgroud)
使用此属性集,即使我的项目名称为"foo",当我运行时gradle install,工件也会以名称core而不是发布foo.
settings.gradle显然,这样的事情是可能的。
rootProject.name = 'someName'
gradle.rootProject {
it.sourceCompatibility = '1.7'
}
Run Code Online (Sandbox Code Playgroud)
我最近收到建议,可以使用闭包来设置项目属性,稍后当项目可用时将调用该闭包。
| 归档时间: |
|
| 查看次数: |
93574 次 |
| 最近记录: |