我是Gradle的新手,我很喜欢它的任务驱动方法和可定制性。所以我有一个问题,希望能帮助我理解如何做一些超越基础的事情。
假设我有一个简单的文本文件,其中包含有关项目依赖项的信息。例如,像
- dependency1
from: 'foobar'
version: '1'
- dependency2
from: 'foobaz'
version: '1'
请注意,这些不是我有一些代码,从这个文件,生成一个文件,如下所示:
compile 'commons-lang:commons-lang 2.6'
testCompile 'org.spockframework:spock-core:1.1-groovy-2.4'
有没有办法配置我的项目,以便我的项目的依赖项来自这个文件(不是唯一的)?
请注意,文本文件还用于生成其他任务使用的其他工件(例如,要添加到Docker容器的文件),因此尽管可能会声明依赖项通常并生成文本文件,此时这不是一个简单的过程。
答案 0 :(得分:0)
是的,您可以编写自己的groovy函数来解析文件并创建List。然后,您可以将此映射传递给依赖项闭包:
sudo su name-of-account-hhvm-is-started-as-here -s /bin/bash
另外,要使用yaml-parsing库,请考虑在特殊的buildSrc子文件夹中设置自定义gradle子项目并在那里编写辅助函数。
有关详细信息,请参阅此旧帖子:https://discuss.gradle.org/t/programmatically-adding-dependencies/7575/12
这里是buildSrc项目: https://docs.gradle.org/current/userguide/organizing_build_logic.html#sec:build_sources