ClearCase包括两种独立的建立程序,clearmake和omake。这两种程序合并了ClearCase的主要建立特点,包括配置lookup,二进制文件共享,和配置记录。Clearmake程序主要适用于使用UNIX型的makefile包含(gnumake)的用户。Omake主要适用于那些需要和Windows上的建立程序(包括:Borland Make、Microsoft NAMAKE、Intersolv Configuration Builder、和OpusMake)兼容的用户。
自动检测所关联的原文件,包括所关联的头文件
clearmake和omake通过使用当前原文件(向一些被检入、检出文件)的配置,可以在视图中灵活的建立整个或部分软件系统。Clearmake和omake在makefile时无须描述所关联的头文件(或任何所关联的原文件)。
在ClearCase开发环境中,原始对象扮演着决定性的角色。源对象是由clearmake和omake 建立的文件对象或目录对象。典型的源对象应该包括由文档系统产生的对象模块,可执行程序,库文档,规格文档,内容表。源对象组件包括:作为目标被建立的文件名;独立的源对象ID;数据容器指针(存储建立脚本所产生的数据的文件);配置记录指针(信息清单);和参考计算(指示源对象当前出现的视图号)。
自动的追踪建立,产生永久性的资料清单
在执行建立脚本期间,clearmake和omake在ClearCase的多版本文件系统下执行一个建立追踪。这MVFS记录了在连接的VOB中每一个被读或执行的文件的版本;它也可以注释哪些文件被建立(或被覆盖)。在执行建立脚本之后,clearmake和omake将追踪的数据写入配置记录中,存储到VOB数据库中。VOB数据库指针将配置记录分配到每一个建立过程的源对象中。
配置记录就是源对象信息清单,包含它的内容和建立时的有用信息:
■ 存储在VOB中,在重建时使用的文件元素的版本――包含ClearCase控制下的源文件和工具(比如:编译器)。
■ 在建立过程中使用的每一个私人视图文件。
■ 在makefile过程中使用的非ClearCase文件。
■ 建立脚本的文本及所有的可扩展宏。
■ 操作系统版本和CPU类型。
■ 执行建立过程的用户;执行建立脚本的主机;由clearmake设置的视图和建立过程开始的日期和时间。
ClearCase的配置文件可以让源对象进行比较――不依靠对象数据,而依靠它们的建立配置信息。Diffcr(compare config rec)命令可以输出不同配置文件间的差异,包括:
■ 源文件的差异,非源文件修改的时间戳。
■ 建立过程中执行脚本的差异,包含makefile中不同的宏值。
■ 那些不影响clearmake或omake建立的非必要差异,包括建立时间/日期,主机名,视图名。
开发者间共享二进制代码,时间和存储空间的存储
基于makefile一个很重要的方面,避免不必要的建立过程。Clearmake和omake的建立策略是非常优秀的,专为并行开发方案做的特殊设计。 Clearmake和omake可以通过配置文件检测现场情况,检测哪些源对象可以在多个视图中被共享。这个工具还可以进行磁盘存储和建立时间存储。Clearmake和omake提供了三种可供选择的建立方式:
■ 重用视图中现存的目标――clearmake和omake使用一种技术,它比比较时间戳更熟练。配置信息可进行源版本对照,建立脚本对照,建立选项对照。
■ 执行传送建立脚本――make、clearmake和omake以同样的方式执行目标建立。但是clearmake和omake可以对建立过程进行追踪,并将追踪信息分配到每一个重建过程相关的文件中。文件和它的配置信息组成了源对象。
■ 从某一视图中wink-in源对象――clearmake和omake可以了解到早先在其它视图建立的同一目标的多种实例。在验证后,正确的源版本,建立选项和建立脚本被用于建立其它的实例,clearmake和omake将对视图执行一个wink-in操作。一个源对象现在可以被其它视图所共享。
跨越不同机型进行并行分布式建立
Clearmake支持分布式建立(使用其它主机上的执行脚本)和并行建立(执行一致的建立脚本)。比如:clearmake可以进行三方建立,所有的进程都在一个多处理器的计算机服务器上执行。在局域网中,它可以跨越所有工作站进行分布建立。
Clearmake也支持跨多种开发环境的建立。
自动的跨多种主机(UNIX)的平衡加载,分布建立
clearmake有一个尖端平衡加载技术,可以优化分布式建立的执行。用户指定功能等于分布式建立服务器的主机,并且设置变量,包括:时间、机器装载和控制每一台机器建立的用户id 。clearmake可以跨越这些主机自动平衡装载进行分布建立。
文章来源于领测软件测试网 https://www.ltesting.net/