文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

啃论文俱乐部—移植Speexdsp到OpenHarmony标准系统(六)

2024-12-01 14:46

关注

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​

九、准备好上传speexdsp至OpenHarmony仓库。

移植完成后,先将代码上传至​​sig仓中的contest仓​​。

sig仓库是TPC仓库的孵化仓。代码先上sig仓,到时会直接平移到tpc仓。

上传的内容包括:

文档命名不要用中文,如果涉及到编码问题的话,到时候会出现乱码,一般建议不用中文命名!

提供OAT.xml文件:

OAT开源扫描

工具使用

编译构建:

在父目录下添加OAT.xml,内容如下:

 version="1.0" encoding="UTF-8"?>

<configuration>
<oatconfig>
<licensefile>COPYINGlicensefile>
<policylist>
<policy name="projectPolicy" desc="">

<policyitem type="license" name="*" path=".*" rule="may" group="defaultGroup" filefilter="defaultPolicyFilter" desc=""/>
policy>
policylist>
<filefilterlist>
<filefilter name="defaultFilter" desc="Files not to check">
<filteritem type="filepath" name=".*" desc="原生库文件"/>
filefilter>
<filefilter name="defaultPolicyFilter" desc="Filters for compatibility,license header policies">



<filteritem type="filepath" name=".*" desc="原生库代码"/>
filefilter>
<filefilter name="copyrightPolicyFilter" desc="Filters for copyright header policies">



<filteritem type="filepath" name=".*" desc="原生库代码"/>
filefilter>
<filefilter name="licenseFileNamePolicyFilter" desc="Filters for LICENSE file policies">



filefilter>
<filefilter name="readmeFileNamePolicyFilter" desc="Filters for README file policies">




filefilter>
<filefilter name="readmeOpenSourcefileNamePolicyFilter" desc="Filters for README.OpenSource file policies">



filefilter>
<filefilter name="binaryFileTypePolicyFilter" desc="Filters for binary file policies">



filefilter>

filefilterlist>
<licensematcherlist>

licensematcherlist>
oatconfig>
configuration>

在speexdsp根目录下新建空白的OAT_report.text文件,执行命令:

Java –jar ohos_ossaudittool-1.0.jar –s src_dir –r report_file –n selfcheck

例如笔者执行的语句为:

sudo java -Dfile.encoding=UTF-8 -jar /home/jiajiahao/Desktop/tools_oat-master/target/ohos_ossaudittool-1.0.jar -s /home/jiajiahao/Desktop/gitee_speexdsp -r /home/jiajiahao/Desktop/gitee_speexdsp/OAT_report.text -n nameOfRepo

扫描结果

执行完上述命令后,OAT_report.text生成内容如下:

同时在speexdsp父目录下生成log文件夹。

原生库通过make或者cmake时生成的一些配置文件。如比较通用的config.h配置文件,config.h文件为原生库生成文件,原则上也不做修改,为了避免文件上仓进行代码扫码,可以将文件文件修改后缀名(config.h.in)。相关文档中需要将配置文件使用方法说明。

提供README.OpenSource文件

README.Opensource的格式如下:

[
{
"Name": "", ## 库名
"License": "", ## 开源协议
"License File": ", ## 开源文件,一般开源项目都会自带该文件
"Version Number": "", ## 库的版本
"Owner": "", ## 作者
"Upstream URL": "", ## 开源库的地址
"Description": "" ## 库的描述
}
]

speexdsp的README.OpenSource文件如下:

[
{
"Name": "speexdsp",
"License": "BSD-3-Clause",
"License File": "COPYING",
"Version Number": "1.2.1",
"Owner": "2692032597@qq.com",
"Upstream URL": "https://speex.org/",
"Description": "Speexdsp is a speech processing library that goes along with the Speex codec"
}
]

提供库的分析文档

三方库分析文档如下:

一、确定库实现方式
例如:C/C++/JS/JAVA
二.依赖分析
例如:当前库依赖其他三方库,如下
1)库名1,库仓库地址
2)库名2,库仓库地址
三、license以及版权
例如:一般在license文件或者COPYING中,Apache License V2.0
四、最新一次版本
xx年xx月xx日,版本号xxx
五、功能点分析
(罗列出该库所支持的功能)
六、代码规模
(统计库代码总行数,包括.h/.hpp/.c/.cpp/.cc 等代码相关文件)

提供功能测试文档

文档中需罗列出:

提供导出的api接口列表

  1. 导出库对外暴露的所有api接口的列表。
  2. 导出库对外暴露的已测试api接口的列表。

十、上传speexdsp至OpenHarmony仓库

配置个人信息

打开git bash,依次输入以下命令:

git config --global user.name "xxxx"   (配置用户名,xxxx为账号用户名,即个人空间地址)
git config --global user.email "xxxxxx@xxx" (gitee 账号邮箱与签署DCO 的邮箱保持一致即可)
git config --list (查看配置情况)
git config --global credential.helper store (解决每次git pull都要输入账号信息的问题)

克隆仓库内容到本地

到个人账号点击并进入​​contest仓库​​, fork该仓库:

进入到clone界面,复制clone的链接地址。

执行如下语句:

git clone https://gitee.com/xxxxx/contest.git --depth=1

利用git lfs机制添加特殊文件

提交三方库时候,文档中有PDF文件时就需要使用利用git lfs机制。

git lfs track xxx/xxx.pdf  // 声明该特殊文件到git lfs机制
git add .gitattributes // 添加配置文件
git add xxx/xxx.pdf // 添加具体特殊文件到暂存区中
git lfs ls-files  // 确认相关test_lfs.a 文件是否已经添加到lfs 机制中。
git  add *   //将变更文件加入到暂存区
git commit -s -m  "add:知识体系7_10 日心得"  //将暂存区内容签名并提交到本地

推送本地修改到账号仓库

现在需要将本地仓库的修改内容推送到gitee上fork后的个人仓库,使用git push命令来完成这个动作。

git push origin master

进入自己的账号下面,查看这个仓库,发现已经发生了变化。从个人账号仓库下向官方仓库下提交PR。

进入个人账号的该仓库下,点击增加PR即可开始提交PR。

提交pr时,push的文件超过100个文件,在pr页面只显示100个。

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​​。

来源:​​51CTO开源基础软件社区内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯