1c67d6573Sopenharmony_ci<?xml version="1.0" encoding="UTF-8"?> 2c67d6573Sopenharmony_ci<!-- Copyright (c) 2021 Huawei Device Co.|Ltd. 3c67d6573Sopenharmony_ci Licensed under the Apache License|Version 2.0 (the "License"); 4c67d6573Sopenharmony_ci you may not use this file except in compliance with the License. 5c67d6573Sopenharmony_ci You may obtain a copy of the License at 6c67d6573Sopenharmony_ci 7c67d6573Sopenharmony_ci http://www.apache.org/licenses/LICENSE-2.0 8c67d6573Sopenharmony_ci 9c67d6573Sopenharmony_ci Unless required by applicable law or agreed to in writing|software 10c67d6573Sopenharmony_ci distributed under the License is distributed on an "AS IS" BASIS, 11c67d6573Sopenharmony_ci WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND|either express or implied. 12c67d6573Sopenharmony_ci See the License for the specific language governing permissions and 13c67d6573Sopenharmony_ci limitations under the License. 14c67d6573Sopenharmony_ci 15c67d6573Sopenharmony_ci Notes: 16c67d6573Sopenharmony_ci This is project config file for OpenHarmony OSS Audit Tool|if you have any questions or concerns|please email chenyaxun. 17c67d6573Sopenharmony_ci--> 18c67d6573Sopenharmony_ci<!-- OAT(OSS Audit Tool) configuration guide: 19c67d6573Sopenharmony_cibasedir: Root dir|the basedir + project path is the real source file location. 20c67d6573Sopenharmony_cilicensefile: 21c67d6573Sopenharmony_ci1.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. 22c67d6573Sopenharmony_ci 23c67d6573Sopenharmony_citasklist(only for batch mode): 24c67d6573Sopenharmony_ci1. task: Define oat check thread|each task will start a new thread. 25c67d6573Sopenharmony_ci2. task name: Only an name|no practical effect. 26c67d6573Sopenharmony_ci3. task policy: Default policy for projects under this task|this field is required and the specified policy must defined in policylist. 27c67d6573Sopenharmony_ci4. task filter: Default filefilter for projects under this task|this field is required and the specified filefilter must defined in filefilterlist. 28c67d6573Sopenharmony_ci5. task project: Projects to be checked|the path field define the source root dir of the project. 29c67d6573Sopenharmony_ci 30c67d6573Sopenharmony_ci 31c67d6573Sopenharmony_cipolicyList: 32c67d6573Sopenharmony_ci1. policy: All policyitems will be merged to default OAT.xml rules|the name of policy doesn't affect OAT check process. 33c67d6573Sopenharmony_ci2. policyitem: The fields type|name|path|desc is required|and the fields rule|group|filefilter is optional,the default value is: 34c67d6573Sopenharmony_ci<policyitem type="" name="" path="" desc="" rule="may" group="defaultGroup" filefilter="defaultPolicyFilter"/> 35c67d6573Sopenharmony_ci3. policyitem type: 36c67d6573Sopenharmony_ci "compatibility" is used to check license compatibility in the specified path; 37c67d6573Sopenharmony_ci "license" is used to check source license header in the specified path; 38c67d6573Sopenharmony_ci "copyright" is used to check source copyright header in the specified path; 39c67d6573Sopenharmony_ci "import" is used to check source dependency in the specified path|such as import ... ,include ... 40c67d6573Sopenharmony_ci "filetype" is used to check file type in the specified path|supported file types: archive|binary 41c67d6573Sopenharmony_ci "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 42c67d6573Sopenharmony_ci 43c67d6573Sopenharmony_ci4. 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. 44c67d6573Sopenharmony_ci5. 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. 45c67d6573Sopenharmony_ci6. 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. 46c67d6573Sopenharmony_ci7. policyitem filefilter: Used to bind filefilter which define filter rules. 47c67d6573Sopenharmony_ci8. filefilter: Filter rules|the type filename is used to filter file name|the type filepath is used to filter file path. 48c67d6573Sopenharmony_ci 49c67d6573Sopenharmony_ciNote:If the text contains special characters|please escape them according to the following rules: 50c67d6573Sopenharmony_ci" == > 51c67d6573Sopenharmony_ci& == > 52c67d6573Sopenharmony_ci' == > 53c67d6573Sopenharmony_ci< == > 54c67d6573Sopenharmony_ci> == > 55c67d6573Sopenharmony_ci--> 56c67d6573Sopenharmony_ci<configuration> 57c67d6573Sopenharmony_ci <oatconfig> 58c67d6573Sopenharmony_ci <licensefile>LICENSE-APACHE|LICENSE-MIT</licensefile> 59c67d6573Sopenharmony_ci <policylist> 60c67d6573Sopenharmony_ci <policy name="projectPolicy" desc=""> 61c67d6573Sopenharmony_ci <policyitem type="compatibility" name="Unicode-TOU" path="regex-syntax/src/unicode_tables/LICENSE-UNICODE" desc="Unicode LICENSE友好"/> 62c67d6573Sopenharmony_ci <policyitem type="compatibility" name="InvalidLicense" path="src/testdata/LICENSE" desc="test case进程独立,不会污染"/> 63c67d6573Sopenharmony_ci </policy> 64c67d6573Sopenharmony_ci </policylist> 65c67d6573Sopenharmony_ci <filefilterlist> 66c67d6573Sopenharmony_ci <filefilter name="binaryFileTypePolicyFilter" desc="二进制文件校验策略的过滤条件" > 67c67d6573Sopenharmony_ci <filteritem type="filepath" name="src/testdata/basic.dat" desc="dat文件不涉及license"/> 68c67d6573Sopenharmony_ci <filteritem type="filepath" name="src/testdata/nullsubexpr.dat" desc="dat文件不涉及license"/> 69c67d6573Sopenharmony_ci <filteritem type="filepath" name="src/testdata/repetition.dat" desc="dat文件不涉及license"/> 70c67d6573Sopenharmony_ci </filefilter> 71c67d6573Sopenharmony_ci </filefilterlist> 72c67d6573Sopenharmony_ci </oatconfig> 73c67d6573Sopenharmony_ci</configuration>