picocli icon indicating copy to clipboard operation
picocli copied to clipboard

Variable interpolation does not work for ArgGroup.heading attribute

Open marcphilipp opened this issue 9 months ago • 1 comments

I tried abusing an @ArgGroup heading to include a link for the previous group and wanted to use variable interpolation to generate a version-specific documentation link:

@ArgGroup(validate = false, order = 3, heading = "%n  For more information on selectors including syntax examples, see"
		+ "%n  @|underline https://junit.org/junit5/docs/${junit.docs.version}/user-guide/#running-tests-discovery-selectors|@"
		+ "%n%n@|bold FILTERS|@%n%n")
FilterOptions filterOptions;

junit.docs.version is defined as a system property. I also tried with java.version to rule out a problem setting the custom system property.

Admittedly, my use case is a bit weird (please let me know if there's a better way to do this), but the Picocli docs make it sound as if variable interpolation should work in all annotation attributes, includine ArgGroup.heading.

marcphilipp avatar May 16 '24 15:05 marcphilipp