ivy教程(1)-目录
学习的最佳方式是实践!这是ivy教程将帮助你做到的,发现一些伟大的ivy特性。 这里是非常优先的教程,它甚至不需要安装ivy,如果你已经正确安装了ant和jdk,甚至只需要花费不到30秒的时间: * 确保你已经正确安装好ant 1.6.0 或更高版本和jdk。 * 复制这个build文件到你本地文件系统上的一个空目录下(确保你将这个文件命名为build.xml) * 在这个目录下打开一个控制台, ...
ivy教程(4)-多解析器
这个例子演示模块是如何被多解析器获得的。使用多解析器在很多情况下是非常有用的,这里是一些例子: * 来自发行的单独的集成构建 * 为第三方模块使用公共仓库并且为内部模块使用私有仓库 * 使用一个仓库来存储那些在无法管理的公共仓库里里面的不清晰的模块 * 使用本地仓库来暴露在一个开发人员的位置上生成的构建 在ivy中,多解析器的使用是通过一个名为解析器链的复合解析器来支持的。 在我们的例子中,我们将 ...
ivy教程(7)-在多项目环境下使用ivy
在上一个教程中,你已经看到如何处理两个简单项目之间的依赖。 这个教程将引导你完成在一个更加复杂的环境下的ivy使用。这个教程的所有源文件在ivy发行包的src/example/multi-project下可以得到。 1) 上下文 这里是这个教程涉及到得项目的概况: * version 帮助通过版本列表来标识模块 * list 获取目录下的文件列表(递归地) * size 获取目录下的所有文件或者一个 ...
ivy教程(10)-架设仓库(2)-基础仓库复制
在这个步骤中我们使用install任务来从maven2 仓库安装模块到一个基于文件系统的仓库。我们首先安装一个不带依赖的模块,然后安装一个带有依赖的模块。 1) 基础: 使用ivysettings.xml文件 这里我们使用的ivy设置文件非常简单。它定义两个解析器,libraries 和 my-repository. 第一个作为源使用,第二个作为目的地。在典型的安装中第二个仓库将使用包含设置来配置 ...
ivy教程(2)-快速开始
在这个例子中,我们将看到使用ivy的一个最简单的方式。不使用任何特殊设置,ivy将使用maven2 仓库来解析你在ivy文件中声明的依赖。让我们来看一眼涉及到的文件的内容。 你将在ivy发行包的src/example/hello-ivy 目录下找到这个教程的源文件。 1) ivy.xml 文件 这个文件用于描述项目对其他类库的依赖。 这里是例子 < ivy-module version ...
ivy教程(5)-双重解析器
在一些情况下,会发生这样的事情:你的模块描述符(ivy文件,maven pom, ...)被放置在一个地方,而模块的制品(jars,...)在另外一个地方。 双重解析器用于满足这种类型的需求,而这个教程将展示如何使用它。 1) 项目描述 让我们看一下你的ivy发行包里面的src/example/dual目录. 它包含一个构建文件和3个目录: * settings: b包含ivy设置文件 * rep ...
ivy教程(8)-使用ivy模块配置
这个教程介绍ivy文件中的模块配置的使用。ivy模块配置事实上是一个非常重要的概念。某些人甚至告诉我使用ivy而不用ivy配置就像吃乳酪而不动就在你旁边的Chateau Margaux 1976! 严肃的说,ivy中的配置可以更好的理解为你的模块的视图,你将可以看到在这里他们将如何被高效地使用。 关于配置的参考文件可以在这里 和这里 找到。 1) Introduction 源文件在这里 src/ex ...
ivy教程(11)-架设仓库(3)-使用命名空间
现在你已经看到从一个已经存在的仓库创建你自己的仓库是如何的简单,你可能会想知道如何处理更加复杂的情况,例如当源仓库和目的地仓库不遵循相同的命名约定。 1) 通往专业仓库之路 我们将学习这个如何构建一个专业仓库的章节。什么是专业仓库?我们的观点是一个良好质量的仓库必须遵循有关项目命名的清晰的规则,并必须提供正确,可用,可配置和验证过的项目描述符。为了达到这些目标,我们认为你必须构建你自己的仓库。 在前 ...
ivy教程(3)-调整默认设置
ivy绑定一些默认设置,这使得在通常环境下使用ivy很容易。这个教程,接近于参考文档,解释这些默认设置是什么和他们怎样调整来满足你的需要。 为了完整的理解设置的概念和你可以用它们做什么,我们建议阅读其他和设置相关的教程(如Multiple Resolvers 和 Dual Resolver )或者设置文件 的参考文档。 1) 概念 默认设置主要是3种仓库组成: * local / 私有 用户私有的 ...
ivy教程(6)-项目依赖
这个示例将举例说明在两个项目之间的依赖。 depender项目声明它使用dependee 项目。我们将阐明两个事情: * 被独立的项目声明的公共类库将被依赖的项目自动获取 * depender项目将获取dependee项目的"最新"版本 1) 使用到的项目 1. dependee dependee项目非常简单。它依赖apache类库commons-lang并只包含一个类: sta ...
ivy教程(9)-架设仓库(1)-介绍
install任务让你从一个仓库复制一个模块或者模块集合到另一个仓库。这对于构建和维护一个企业或者团队仓库非常有用。如果你不想你的团队中的开发人员都访问公共的maven2仓库(例如为了控制哪些模块可以在你的公司或者你的团队中使用),答复开发人员的请求来手工增加新的模块或者新的版本在某些时候变得令人厌烦。 幸运的是install任务可以在这里提供帮助: 你可以为你的用于维护目标企业仓库的仓库维护构建 ...
ivy教程(12)-更多例子
如果你已经成功的跟随并理解了所有的教程,可能你还是需要得到更好的关于如何在现实世界中只用ivy的描述。 这里有一些有关系的链接: 1) SAnt SAnt是一个实验性的基于ant和ivy的构建系统。对于使用它,或者了解它作为一个管理你的构建的有趣的途径,是有趣的。 2) Spring Modules spring模块项目构建系统基于ant和ivy,并且非常感兴趣,对于看一下一个模块化的项目是如何 ...