[经验分享] OAT工具使用经验分享 原创

朱伟 显示全部楼层 发表于 2023-10-31 16:59:43
(1)初 识 OAT 工 具


        代码上传至OpenHarmony官方SIG仓,触发了门禁检查,检测出代码有:Copyright Header Invalid、Invalid File Type等问题。根据提示,误以为是版权信息撰写不正确导致,经在社区询问得知,实际原因为:未添加OAT.xml信息。
fakename.png

(2)OAT工具的运行


OAT工具的地址:https://gitee.com/openharmony-sig/tools_oat

a.环境配置:
      Maven 3.5.2
      Java 8以上Java环境运行



b.编译构建:

  1. mvn package
复制代码
    编译生成的jar包名为:ohos_ossaudittool-2.0.0-beta.2.jar


c.单项目运行:

  1. java -jar ohos_ossaudittool-2.0.0-beta.2.jar -mode s -s sourcedir -r reportdir
复制代码
      其中,sourcedir 表示源代码的地址,reportdir表示检测报告生成地址 ;
       注意,在windows系统上运行该工具,尽量使用PowerShell终端,git bash终端会运行错误,cmd终端有时也会失败。

d.运行成功
     工具运行成功后,会在reportdir下生成两个名为:log和single的文件夹,log文件夹下会生成:License.txt、LicenseFile.txt、OAT.log、OAT_Config.txt四个文件,用来展示检测的日志;single文件夹下会生成:PlainReport_defaultProject.txt、PlainReport_defaultProject_Detail.txt两个文件,用来显示检测的结果,我们重点关注这两个文件就好。

(3)OAT.xml的撰写
      以template下的OAT.xml为模板撰写自己的OAT.xml。
      注意:需要在 projectPolicy字段下声明策略配置,在filefilter字段下声明过滤配置,在licensematcher下声明许可证匹配规则配置配置,具体撰写规则参见官网。
(4)代码提交
代码提交时有两种情况:
情况1:
       整个代码仓都是个人的,OAT.xml放在代码仓的根目录进行代码提交。
情况2:
        整个代码仓只有部分代码是个人的,OAT.xml也需要放在代码仓的根目录进行代码提交,不能将OAT.xml放置在个人代码目录!!
        代码仓根目录如果原来有OAT.xml,则直接对其进行修改;
        代码仓根目录如果原来无OAT.xml,则添加OAT.xml并撰写相应的检测规则;







©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部