1<?xml version="1.0" encoding="UTF-8"?> 2<!-- Copyright (c) 2021 Huawei Device Co.|Ltd. 3 Licensed under the Apache License|Version 2.0 (the "License"); 4 you may not use this file except in compliance with the License. 5 You may obtain a copy of the License at 6 7 http://www.apache.org/licenses/LICENSE-2.0 8 9 Unless required by applicable law or agreed to in writing|software 10 distributed under the License is distributed on an "AS IS" BASIS, 11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND|either express or implied. 12 See the License for the specific language governing permissions and 13 limitations under the License. 14 15 Notes: 16 This is project config file for OpenHarmony OSS Audit Tool|if you have any questions or concerns|please email chenyaxun. 17--> 18<!-- OAT(OSS Audit Tool) configuration guide: 19basedir: Root dir|the basedir + project path is the real source file location. 20licensefile: 211.If the project don't have "LICENSE" in root dir|please define all the license files in this project in |OAT will check license files according to this rule. 22 23tasklist(only for batch mode): 241. task: Define oat check thread|each task will start a new thread. 252. task name: Only an name|no practical effect. 263. task policy: Default policy for projects under this task|this field is required and the specified policy must defined in policylist. 274. task filter: Default filefilter for projects under this task|this field is required and the specified filefilter must defined in filefilterlist. 285. task project: Projects to be checked|the path field define the source root dir of the project. 29 30 31policyList: 321. policy: All policyitems will be merged to default OAT.xml rules|the name of policy doesn't affect OAT check process. 332. policyitem: The fields type|name|path|desc is required|and the fields rule|group|filefilter is optional,the default value is: 34<policyitem type="" name="" path="" desc="" rule="may" group="defaultGroup" filefilter="defaultPolicyFilter"/> 353. policyitem type: 36 "compatibility" is used to check license compatibility in the specified path; 37 "license" is used to check source license header in the specified path; 38 "copyright" is used to check source copyright header in the specified path; 39 "import" is used to check source dependency in the specified path|such as import ... ,include ... 40 "filetype" is used to check file type in the specified path|supported file types: archive|binary 41 "filename" is used to check whether the specified file exists in the specified path(support projectroot in default OAT.xml)|supported file names: LICENSE|README|README.OpenSource 42 434. policyitem name: This field is used for define the license|copyright|"*" means match all|the "!" prefix means could not match this value. For example|"!GPL" means can not use GPL license. 445. policyitem path: This field is used for define the source file scope to apply this policyitem|the "!" prefix means exclude the files. For example|"!.*/lib/.*" means files in lib dir will be exclude while process this policyitem. 456. policyitem rule and group: These two fields are used together to merge policy results. "may" policyitems in the same group means any one in this group passed|the result will be passed. 467. policyitem filefilter: Used to bind filefilter which define filter rules. 478. filefilter: Filter rules|the type filename is used to filter file name|the type filepath is used to filter file path. 48 49Note:If the text contains special characters|please escape them according to the following rules: 50" == > 51& == > 52' == > 53< == > 54> == > 55--> 56<configuration> 57 <oatconfig> 58 <licensefile>LICENSE-APACHE|LICENSE-MIT</licensefile> 59 <filefilterlist> 60 <filefilter name="binaryFileTypePolicyFilter" desc="二进制文件校验策略的过滤条件" > 61 <filteritem type="filepath" name="book/src/cxx.png" desc="png文件不涉及license"/> 62 <filteritem type="filepath" name="cpp_call_rust.png" desc="png文件不涉及license"/> 63 <filteritem type="filepath" name="rust_call_cpp.png" desc="png文件不涉及license"/> 64 </filefilter> 65 </filefilterlist> 66 </oatconfig> 67</configuration>