Lorenz 0.5.5
Writer configurations
Writer configurations are a powerful new feature that allows the output of mappings writers to be fine-tuned as consumers would like. Currently, this is limited to:
- The sorting functions used to write mappings for classes, fields, and methods.
- The API is open-ended, so there is potential for further additions to be made.
Writer configurations can be created fluently through use the provided builder, which includes our default implementations.
protected MappingsWriterConfig config = MappingsWriterConfig.builder()
.classMappingComparator(Comparator.comparing(Mapping::getFullObfuscatedName))
.fieldMappingComparator(Comparator.comparing(Mapping::getFullObfuscatedName))
.methodMappingComparator(Comparator.comparing(Mapping::getFullObfuscatedName))
.build();
They are applied to a mappings writer by use of the new #setConfig
method,
and can be retrieved through the corresponding #getConfig()
method.
writer.setConfig(MappingsWriterConfig.builder().build());
Fixes
- The Kin mapping writer now produces consistent output, sorting the mappings as per the provided comparators. Output is also now rid of ‘junk’ mappings (those without valid children mappings, or a de-obf mapping of their own).