gradle:如何设置项目名称/组/版本,加上{source,target}兼容性在同一个文件中?
我打算概括为我的项目使用gradle,并希望在任何地方重复使用相同的构build文件。 不幸的是,我试图在一个文件中定义$ 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!
并在settings.gradle
:
sourceCompatibility = "whatever"; # not taken into account!
编辑好了,“名字”问题根本无法解决; 其余的,我用另一个文件,我在构build文件中应用。 “名称”处理真的是不正确的:/
编辑2这是现在2014年和gradle 1.12,问题仍然没有解决…
gradle.properties:
theGroup=some.group theName=someName theVersion=1.0 theSourceCompatibility=1.6
settings.gradle:
rootProject.name = theName
的build.gradle:
apply plugin: "java" group = theGroup version = theVersion sourceCompatibility = theSourceCompatibility
我find了类似的问题的解决scheme。 我正在使用Gradle 1.11(截至2014年4月)。 项目名称可以在settings.gradle
文件中直接更改,如下所示:
rootProject.name='YourNewName'
这需要使用正确的artifactId上传到存储库(Artifactory w /它的插件)。
我设置了工件baseName,所以它独立于构build项目名称,这使我可以实现你想要的:
jar { baseName "core" }
有了这个属性集,即使我的项目名称是“foo”,当我运行gradle install
,工件也会以名字core
而不是foo
。
显然这将是可能的settings.gradle
像这样的东西。
rootProject.name = 'someName' gradle.rootProject { it.sourceCompatibility = '1.7' }
我最近得到的build议是,如果设置属性被延迟到通过使用闭包可用的项目时,可以设置项目属性。
- 无法创build该模块:未find相关的gradleconfiguration。 请重新导入Gradle项目并重试
- 版本冲突更新为播放服务9.4.0 Android Studio 2.2
- 如何将Maven构build转换为Gradle?
- IntelliJ不会终止使用Gradle构buildSpring Boot应用程序
- 如何从Mac bash上的命令行运行Gradle
- 一个gradle文件中有多个maven仓库
- 基于构buildtypes和风格的Gradle依赖
- Android Studio lint报告“无法推断参数types”。
- supportMapFragment的findFragmentById在Android Studio中返回null