Apache常春藤条款&歧义

时间:2011-08-24 13:47:23

标签: apache svn caching repository ivy

我正在学习如何使用“蛮力”方法增加我的构建,只需尝试启动和运行一些示例项目。我已经倾听了官方文档,并阅读了几个在线教程,但是在一些似乎被模糊地,含糊不清地和/或以某种方式以相互冲突的方式使用的术语令人窒息。我只是想找一位经验丰富的常春藤鉴赏家来帮助我明确这些术语。

  1. “解决方案”缓存与“存储库”缓存与“常春藤”缓存
  2. “Ivy Repository”,而不是我的正常SCM,即运行SVN的服务器
  3. 这3种缓存有什么区别? “ Ivy Repository ”与我的SVN之间有什么区别?

    感谢任何可以提供帮助的人!

1 个答案:

答案 0 :(得分:5)

“解决方案”缓存与“存储库”缓存与“常春藤”缓存

常春藤缓存基本上是一个文件夹,常春藤存储工件和配置。如果不是configured differently,则可以在UserHome / .ivy2

中找到它

常春藤缓存包含分辨率缓存和存储库缓存。

存储库缓存包含来自存储库的工件,这些工件由ivy下载。它正在缓存存储库,因此每次尝试解析/下载工件时,常春藤都不需要查询存储库。如果它在存储库缓存中找到合适的工件,则它不会查询存储库。从而节省了查询存储库的成本。是否以及如何使用缓存有点复杂,取决于依赖性/配置。

分辨率缓存是常春藤特定文件的集合,告诉常春藤如何解析(下载)工件。

“Ivy Repository”,而不是我的正常SCM,即运行SVN的服务器

常春藤世界中的存储库是一个位置,其中包含工件(jar)文件。这可以是本地文件系统或Web服务器。它没有版本控制系统。每个版本的工件都包含在单独的文件夹中。您无法提交工件,只需将它们添加到文件系统即可。请参阅terminology

  org\artifact\version1\artifact.jar  
  org\artifact\version2\artifact.jar

通过resolver访问存储库,doc必须知道存储库的布局。

来自{{3}}缓存:

Cache types
An Ivy cache is composed of two different parts:

    the repository cache
    The repository cache is where Ivy stores data downloaded from module repositories, along with some meta information concerning these artifacts, like their original location.
    This part of the cache can be shared if you use a well suited lock strategy.
    the resolution cache
    This part of the cache is used to store resolution data, which is used by Ivy to reuse the results of a resolve process.
    This part of the cache is overwritten each time a new resolve is performed, and should never be used by multiple processes at the same time. 

While there is always only one resolution cache, you can define multiple repository caches, each resolver being able to use a separate cache.