Good day to you, Jiaqi,
Feel free to file a jira issue :-)
Cheers,
Franz
Jiaqi Guo wrote:
>
> Hi Franz,
>
> I seemed to miss this mail until just now. Sorry for late response.
>
> I was trying to get some information of the plugin itself (A
> PluginDescriptor object). In Maven1 this is feasible if Jelly script
> refers something like "${plugin.get...}" so I guessed there should be
> similar thing in Maven2. More specifically, I tried to find the full
> path of a jar file which is one of plugin's dependencies. The workaround
> ends up to be declaring a Map parameter with expression
> "${plugin.artifactMap}"
>
> Thanks for the link. It's strange that "${plugin}" is not mentioned
> there. Maybe nobody needs it anymore, while the code that handles
> "plugin" does exist since the very beginning of maven2.
>
>
> Best regards
> -Jiaqi
>
>
> franz see wrote:
>
>>Good day to you, Jiaqi,
>>
>>Ah..yes. I also don't understand the purpose of that indexOf("/"). The
only
>>use case I can think of for that is that when the "/" is inside the curly
>>braces....which I don't think is recommendable anyway.
>>
>>But like what you said, the first argument of ${x.y.z} is irrelevant for
the
>>expression evaluator. Thus, it will still not return null.
>>
>>Btw, what are you trying to retrieve with ${plugin} -
>>org.apache.maven.model.Plugin? If so, on top of my head, I suggest getting
>>all the build plugins and searching for the build plugin which matches
>>${plugin.groupId} ${plugin.artifactId}, and ${plugin.version}. ...But I am
>>not sure though why would you want the model of the Plugin.
>>
>>Btw, for more information about the Maven Properties, kindly check [1].
>>
>>Cheers,
>>Franz
>>
>>[1] http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide
>>
>>
>>Jiaqi Guo wrote:
>>
>>
>>>Hi Franz,
>>>
>>>I tried to get PluginDescriptor within a mojo and got
>>>PluginParameterException, then I started looking at this code.
>>>
>>>Assume expression is string "plugin", pathSeparator is -1, the
>>>expression.substring(1) becomes "lugin". Did I miss anything here?
>>>
>>>And then looking at ReflectionValueExtractor.java today, I just realized
>>>ReflectionValueExtractor.evaluate("lugin", pluginDescriptor) may work
>>>since the first argument is irrelevant if string doesn't contain '.'.
>>>But I'm more confused by the substring part of what .indexOf("/") is for.
>>>
>>>And still, in my Mojo, the parameter with expression "${plugin}" is
>>>causing PluginParameterException which indicates the value of it is null.
>>>
>>>Regards
>>>-Jiaqi
>>>
>>>franz see wrote:
>>>
>>>
>>>>Good day to you, Jiaqi,
>>>>
>>>>Why do you say that it will be evaluted to null?
>>>>
>>>>Cheers,
>>>>Franz
>>>>
>>>>
>>>>Jiaqi Guo wrote:
>>>>
>>>>
>>>>
>>>>>Hi there,
>>>>>
>>>>>I'm trying to find out the build-in variables for a maven2 plugin and
>>>>>found the following code in
>>>>>http://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.4/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
>>>>> line 217:
>>>>>
>>>>>...
>>>>> else if ( expression.startsWith( "plugin" ) )
>>>>> {
>>>>> try
>>>>> {
>>>>> int pathSeparator = expression.indexOf( "/" );
>>>>>
>>>>> PluginDescriptor pluginDescriptor =
>>>>>mojoDescriptor.getPluginDescriptor();
>>>>>
>>>>> if ( pathSeparator > 0 )
>>>>> {
>>>>> String pathExpression = expression.substring( 1,
>>>>>pathSeparator );
>>>>> value = ReflectionValueExtractor.evaluate(
>>>>>pathExpression, pluginDescriptor );
>>>>> value = value + expression.substring( pathSeparator
>>>>>);
>>>>> }
>>>>> else
>>>>> {
>>>>> value = ReflectionValueExtractor.evaluate(
>>>>>expression.substring( 1 ), pluginDescriptor );
>>>>> }
>>>>> }
>>>>> catch ( Exception e )
>>>>> {
>>>>> // TODO: don't catch exception
>>>>> throw new ExpressionEvaluationException( "Error
>>>>>evaluating plugin parameter expression: " + expression,
>>>>> e );
>>>>> }
>>>>> }
>>>>>...
>>>>>
>>>>>If I didn't miss anything this code make the value of any parameter
>>>>>expression starting with "plugin" to be null for sure, which will cause
>>>>>PluginParameterException in
>>>>>org.apache.maven.plugin.DefaultPluginManager.checkRequiredParameters(DefaultPluginManager.java:809).
>>>>>
>>>>>Same thing happens to "settings" and "project".
>>>>>
>>>>>Is this a bug of maven-2.0.4? Is there any way to get pluginDescriptor
>>>>>in Mojo?
>>>>>
>>>>>
>>>>>
>>>>>Regards
>>>>>
>>>>>--
>>>>>
>>>>>
>>>>>Jiaqi Guo
>>>>>
>>>>>http://www.cyclopsgroup.org
>>>>>[EMAIL PROTECTED]
>>>>>
>>>>>
>>>>>---------------------------------------------------------------------
>>>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>--
>>>
>>>
>>>Jiaqi Guo
>>>
>>>http://www.cyclopsgroup.org
>>>[EMAIL PROTECTED]
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>
>
> --
>
>
>
> Jiaqi Guo
>
> http://www.cyclopsgroup.org
> [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
--
View this message in context:
http://www.nabble.com/Can-anyone-explain-this-code-tf3218981s177.html#a9051587
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]