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" == &gt;
51c67d6573Sopenharmony_ci& == &gt;
52c67d6573Sopenharmony_ci' == &gt;
53c67d6573Sopenharmony_ci< == &gt;
54c67d6573Sopenharmony_ci> == &gt;
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>