- 优化Warning的输出数据源
- 更新依赖库
com.google.protobuf
-> 4.28.3
- 修复
--data-source-mapping-file
指向的地址无效时的 stacktrace 。
- 输出的UE代码的默认值也输出到 USTRUCT 申明中(不包含
FString
)。 - 增加
--data-source-mapping-file
,--data-source-mapping-mode
,--data-source-mapping-seed
控制数据源输出通过Hash隐藏原始文件。
- 优化整数类型的验证,不允许浮点数转整数。
- 增加
org.xresloader.field_tag=<Tag>
和org.xresloader.oneof_tag=<Tag>
插件,并允许通过--ignore-field-tags
忽略部分数据。 - 更新依赖库
maven-surefire-plugin
-> 3.5.0maven-shade-plugin
-> 3.6.0commons-cli
-> 1.9.0commons-codec
-> 1.17.1log4j
-> 2.24.0com.google.protobuf
-> 4.28.0org.apache.poi
-> 5.3.0
- 修复 2.18.0-2.18.1 版本中映射可选字段的错误。
- 修复
%
后缀和带验证器时Excel对大数字自动附加的,
的适配。
- 增加插件
org.xresloader.field_list_strip_option=LIST_STRIP_DEFAULT|LIST_STRIP_NOTHING|LIST_STRIP_TAIL|LIST_STRIP_ALL
用于给单个字段设置数组裁剪。 - 增加插件
org.xresloader.field_list_min_size="<N>|枚举名"
用于给单个字段数组最小长度要求。 - 增加插件
org.xresloader.field_list_max_size="<N>|枚举名"
用于给单个字段数组最大长度要求。 - 增加插件
org.xresloader.field_list_strict_size=<true|false>
用于设置单个字段数组的严格长度要求,即不自动补全最小长度,而是报错。 - 增加选项
--disable-alias-mapping
用于关闭字段映射时使用别名。 - 修复使用别名时,message结构未被正确映射的问题。
- 修复对Excel对大数字自动附加的
,
的适配。 - 修复对非裁剪模式下的数组数据自动补全问题。
- 在此版本后,默认启用
--enable-alias-mapping
开启字段别名映射。如果出现别名重名出现冲突,请使用--disable-alias-mapping
还原之前的默认行为。
- 修复数组别名丢失字段映射的问题。
- 修复文本模式输出跨分组转出数据没清理干净的问题。
- 增加
--disable-data-validator
允许跳过数据验证。 - 增加正则表达式验证器
Regex("正则表达式")
。
- 修复字段别名的一处错误
- 更新依赖库
com.google.protobuf
-> 4.27.2org.apache.poi
-> 5.3.0
- 增加int32和uint32的范围检测。
- JSON和Javascript类型输出时,超过
2^53
和低于-2^53
的值转为字符串类型表示。 - 修复无效的空行忽略提示(空通过Scheme
JsonCfg-LargeNumberAsString=true/false
来控制)。 - 单例增加同步锁和ThreadLocal,预埋下个版本可能会增加内置的多线程并发。
- 增加
org.xresloader.field_allow_missing_in_plain_mode
和org.xresloader.oneof_allow_missing_in_plain_mode
以允许Plain模式下部分字段可选 - 更新依赖库
jacoco-maven-plugin
-> 0.8.12maven-compiler-plugin
-> 3.13.0maven-shade-plugin
-> 3.5.3build-helper-maven-plugin
-> 3.6.0commons-cli
-> 1.8.0commons-codec
-> 1.17.0log4j
-> 2.23.1org.json
-> 20240303com.google.protobuf
-> 4.27.0commons-csv
-> 1.11.0
- 修复转出bin类型数据时,所有字段都是默认值(转出的数据零字节)时,此行会被裁减掉的BUG。
- 修复Excel文件压缩率过高时无法打开文件的问题。
- 更新依赖库
maven-compiler-plugin
-> 3.12.1maven-surefire-plugin
-> 3.2.5build-helper-maven-plugin
-> 3.5.0commons-codec
-> 1.16.1log4j
-> 2.22.1msgpack-core
-> 0.9.8org.json
->20240205com.google.protobuf
-> 3.25.3xmlsec
-> 4.0.1org.apache.poi
-> 5.2.5junit-jupiter-api
-> 5.10.2
- 修订
DataVerifyInTableColumn
验证器的文件错误输出。 - 新增
org.xresloader.map_key_validator
和org.xresloader.map_value_validator
插件用于设置map类型的内部字段验证器。 - 更新依赖库
org.jacoco.jacoco-maven-plugin
-> 0.8.11maven-surefire-plugin
-> 3.2.2maven-shade-plugin
-> 3.5.1commons-cli
-> 1.6.0log4j
-> 2.22.0msgpack-core
-> 0.9.6org.json
-> 20231013com.google.protobuf
-> 3.25.1org.apache.santuario
-> 4.0.0org.apache.poi
-> 5.2.4org.snakeyaml
-> 2.7org.junit.jupiter
-> 5.10.1
- 增加输出每个数据源的数据个数
- 修订数据源错误时的返回码
- 增加连续空行检测(
--tolerate-max-empty-rows
可用于设置连续空行检测数量。 )
- 修订数值类型数据错误导致的验证器Panic问题
- 从Excel读取浮点数支持
%
,读取整数支持,
分隔符。 - 修订列名输出
- 包含 2.14.0-rc1 到 2.14.0-rc4 版本的所有内容
- 修订老Scheme配置模式的输出格式
- 优化调整内部Validator变量名
InTableColumn()
和InText()
验证器按需加载文件内容- 验证器加载失败现在也返回错误
- 自定义验证规则改为首次使用时采取检测循环依赖
- 优化公式错误的输出消息
- 修订唯一性验证器显示的冲突行号少了1的问题。
- 自定义验证器增加
description
配置,用以支持自定义描述输出。 - 优化输出的列名
- 使用LRU算法来缓存缓存流式索引数据源表,增加
--data-source-lru-cache-rows
来控制LRU缓存大小。
- 插件重命名
verifier
->validator
- 增加函数验证器:
InText("文件名"[, 第几个字段[, \"字段分隔正则表达式\"]])
: 从文本文件(UTF-8编码),可以指定读第几个字段和用于字段分隔的正则表达式 - 增加函数验证器:
InTableColumn("文件名", "Sheet名", 从第几行开始, 从第几列开始)
: 从Excel数据列读取可用值,指定数据行和数据列 - 增加函数验证器:
InTableColumn("文件名", "Sheet名", 从第几行开始, KeyRow, KeyValue)
: 从Excel数据列读取可用值,指定数据行并通过某一行的的值获取数据列 - 增加选项
--validator-rules
用于指定自定义验证器组合 - 增加自定义索引器缓存,缓存30000行以下的表格,加快读取速度
org.xresloader.field_alias
和org.xresloader.enum_alias
允许多个别名- 修订repeated字段映射使用别名的问题
- 增加
org.xresloader.field_not_null
插件和org.xresloader.oneof_not_null
用以忽略Excel中指定数据为空的数据行 - 增加
org.xresloader.field_unique_tag
插件用以支持唯一性检测 -f
支持传入多个pb文件
- 增加
org.xresloader.ue.ue_origin_type_name
来设置输出UE代码的原始类型 - 增加
org.xresloader.ue.ue_origin_type_default_value
来设置输出UE代码的原始类型的默认值 - 修复打包时
Discovered module-info.class. Shading will break its strong encapsulation.
的告警 - 允许在Excel同一列里配置多个字段,由转表工具自动复制
- 范围验证器支持
>数字
,>=数字
,<数字
,<=数字
, 并且现在支持浮点数。 - 修复一处UE-Csv输出格式问题
- 更新
protobuf
到 3.23.3 - 更新
org.json
到 20230618 - 更新
commons-codec
到 1.16.0 - 更新
build-helper-maven-plugin
到 3.4.0 - 更新
maven-shade-plugin
到 3.4.0 - 更新
maven-surefire-plugin
到 3.1.2
- 修订UE的FObjectFinder只能用于构造函数的问题。
- 增加
UeCfg-EnableDefaultLoader
选项控制默认的Loader是否开启 - 增加
org.xresloader.ue.default_loader=EN_LOADER_MODE_DEFAULT|EN_LOADER_MODE_ENABLE|EN_LOADER_MODE_DISABLE
选项控制单独的Message是否开启默认Loader
- 增加
- 增加UE输出代码的额外包含头文件选项
- 增加
UeCfg-IncludeHeader
选项,对所有输出的UE代码额外包含头文件 - 增加
org.xresloader.ue.include_header
插件用于对于特定的Message额外附加包含文件
- 增加
- 修复Lua输出
</
时追加了冗余的\
导致转移错误的问题。 - 修复一处在Plain模式中oneof内使用enum类型时,无法导出输出的问题。
- 更新
org.jacoco.jacoco-maven-plugin
到 0.8.10 - 更新
org.apache.maven.plugins.maven-compiler-plugin
到 3.11.0 - 更新
maven-surefire-plugin
到 3.1.0 - 更新
org.apache.maven.plugins.maven-shade-plugin
到 3.4.1 - 更新
log4j
到 2.20.0 - 更新
protobuf
到 3.23.0 - 更新
org.apache.pdfbox
到 2.0.28 - 更新
org.apache.santuario.xmlsec
到 3.0.2 - 更新
org.dom4j
到 2.1.4 - 更新
org.apache.commons.commons-csv
到 1.10.0 - 更新
junit
到 5.9.3
- 修复Excel文件过大时的报错和提示
- 增加Javascript Patch数据的功能(感谢 @superwenda )
- 允许多个数据源查找目录
- 添加benchmark参考
- 更新
protobuf
到 3.21.9 - Json和UE-Json格式的输出保证有序
- 修复UE-Csv格式输出map类型时乱序的问题
- 特殊处理
Timestamp
和Duration
类型的字符串转换 - 移除
UeCfg-RecursiveMode
选项 - 重构UE输出的数据生成模块,简化维护复杂度
- 修复lua输出UTF-8字符转义错误的问题
- 更新
protobuf
到 3.21.8 - 更新
org.apache.poi
到 5.2.3 - 更新
org.apache.pdfbox
到 2.0.27 - 更新
org.apache.santuario
到 3.0.1 - 更新
org.json
到 20220924 - 更新
org.apache.logging.log4j
到 2.19.0 - 更新
maven-shade-plugin
到 3.4.0
- 更新
protobuf
到 3.21.5 - 更新
org.apache.logging.log4j
到 2.18.0 - 更新
org.apache.poi
到 5.2.2 - 更新
org.apache.santuario
到 3.0.0 - 更新
org.json
到 20220320 - 更新
commons-cli
到 1.5.0 - 更新
jacoco-maven-plugin
到 0.8.8 - 更新
maven-compiler-plugin
到 3.10.1 - 更新
maven-shade-plugin
到 3.3.0 - 更新
build-helper-maven-plugin
到 3.3.0 - 更新
org.msgpack.msgpack-core
到 0.9.3 - 更新
org.apache.pdfbox
到 2.0.26 - 抽离出协议为单独的子模块
- Java运行时要求升级到11
- 调整Example内UE输出代码路径。
- 修订UE-Csv模式输出时,无法转出 plain 模式的repeated message字段的BUG
- 裁剪数组尾部空元素
--list-strip-empty-tail
,对Ue-Csv
模式输出可用了 - 默认使用
--disable-excel-formular
关闭公式实时计算,使用更高效的索引器 - 增加
--enable-string-macro
用于让Macro(文本替换),对字符串类型生效。或使用--disable-string-macro
让Macro(文本替换),对字符串类型不生效。
默认不生效,批量转表工具中可以通过全局开启
--enable-string-macro
,特定表使用--disable-string-macro
来实现默认开启字符串文本替换,特定表不替换
由于变更了默认的索引器,导致对Excel一些内置的数据类型处理和先前有一些差异。比如对于日期时间类型、百分率等。
现在会先转出原始的文本,再根据protocol的目标类型做转换。如果需要回退到老的POI索引,可以使用 --enable-excel-formular
选项切换到老的索引器。
- 文本类型输出也增加Hash Code(和二进制输出的计算规则不同)
- 更新
org.apache.logging.log4j
到 2.14.1 - 更新
org.msgpack.msgpack-core
到 0.9.0 - 更新
org.json
到 20210307 - 更新
com.google.protobuf.protobuf-java
到 3.18.0 - 升级
org.apache.xmlbeans
到 5.0.0 - 更新
commons-csv
到 1.9.0 - 修复内置索引引擎为设置数据源目录的BUG(Thanks to vividkings)
- 增加
-r/--descriptor-print
选项,用于导出所有描述数据 - 修复 Plain 模式二进制输出enum数组的BUG
- 修复保留空list处理64位整数不正确的问题 #5
--disable-empty-list
和--enable-empty-list
改为不推荐使用。新增--list-keep-empty
,--list-strip-all-empty
和--list-strip-empty-tail
。- 新增
--list-strip-empty-tail
模式仅移List除尾部的空元素。 - 修订文本输出的排序规则,仅和Key有关,和Value无关。
- Plain模式的message数组允许指定下标。
- 优化公式存在不支持函数时的输出。
- 修复Excel文件压缩率过高时无法打开文件的问题。
- 修复
Ue-Csv
和Ue-Json
输出时,结构名字和输出资源文件名不一致时生成的路径错误 - 生成的UE的加载代码允许自己指定Loader
- 修复在
Ue-Csv
和Ue-Json
输出时, Excel存在空的合成Key单元格时会crash的BUG。 - 升级
org.apache.poi
到 5.0.0 - 升级
org.apache.xmlbeans
到 4.0.0
- 增加
--enable-alias-mapping
选项,用于在映射Excel列到目标数据结构时,开启别名匹配。 - protobuf的枚举类型解析支持message内嵌enum。
- 对大文件处理每5000行打印一次进度日志。
- [实验性] 使用
--disable-excel-formular
关闭公式后,将采用流式读取机制索引数据,以降低内存开销。同时会关闭日期格式的探测。 - 优化公式错误时的处理流程,现在公式错误不会中断执行仅会打印出Warning。
- 更新
org.codehaus.mojo.build-helper-maven-plugin
到 3.2.0 - 更新
commons-codec
到 1.15 - 更新
org.msgpack.msgpack-core
到 0.8.22 - 更新
com.google.protobuf.protobuf-java
到 3.13.0 - 更新
org.apache.logging.log4j
到 2.14.0 - 更新
org.json
到 20201115 - 更新
com.google.protobuf
到 3.14.0
- 补充部分遗漏的大文件的进度日志
- 修复大文件日志的异常问题
- 增加
--enable-alias-mapping
选项,用于在映射Excel列到目标数据结构时,开启别名匹配。 - protobuf的枚举类型解析支持message内嵌enum。
- 对大文件处理每5000行打印一次进度日志。
- 更新
maven-shade-plugin.maven-shade-plugin
到 3.2.4 - 更新
org.codehaus.mojo.build-helper-maven-plugin
到 3.2.0 - 更新
commons-codec
到 1.15 - 更新
org.msgpack.msgpack-core
到 0.8.21 - 更新
com.google.protobuf.protobuf-java
到 3.13.0 - [实验性] 使用
--disable-excel-formular
关闭公式后,将采用流式读取机制索引数据,以降低内存开销。同时会关闭日期格式的探测。
- 增加
UeCfg-CsvObjectWrapper
选项,接受两个参数用于指定Ue-Csv
模式输出时,map和array的包裹字符 - 优化命令行模式的参数解析
- 支持自定义的验证器指向oneof
- 修复在Excel验证器中配置完整路径时索引不到验证器的BUG
- header里(不包含UE输出)增加
data_source
来方便各类工具在读取失败时提示数据来源。 - 修正自定义插件重名时的反射数据导出问题,如果发现名字冲突,插件的key采用full name
- 修复大整数可能丢失精度的BUG
- 允许输入的pb文件不用打包插件的proto(
xresloader.proto
,xresloader_ue.proto
)和protobuf官方的proto文件(如:google/protobuf/duration.proto
,google/protobuf/descriptor.proto
等) - 增加
--ignore-unknown-dependency
选项用于忽略未知的输入协议的依赖项 - 优化版本号选项
--data-version
,在批处理模式设置位默认版本号,对所有批处理项生效,在普通模式设置版本号,仅对当前转表项生效 - 重构,重命名
DataDstMessageDescriptor
->DataDstTypeDescriptor
。 - 增加对map类型的支持,map的key必须是整数或字符串,value可以是任意类型。在 UE-Json 和 UE-Csv 输出中,会使用
TMap<KEY类型, VALUE类型>
来输出代码。
- 优化一些issue的上报提示
- 增加plain模式的
oneof
支持,输入为[类型名或ID或别名][分隔符][具体内容的plain模式数据]
, 比如:item|1001,123
。不支持 UE-Csv 输出的非嵌套模式(UeCfg-RecursiveMode=False
) - 增加
oneof
的sample - 修复
enum
字段类型输出二进制时的值类型错误 - 优化
oneof
字段的配置冲突检测 - 标记 UE-Csv 输出的非嵌套模式(
UeCfg-RecursiveMode=False
) 为不推荐的,以后将被移除。 - [实验性] UE-Json 和 UE-Csv 输出的蓝图代码中,增加指示oneof分支的字段,便于对
oneof
输出的分支判断和反射使用 - 优化一系列错误提示流程
- 增加一个python工具,可以打印转出的protobuf二进制数据(需要
pip/python3 -m pip install protobuf [--user]
)
- 修复 UE-Csv 格式输出的一处空数据的崩溃BUG
- 增加BUG上报说明
- 修复启用多文件合并功能时,UE-Csv 格式输出会输出多次Header的BUG
- sample输出增加递归模式的 UE-Csv
- [实验性] UE-Csv 格式输出的现在也支持plain模式了(不包含非嵌套模式(
UeCfg-RecursiveMode=False
))
- 修复一处枚举类型验证器复用丢失的问题
- 增加插件
org.xresloader.field_required
, 用于向proto3提供,proto2的 required 约束 - 升级protobuf到3.12.1
- 升级log4j到2.13.3
- 升级org.json到20200518
- 常规更新
- 升级protobuf到3.11.4
- 升级maven-shade-plugin到3.2.3
- 升级build-helper-maven-plugin到3.1.0
- 升级commons-codec到1.14
- 升级log4j到2.13.2
- 升级msgpack-core到0.8.20
- 升级poi到4.1.2
- 升级commons-csv到1.8
- 修复导出文件选项可能爆栈失败的问题
- 调整协议描述输出的枚举数据,同时输出name和number
- 更新图标
- 修复一处协议配置错误没有打印具体原因的问题
- 添加
--require-mapping-all
选项用于检查message中所有字段都必须被配置映射关系,用于检查配置遗漏 - 增加protobuf插件 -
org.xresloader.msg_require_mapping_all
可以设置某个message的所有字段必须被全部映射,用于检查配置遗漏 - 协议里直接配置
enum
类型也支持默认增加该类型的验证器 - 大量优化内部数据结构,更好地分离映射关系和AST描述
- 增加实验性功能Plain模式,允许把message所有字段或动态长度的数组配置在一个单元格内(UE-CSV模式暂不支持)
- 修复输出的UE导入文件的没有自动删除老的导入条目的问题
- UE-CSV 和 UE-Json 模式输出也按照field定义顺序输出(即: 先Key再Value,然后二级排序按field的定义number)
- 对
-i/--option-print <文件名>
和-c/--const-print <文件名>
的字段输出排序,有利于diff - 更新 protobuf 到 3.10.0
- 使用 org.msgpack.msgpack-core 替换 org.msgpack.msgpack,保持和 lua/javascript/xml等一样的输出顺序。
- msgpack 的输出结构变化(详见: https://github.com/xresloader/xresloader/tree/master/loader-binding/msgpack )
- 更新log4j到2.12.1
- 更新org.json到20190722
- 更新protobuf到3.9.2
- 更新poi到4.1.1
- hash算法更替为SHA-256
- 协议外层包体增加
data_message_type
用于方便使用者通过反射机制查找data_block
对应的数据结构 - 增加
-i/--option-print <文件名>
用于输出协议配置中的选项信息 - 对内部的
Map<string, int32>
类型输出排序,有利于-c/--const-print <文件名>
时有序输出枚举值 - 移除
-c/--const-print <文件名>
时导出的google.protobuf
的内置枚举类型值。
- 增加protobuf插件 - org.xresloader.field_alias 可以设置字段别名并用于配置了验证器的excel数据中
- 增加protobuf插件 - org.xresloader.enum_alias 可以设置枚举项目的别名并用于配置了验证器的excel数据中
- 增加protobuf插件 - org.xresloader.field_ratio 可以设置字段放大倍数值,可用于需要转出整数类型的百分率/千分率/万分率,但excel中保留小数表达
- 常量导出现在会导出protobuf的message里包含oneof了(使用C++的命名规则
k大写驼峰名字
) - 支持解析protobuf的内嵌message
- 数字类型转字符串,使用
%g
格式(去除不必要的小数点和0) - 更新 maven-compiler-plugin 到 3.8.1
- 更新 commons-codec 到 1.13
- 更新 log4j 到 2.12.0
- 更新 protobuf 到 3.9.1
- 更新 org.apache.poi 到 4.1.0
- 更新 commons-csv 到 1.7
- 修订powershell的sample生成脚本
- 优化sample输出脚本,先移除过期的
UnreaImportSettings.json
文件。 - 增加
UeCfg-RecursiveMode=true/false
的 SchemeMeta 用以控制是否启用嵌套模式,默认统一为开启嵌套模式。 - 增加
UeCfg-DestinationPath=<PATH>
的 SchemeMeta 用以控制输出的uassert目录。 - 重新开启
--disable-empty-list
和--enable-empty-list
的功能。
- 增加protobuf插件 - org.xresloader.ue.ue_type_is_class (用于UE代码输出时直接输出UE支持的
TSoftClassPtr<T>
来替换TSoftObjectPtr<T>
类型) - 增加和优化xresloader内部的Message描述抽象
- 支持UE-JSON的嵌套模式导出
- 自动创建输出目录
- 不再自动猜测Name字段,必须指定key_tag或者显式命名Name字段。(用于区分嵌套子类型和转表类型)
- 优化统一插件命名
- 增加protobuf插件 - org.xresloader.ue.not_data_table (用于UE代码输出时显式指定不输出转表数据加载代码)
- 增加UE输出的Clear接口,用于把所有的数据清空
- 增加UE输出的GetRowName接口,用于方便C++接口调用
- 修复UE接口返回的IsValid参数错误的问题
- 对protobuf的proto 3增加protobuf的扩展插件支持
- 增加protobuf插件 - org.xresloader.verifier (支持和Excel里一样的验证器语法)
- 增加protobuf插件 - org.xresloader.msg_description
- 增加protobuf插件 - org.xresloader.field_description
- 增加protobuf插件 - org.xresloader.ue.key_tag (用于UE代码输出时输出Key -> Name 的函数)
- 增加protobuf插件 - org.xresloader.ue.ue_type_name (用于UE代码输出时直接输出UE支持的
TSoftObjectPtr<T>
类型) - 增加protobuf插件 - org.xresloader.ue.helper (用于UE代码输出时的Utility类的类名后缀)
- sample里增加一个协议里的verifier示例
- 修复UE代码输出中,多输出了Name字段的问题
- 修复int32类型转出UE代码时,变成了int64的问题
- 输出的类名包含包名前缀
- 包名由 com.owent.xresloader 改为 org.xresloader.core
- 协议包名由 com.owent.xresloader.pb 改为 org.xresloader.pb
- 初步支持 UnrealEngine 4 的数据表和代码导出
- 更新protobuf到 3.7.1
- 更新maven-compiler-plugin到3.8.0
- 更新maven-shade-plugin到3.2.1
- 更新commons-codec到1.12
- 更新log4j到2.11.2
- 使用org.msgpack.msgpack-core代替org.msgpack.msgpack
- 更新org.json到20180813
- 更新poi到4.0.1
- 修复一些lint,迁移到 POI 4.X.X 的API
- javascript全局导出支持多层namespace
- 修订sample脚本问题导致的node.js转出选项不正确的问题
- 优化执行转表时创建对象的数量,使用共享的输出缓存,不再依赖运行时java反射
- 补充sample的新的示例的README
- 增加一些错误提示信息的行提示和表名提示,用以辅助排查配置错误
- org.json更新到20180130
- com.google.protobuf更新到3.5.1
- Lua常量输出支持module("模块名", package.seeall)的模式
- 支持使用"或"符号|分隔的多个验证器
- 支持整数范围验证器
- 更新protobuf到3.5.0
- 更新log4j到2.10.0
- 修复部分类型没有使用公式的BUG
- 修改版本号规则为3位,和maven内大多数库的结构一致,主版本号.功能版本号.修订版本号
- 增加-a --data-version用于允许用户设置数据内数据版本号,方便业务做多版本兼容
- 更新commons-codec到1.11
- 更新log4j到2.9.1
- 更新org.json到20171018
1.## 3.3.2
- 更新POI到3.17
- 更新protobuf到3.4.0
- 更新json到20170506
- 更新log4j到2.9.0
- 更新maven-shade-plugin到3.1.0
- 更新maven-compiler-plugin到3.7.0
- 统一使用“sheet”作为输出的“表”的称谓
1.## 3.3.1
- 修复lua和javascript无pretty模式输出的首行注释问题
- 修复验证器误报error日志的问题
1.## 3.3.0
- 更新log4j到2.8.2
- 修复1.3.2.0版本中,使用命令行模式时,同一个表会被转多次的BUG
- 使用maven-compiler-plugin来指定java版本
- 发现jvm在Windows平台下,默认编码为UTF-8时的BUG,加一个FAQ
- 移除一批对poi的deprecated的API的使用,兼容至poi 4.1版本。poi 4.2版本后API又要改名,到时候再换一次
- 现在对1970年之前的时间,都视为日期无效,只取时分秒
1.## 3.2.0
- 更新build-helper-maven-plugin到3.0.0
- 更新maven-shade-plugin到3.0.0
- 更新commons-cli到1.4
- 更新log4j到2.8.1
- 更新protobuf到3.2.0
- 优化命令行模式的信息输出
- 修复scheme表读取失败时返回码未增加失败计数的问题
1.## 3.1.0
- 允许多个package(命名空间),当缩写类型名称存在于多个命名空间时,必须使用完整类型名
1.## 3.0.2
- 修复1.3.0.1中仅二进制输出会导出默认required字段的问题
- 修正移除转表失败是的错误提示信息
1.## 3.0.1
- 修复1.3.0.0不兼容以前版本对proto v2 的required字段生成默认值的行为
- 重复的元表增加warning
1.## 3.0.0
- 支持差异化合表(不再要求合表的Key的那一行必须一致)
- 增加验证器功能,允许使用验证器校验数据和转换数据
- json配置和conf元表配置也支持合表
- 字符串类型不再走元表替换(没有实际意义)
- 允许通过外部参数设置描述信息(Meta)
- 大规模优化数据流,减少转表开销
- sample里生成pb文件时也会调用tools里的脚本生成header的pb和cpp文件(现在c++的header增加了版本号检查,需要不低于当前所用的protobuf版本)
1.## 1.0.0
- 更新build-helper-maven-plugin到1.12
- 更新log4j到2.6.2
- 更新ini4j到20160810
- 更新支持protobuf 3.0
- sample和loader-binding自动适应proto v2和proto v3
- 同步更新sample代码,同时支持proto v2和proto v3
1.## 0.6.1
- 修复excel里配置成list而协议不是repeated时的错误提示
- 使用log4j2来输出日志
- 控制台输出颜色支持
1.## 0.6.0
- javascript的写入全局可以设置导出的到统一名字空间(lua和其他输出很容易在上层做包装,但是js不行,所以js特别处理一下)
- 修正数组嵌套数组的结构转换丢失的BUG
- 补充msgpack的读取说明,补充node.js的读取示例代码
- 修正一些导出头字段名错误的问题
- 修正XML输出数组类型数据会多一层的BUG
- XML输出数组将会带数据索引号
- 统一版本号管理,从POM文件中自动生成
- 更新sample数据
1.## 0.5.0
- 增加javascript的导出支持
1.## 0.4.0
- 返回码改为失败的数量,无失败则返回0(用以和jre执行崩溃的返回码是1相统一)
- 更新build-helper-maven-plugin到1.10
- 更新maven-shade-plugin到2.4.3
- 更新json到20160212
- 优化转换错误的一些错误提示
1.## 0.3.0
- 依赖库更新,全部更新到目前为止的最新稳定版
- 增加导出enum名称集的功能
- 修正没有元信息表时,公式选项被忽略的BUG
- 修正Shceme数据未覆盖时会使用上一次的配置而不是默认值的BUG
- xml输出允许指定根节点Tag Name
1.## 0.2.1
- 允许把枚举类型提取到外部
- 优化protobuf的读取逻辑,对于相同的描述文件不再反复转换
- 整理部分字符串拼接代码
- macro数据缓存(几乎一个项目的macro表只有一个,但是要转换的表有几十个,所以对macro可以做特殊的预处理)
1.## 0.2.0
- 增加通过std输入转换列表的功能,提升转换速度
- 更换gnu.getopt为commons-cli,优化参数转换代码