[
https://issues.apache.org/jira/browse/MNG-6437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17768142#comment-17768142
]
ASF GitHub Bot commented on MNG-6437:
-------------------------------------
gnodet commented on code in PR #812:
URL: https://github.com/apache/maven/pull/812#discussion_r1334753117
##########
maven-core/src/main/java/org/apache/maven/plugin/ReflectionValueExtractor.java:
##########
@@ -261,22 +265,14 @@ private static Object getPropertyValue(Object value,
String property) throws Int
ClassMap classMap = getClassMap(value.getClass());
String methodBase = Character.toTitleCase(property.charAt(0)) +
property.substring(1);
- String methodName = "get" + methodBase;
try {
- Method method = classMap.findMethod(methodName);
-
- if (method == null) {
- // perhaps this is a boolean property??
- methodName = "is" + methodBase;
-
- method = classMap.findMethod(methodName);
+ for (String prefix : Arrays.asList("get", "is", "to", "as")) {
+ Method method = classMap.findMethod(prefix + methodBase);
+ if (method != null) {
+ return method.invoke(value, OBJECT_ARGS);
+ }
Review Comment:
No, that's one of the important change to support `toXxx` and `asXxx`.
> Generic .uri suffix to get the URI representation of any file property
> ----------------------------------------------------------------------
>
> Key: MNG-6437
> URL: https://issues.apache.org/jira/browse/MNG-6437
> Project: Maven
> Issue Type: Improvement
> Components: Core
> Affects Versions: 3.5.4
> Reporter: Claude Brisson
> Assignee: Guillaume Nodet
> Priority: Major
> Fix For: 4.0.x-candidate, 4.0.0
>
>
> It's impossible to properly generate, for instance, a java policy file which
> needs files URIs, using either Cargo properties and filtered config files, or
> just filtered resources.
> In both cases, the problem is the impossibility to generate proper URIs when
> expanding Maven properties (see also MNG-3760).
> The candidate feature is to add a way to explicitly request the URI when
> expanding a property by means of a {{.uri}} suffix. The underlying
> {{getUri()}} method should rely on the correct {{Path#toUri()}} and neither
> {{File#toUri()}} nor {{File#toString()}}, see the SO reference in MNG-6386.
> For instance:
> * {{${project.basedir.uri}}} instead of the broken {{${project.baseUri}}}
> (and of course fix MNG-6436 otherwise it's useless)
> * {{${project.build.directory.uri}}}
> * {{${settings.localRepository.uri}}}
> * etc
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)