与配置管理工具集成 企业级大型项目,往往需要可靠稳定的配置管理工具,常用的配置管理工具有 CVS、SVN、ClearCase、SourceSafe ClearCase 的工作原理与 SVN 有明显不同,它对文件的操作有严格的要求,需将加入版本控制的所有的文件设为只读,只有检出操作后才会改为可写,而且要检出代码也能在 ClearCase 中留下完成的版本控制记录,有利于项目的管理 生成代码工具支持 ClearCase 的特性,需要时能够自动检出目标文件 1
、需要找到配置管理工具的类型,在
Eclipse
中所有在
Workspace
中的资源类都会实现
IResource
接口,在其中有
getSessionProperty(QualifiedName key)
方法,该方法可以获得配置工具的类型代码如下 // 获得配置工具对象
Object obj = resource.getSessionProperty(TeamPlugin.PROVIDER_PROP_KEY);
RepositoryProvider provider = (RepositoryProvider) obj;
当 provider.getID().contains("clearcase") 为真的时候就能确定该资源使用 ClearCase 来管理。 2
、从
ClearCase Checkout
资源 // 从 RepositoryProvider 获得 FileModificationValidator
FileModificationValidator validator = provider.getFileModificationValidator2();
// 完成 CheckOut 操作
IStatus status = validator.validateEdit(new IFile[] { (IFile) resource }, null); 使用 Eclipse 的自动编译功能 org.eclipse.core.resources.builders 扩展点 识别文件变化、程序编译、配置类型文件处理等。为提升自动化处理程序,我们需要系统能自动发现文件变化,并自动进行处理 在项目资源发生变化时 Eclipse 将自动调用上述方法 使用 Eclipse 的 Error Log 显示生成状态 在 Eclipse 平台中进行代码自动生成时,应尽量使用 Eclipse 提供的控制台机制或问题处理机制,避免使用 Log4j 第三方工具 // 获得 Bundle
Bundle bundle = InternalPlatform.getDefault().getBundle(pluginid);
// 获得 ILog
ILog elogger = Platform.getLog(bundle);
得到 ILog 对象后可以记录以下几个级别的错误
//Cancel 级别
elogger.log(new Status(Status.CANCEL, pluginid + "-" + loc, message,throwable));
//Error 级别
elogger.log(new Status(Status.ERROR, pluginid + "-" + loc, message,throwable));
//Info 级别
elogger.log(new Status(Status.INFO, pluginid + "-" + loc, message,throwable));