ivy研究

由于springsource的源码是有ant管理的且用到了ivy的相关知识,就简单查了下ivy的资料

 

ivy是如何工作的

 

不同位置下模块的通常周期

 

安装ivy

    下载之后在任何你想的地方解开下载的zip文件,并复制ivy的jar文件到你的ant的lib目录(ANT_HOME/lib).

    如果你使用ant 1.6.0或者更高,你可以简单的到src/example/hello-ivy 目录并运行ant: 如果构建成功,你就成功的安装了ivy!
    此处需要说明的是:如果你使用代理上网,则需对ant进行配置:

set ANT_OPTS=-Dhttp.proxyHost=代理ip -Dhttp.proxyPort=端口

例如:set ANT_OPTS=-Dhttp.proxyHost=192.168.2.20 -Dhttp.proxyPort=80

 

设置ivy

    设置主要分:设置ivysettings.xml、设置设置文件结构、ivysettings
1.
设置ivysettings.xml

     为了在ant中配置ivy,你只需要用你的设置文件的路径来使用配置数据类型。

这里有一个设置文件的例子:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> < ivysettings >
        
< properties  file ="${ivy.settings.dir}/ivysettings-file.properties"   />
        
< settings  defaultCache ="${cache.dir}"  defaultResolver ="ibiblio"  checkUpToDate ="false"   />
        
< resolvers >
                
< ibiblio  name ="ibiblio"   />
                
< filesystem  name ="internal" >
                     < ivy  pattern ="${repository.dir}/[module]/ivy-[revision].xml"   />
                    
< artifact  pattern ="${repository.dir}/[module]/[artifact]-[revision].[ext]"   />
                
</ filesystem >
        
</ resolvers >
        
< modules >
                
< module  organisation ="jayasoft"  name =".*"  resolver ="internal"   />
        
</ modules >
</ ivysettings >

 

大体上,设置文件能够配置ivy使用的默认缓存目录和用来解析依赖的依赖解析器。

    注意:为了能够工作,这个设置文件需要一个和设置文件在同一个目录下的名为ivysettings-file.properties的属性文件,里面有需要的ivy变量。

    在设置文件中有一些很有用的变量:

    ivy.settings.dir
    这个变量涉及到ivy设置自身所在的目录。如果设置被作为一个文件装载这个变量可用。如果是一个url,取url最后一个斜线"/"前面的部分。如果url没有斜线"/",那么这个变量不会被设置。

    ivy.settings.file
    设置文件自身的路径,只有在被作为文件装载时。如果设置文件在作为一个url装载,则这个变量不会被设置。

    ivy.settings.url
    指向设置文件的url。当设置文件被作为文件或者url装载时都将会设置。

    ivy1.4版本后,主要所有的java系统属性都可以作为ivy变量在设置文件中可用。

2. 设置文件结构

    设置文件由许多部分组成,其他的保持开放。实际上每个解析器都有自己的结构,因此不是设置文件自身定义解析器的结构。

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> ivysettings
    property
    properties
    settings
    include
    classpath
    typedef
    credentials
    lock-strategies
    caches
        cache
    latest-strategies
    version-matchers
    triggers
    parsers
    conflict-managers
    outputters
    namespaces
        namespace
            rule
                fromsystem
                    src
                    dest
                tosystem
                    src
                    dest
    macrodef
        attribute
        any resolver
    resolvers
        any resolver
    modules
        module
    statuses
        status



3. ivysettings

    标签: ivysettings

    每个设置文件的root标签。
    子元素

元素描述基数
property  设置ivy变量0..n
properties  装载一个属性文件作为ivy变量0..n
settings  使用一些默认来配置ivy0..1
include  包含一些其他的设置文件
0..n
classpath  在classpath中增加一个位置用于装载插件
0..n
typedef  在ivy中定义新的类型0..n
lock-strategies  定义锁策略
0..1
caches  定义仓库缓存管理器
0..1
latest-strategies  定义最新策略
0..1
parsers  定义模块描述符解析器
0..1
version-matchers  定义新版本匹配器
0..1
triggers  注册ivy事件的触发器
0..1
namespaces  定义新的命名空间
0..1
macrodef  定义新的宏解析器
0..n
resolvers  定义依赖解析器
0..1
conflict-managers  定义冲突管理器
0..1
modules  定义模块和依赖解析器之间的规则
0..1
outputters  定义可用的报告输出器列表
0..1
statuses  定义可用状态列表
0..1

后续补充。。。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值