试图理解"来自"在"进入"关于gradle样本的关闭

时间:2015-11-09 06:33:20

标签: gradle android-gradle build.gradle

在学习本教程时,我遇到了以下示例:

task dist(type: Zip) {
    dependsOn spiJar
    from 'src/dist'
    into('libs') {
        from spiJar.archivePath    // what's meaning
        from configurations.runtime // what's meaning
    }
}

artifacts {
   archives dist
}

作为一个新手,如何理解这个into(...){ from ...}

2 个答案:

答案 0 :(得分:2)

在这种特殊情况下:

from spiJar.archivePath

可能(因为我不知道究竟是什么spiJar)解析为spiJar任务的输出 - 即jar存档 - 特定文件。

当谈到第二个问题configurations是(简化)是一个匹配给定名称的地图 - 在这种情况下是runtime - 与一组依赖关系(在这种情况下是jar文件)。

当:

from configurations.runtime 

用于将runtime配置中的所有依赖项复制到给定目标。

答案 1 :(得分:1)

除了previews answer之外,还可以澄清一点。由于dsl referenceNameChar任务提供了Zip方法,其中包含:

  

创建并配置具有目标目录的子CopySpec 文件的存档。

这意味着,它可以创建一个包含其中一些内容的附加目录。在您的情况下,脚本在归档文件中创建一个libs目录,并指定应该复制到此目录中的资源。此资源可能不在into(destPath, configureClosure)目录中,该目录将完全压缩到存档的根目录中。

以下是CopySpec任务的dsl reference,它由src/dist任务的into方法配置。如您所见,Zip只是:

  

指定副本的源文件或目录。

相关问题