Dependency cleanup
This release shrinks the lightproto-code-generator dependency footprint and removes the transitive log4j 1.2.17 that came in via jibx-tools. Generated code is byte-identical to v0.7.2.
Drop jibx-tools dependency (#8)
jibx-tools was only used for two simple pluralize / depluralize helpers feeding into generated repeated-field accessor names (addItem, getItemsCount, …). The actual logic — ~40 lines of suffix-rule manipulation from org.jibx.util.NameUtilities — is now vendored directly into the code generator (BSD 3-clause, attributed in source). This drops:
org.jibx:jibx-tools1.3.3log4j:log4j1.2.17 (multiple CVEs)- ~10 ancient
org.eclipse.*JDT jars
The vendored behavior is locked in by a new parameterized UtilTest that covers every branch of the rules (including the case-sensitivity quirk where "ANY" pluralizes to "ANYs").
Drop guava dependency (#9)
The code generator used guava for three small utilities: Joiner.on('/').join(...) (replaced by String.join), Maps.newHashMap() (replaced by new HashMap<>()), and CaseFormat snake↔camel conversions (replaced by two small in-tree helpers, verified byte-identical to guava's output for every input shape that appears in the code generator). Removes:
com.google.guava:guava32.0.0-jre- 6 transitive annotation jars (
failureaccess,listenablefuture,jsr305,checker-qual,error_prone_annotations,j2objc-annotations)
Net effect
After these two changes, the lightproto-code-generator runtime dependency tree is just protobuf-java + slf4j-api + roaster. The generated runtime is unchanged.