# CopyRightCodeCollector **Repository Path**: Esmool/CopyRightCodeCollector ## Basic Information - **Project Name**: CopyRightCodeCollector - **Description**: 著作权源码收集工具 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-08-12 - **Last Updated**: 2024-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CopyRightCodeCollector 著作权源码收集工具 使用本工具可以收集著作权申请所需的源码前后三千行. ## 用法 ``` CRCC.exe [ []] sourceDir: 源码所在目录 destDir: 收集材料所需的输出目录 entryPoint: 源码系统入口点文件 configFile: 配置文件, 可省略 ``` ## 配置文件写法 配置文件为一个 YAML 文件, 格式如下 ```YAML noFileName: false headerLines: 3000 tailLines: 3000 includes: - .java - .js - .html - .css - .template - .cs - .jsp excludes: - META-INF/ - WEB-INF/ - js/require.min.js - js/json2.js - js/jquery.base64.js - js/echarts.min.js - js/css.min.js - js/css.js - js/datagrid-export.js - js/easyui/ ``` 其中 : __noFileName__ 在源码中禁用文件名提示 : __headerLines__ 头部文件所需的行数, 包括文件名行和文件之间的空行 : __tailLines__ 尾部文件所需的行数, 包括文件名行和文件之间的空行 : __includes__ 需要包含的文件范围, 为一个数组, 每个数组元素可以用 [文件范围指示法](# 文件范围指示法)指定具有某种扩展名、某 种文件路径特征或某个目录名的下的特征文件. __本 处默认包含源文件夹下的所有子目录及其下级__. : __excludes__ 需要排除的文件范围, 为一个数组, 每个数组元素可以用 [文件范围指示法](# 文件范围指示法)指定具有某种扩展名、某 种文件路径特征或某个目录名的下的特征文件. ### 文件范围指示法 文件范围指示法可以用三种形式来指示目标文件 : __扩展名__ 以句点 __.__ 开头, 例如 ___.cs___, ___.java___, ___.gitignore___. 目录或文件本身的扩展名等于指定的扩展名, 即视为匹配所指示的范围. : __目录名__ 以反斜杠 __/__ 结尾, 例如 ___bin/___, ___META_INF/___. 目录本身 的名称等于指定的目录名, 即视为匹配所指示的范围. : __子串__ 不满足上述两种形式的指示符, 例如 ___js/jquery.min.js___, ___doc/index.html___, ___Program.cs___, ___CopyRightCodeCollector/Test___. 被扫描文件的路径名称包含 指定的字串, 即视为匹配所指示的范围. 这里, __被扫描的文件的路径__ 是指该文件或目录自 __<sourceDir>__ 开始的路径, 包含 __<sourceDir>__ 本身和文件自身的名称. 同时具备 __扩展名__ 和 __目录名__ 指示形式的, 两种形式的规则均满足方是做匹配所指示的范围.