java – 在命令行中运行“./gradlew”时,会读取哪个文件?
我做了一些挖掘,但没有找到太多信息.
我最好的猜测是build.gradle文件是默认的,但我对行为和读取的文件感到好奇. 解决方法
虽然另一个答案涵盖了所有构建的99.99%,但它并不完整.
完整命令是./gradlew [-b / –build-file< build.file>] [-c /-settings-file< settings.file>].当你运行它时,那些指定的< build.file>和< settings.file>将用于相应地配置构建及其设置.设置文件很特殊:它在构建的早期阶段配置你的 以下是示例(对于已弃用的<<,它仅用于缩短代码): 默认build.gradle,没有settings.gradle: 的build.gradle: task hello << { println "Hello" } 结果: $./gradlew hello :hello Hello 自定义build.gradle,没有settings.gradle: custom.gradle: task hello << { println "Hi!" } 结果: $./gradlew -b custom.gradle hello :hello Hi! 自定义build.gradle,在settings.gradle中配置: custom.gradle: task hello << { println "Konnichi wa" } settings.gradle: rootProject.buildFileName = 'custom.gradle' 结果: ./gradlew hello # note that we don't need any flags here as with a default build :hello Konnichi wa 自定义build.gradle,在自定义settings.gradle中配置: custom.gradle: task hello << { println "Aloha!" } settings.custom: rootProject.buildFileName = 'custom.gradle' 结果: ./gradlew -c settings.custom hello # note how we pass custom settings file which,in turn,specifies custom `build.gradle` :hello Aloha! 这些都非常花哨而且不实用,但是您可以将这些方法结合起来存储,例如,您在一个单独的目录中构建文件(覆盖buildFileName).或者你可以使用多个settings.gradle这样的“构建配置文件”,包含不同的包含(设置也用于包含你构建的项目,因此你可以拥有“完整版”,“ui”,“外部”等配置文件客户“等等. 你的想象力是唯一的限制. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |