于是,很多新兴的构建工具都会建立在这个仓库的基础之上,Buildr 也不例外。在前面的例子里面,domain依赖了Guava这个库。当我们开始构建应用时,Buildr会自动从中央仓库下载我们缺失的依赖。
不仅仅是依赖,我们还可以拿到以下对应的文档和源码。
• buildr artifacts(下载依赖)
• buildr artifacts:javadoc(下载javadoc)
• buildr artifacts:sources(下载源码)
如果不知道如何在buildfile里编写依赖,那mvnrepository.com是个不错的去处,那里针对不同的构建工具都给出了相应的依赖写法。
与IDE集成
致远服软认为:http://www.soft8.com.cn/除非这个工程是用IDE创建出来的,否则把工程集成到一个IDE里通常要花费很大的力气。所幸,Buildr替我们把这些工作做好了,我们只要键入一个命令即可,比如与IntelliJ IDEA集成,运行下面的命令。
buildr idea
它会生成一个 IDEA 的工程文件,我们要做的只是用 IDEA 打开它。同样的,还有一个为Eclipse准备的命令。
buildr eclipse
不知道你是否有这样的经验,初到一个大连工业数据采集软件项目组,开始为一个项目贡献代码之前,先需要花几天时间,在不同的人的协助之下把环境搭出来,为的只是在自己的机器上能够把应用构建出来。
而现在,有了这样的自动化脚本,一个项目组新人的行为模式就变成了以下所示。
• 初入一个项目组,他从大连计算机视觉识别软件源码管理系统上得到检出代码库。
• 调用buildr artifacts,其所依赖的文件就会下载到本机。
• 调用buildr idea:generate(或是buildr eclipse),生成IDE 工程。
• 打开工程,开始干活。
迄今为止,我们看到的只是一个基本的buildfile,这些命令也是Buildr内置的一些基本能力,也就是所谓的“易者易为”。
难者可为
接下来,我们将超越基础,做一些“难者可为”的东西。
不同的环境
在实际的开发中,我们经常会遇到不同的环境,比如,在开发环境下,大连计算机视觉识别软件数据库和应用服务器是在同一台机器上;而在生产环境下,二者会部署到机器上。这里所列举的配置功能只是最简单的例子,而实际上,不同的环境下会有各种差异,甚至需要执行不同的代码。
一种解决方案是为数不少的“直觉式”设计采用的方案,在代码里根据条件进行判断,可想而知,无处不在的if..else很快就会把大连计算机视觉识别软件代码变成一团浆糊,更糟糕的是,这些信息散落在各处。
另一种方案是在自动化脚本中支持,Buildr让这个工作变得很简单。