【问题标题】:Depend on a project from another Gradle script依赖另一个 Gradle 脚本中的项目
【发布时间】:2014-07-02 08:08:57
【问题描述】:

我有以下文件夹结构:

projects
    build.gradle
    core/
    samples/
        sample1/
            build.gradle
            core/
            desktop/
            ios/
            html/
            android/

core 项目是一个 Java 库,而 sample1 是一个想要依赖于 core 的 Libgdx 应用程序。

最外层的构建文件负责core 项目以及另一个项目(未列出)。

问题在于 Libgdx 应用程序还包含一个 core 项目,该项目托管所有共享的游戏逻辑。这是Libgdx项目设置工具生成的模板。

如何在不重命名任何项目的情况下在 Gradle 中解决此问题?

【问题讨论】:

    标签: java gradle libgdx


    【解决方案1】:

    在根项目级别,您需要添加“settings.gradle”,其内容如下:

    rootProject.name = 'projects'
    
    include ':core'
    project(':core').projectDir = "$rootDir/core" as File
    
    include ':samples:sample1:core'
    project(':samples:sample1:core').projectDir = "$rootDir/samples/sample1/core" as File
    
    include ':samples:sample1:desktop'
    project(':samples:sample1:desktop').projectDir = "$rootDir/samples/sample1/desktop" as File
    

    ...

    在您的项目(例如桌面)build.gradle 中,您可以添加以下依赖项:

    compile project(':core')
    compile project(':samples:sample1:core')
    

    ps:Libgdx 不错

    【讨论】:

    • 有没有办法做到不污染根文件夹?我必须添加许多条目,每个样本的每个项目一个...也许我应该重命名 Libgdx 核心项目...
    • 在每个示例中,您可以添加类似的 settings.gradle,但使用 :core 的相对路径,例如在 sample1 中使用:project(':core').projectDir = "../../核心”作为文件。此外,您可以使用任何其他名称代替 :core,只要它指向该目录
    猜你喜欢
    • 2013-06-01
    • 2013-03-21
    • 2020-10-10
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 2018-10-23
    相关资源
    最近更新 更多