Gradle:来自文件

时间:2017-12-13 07:20:44

标签: gradle

我是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容器的文件),因此尽管可能会声明依赖项通常并生成文本文件,此时这不是一个简单的过程。

1 个答案:

答案 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