修改 site<lang>.prp 文件

关于此任务

site 特性的搜索路径如下:

site<lang>.prp -> site.prp -> 

在此搜索路径中从左到右移动时,在左侧文件中定义的特性将覆盖右侧文件中定义的相同特性。

注: 请勿修改任何原始 factory.prp 或特定于语言的 factory<lang>.prp 文件。 否则,将无法恢复到工厂缺省值。请参阅 实施抽象工厂

要添加新的环境作为配置的可能选项:

过程

  1. 打开新环境支持的每个语言的 site<lang>.prp 特性文件。
  2. 使用现有 site.prp 文件,为新环境支持的每种语言创建特定于语言的 site<lang>.prp 文件。例如,如果环境支持 Java,将文件保存为 siteJava.prp
  3. 在新 site<lang>.prp 文件中,在包含 end 关键字的行之上插入以下行:

    Subject <lang>_CG

    <lang> 替换为 CPP(对于 C++)、C(对于 C)或 JAVA(对于 Java),区分大小写。对每种语言重复此操作。

  4. 在新 site<lang>.prp 文件中,在 Subject <lang>_CGend 行之间缩进添加 Metaclass Configuration 行和另一 end 行。
  5. 从现有 .prp 文件,从 Metaclass Configuration 复制 Property Environment 并将其粘贴到新 site<lang>.prp 文件中的对应位置。
  6. Environment 特性中枚举值的末尾添加新环境。例如,将行 Property Environment Enum "Microsoft,Vxworks,..." 更改为以下内容:

    Property Environment Enum "Microsoft,Vxworks,...,<env>OS"
  7. 如果新操作系统是相应语言的缺省环境,使用新环境的名称替换 Environment 行中的最后一个字符串。 例如,将行 Property Environment Enum "Microsoft,VxWorks,...,envOS" "Microsoft" 更改为以下内容:

    Property Environment Enum "Microsoft,VxWorks,...,
    <env>OS" "<env>OS"
    例如,如果是创建 C++ 代码生成特性,那么 siteC++.prp 文件现在将类似以下列表:
    Subject CPP_CG
    	Metaclass Configuration
    		Property Environment Enum "Microsoft,VxWorks,Solaris2, Borland, MSStandardLibrary, PsosPPC, MicrosoftWinCE,OseSfk,<env>OS" "<env>OS"
    	end
    end
  8. factory<lang>.prp 文件中,找到与新目标环境最相似的环境的元类。
  9. 将元类,包括其结束 end 行,复制到新 site<lang>.prp 文件,放到 Configuration 元类的结束 end 语句和 <lang>_CG对象的该语句之间。
  10. 保存新 site<lang>.prp 文件。
  11. 对每种语言重复此过程。
  12. 在新 site<lang>.prp 中,将复制来的元类重命名为新操作系统的名称:

    Metaclass <env>OS
    Property InvokeExecutable String ...
    end
  13. 修改 InvokeMake 特性(<lang>_CG::<Environment> 下)以使用新环境的正确 <env>make.bat 批处理文件。
  14. 对新环境的每个代码生成特性,特别是 MakeFileContent 及其相关特性(定义 makefile 中所述的)进行相应修改,使用新操作系统的相应前缀替换文件中出现的所有特定于操作系统的前缀。
    注: 新环境的最重要特性是那些与 makefile 交互的特性。
  15. 保存 site<lang>.prp 文件。 对每种语言重复此操作。
  16. 重新启动 IBM® Rational® Rhapsody® 以装入新 site<lang>.prp 文件。

反馈