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
and can be retrieved through the corresponding
- 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).