Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change ParameterData#getJavadoc to return a list of strings #6

Open
sciwhiz12 opened this issue Jul 3, 2022 · 1 comment
Open

Change ParameterData#getJavadoc to return a list of strings #6

sciwhiz12 opened this issue Jul 3, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@sciwhiz12
Copy link
Member

Currently, MappingDataContainer.ParameterData#getJavadoc returns a single String. This precludes the possibility of multi-line javadocs for parameters, which is certainly possible both by javadoc and Enigma, the current mapping interface tool used by Parchment.

I plan to change that method to return a List<String> instead, to support the possibility of multi-line javadocs for parameters officially. This has the following consequences:

  • The change in the API interface is a breaking API change and will lead to a bump of Feather's version from 1.0.1 to 2.0.0.

  • The JSON format of the Mapping Data Container specification will be updated to update the javadoc key for parameters from a string to an array of strings. This necessitates a bump in the format version from the current 1.0.0 to 2.0.0.

  • The parsers and writers for the MDC format (in the io-gson and io-moshi subprojects) will be updated to support 2.0.0 of the MDC JSON format, consistent with the change in interface and Feather version.

    • Support will be added to allow reading the v1.0.0 MDC format. This will likely be a default enabled option in the current parsers.
  • Developers which use Feather will be informed of the breaking change sometime before Parchment exports are produced with the new format, giving them a period to update their applications to use the new Feather version and test compatibility. Consumers of their applications also need to be informed to update.

I will also look over the codebase for any API-breaking changes which can get rolled into the 2.0.0 version update.

@sciwhiz12 sciwhiz12 added the enhancement New feature or request label Jul 3, 2022
@NebelNidas
Copy link

NebelNidas commented Nov 21, 2023

Why not take the Tiny v2 route and simply embed an escaped line break into the single string?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants