Hi Paul,

my proposal[1] and yours have the same problem base, but a different solution. In the wish to fully hide any resolution related logic, I might need to add the option to specify DependencyFilters[2].
Have a look at it and see if we can work towards a solid solution.

thanks,
Robert

[1] https://issues.apache.org/jira/browse/MPLUGIN-302
[2] https://maven.apache.org/shared/maven-common-artifact-filters/apidocs/org/apache/maven/shared/artifact/filter/resolve/package-frame.html

On Thu, 11 Aug 2016 20:06:42 +0200, Paul Benedict <[email protected]> wrote:

The @Mojo annotation requires the Resolution Scope to be a static value.
Thus far, I haven't found any way to actually dictate this dynamically --
like through a configuration parameter, for example.

I understand the use of attribute "requiresDependencyResolution" is meant
to resolve dependencies before the plugin executes, but I don't see this as insisting on a static value. That's an implementation choice, for sure. An
alternate solution -- "blue skying" here for a moment -- would be for a
mojo to implement an interface for pre-processing. For example:

@Mojo(name="hello", requiresDependencyResolution=DYNAMIC)
public HelloMojo
  extends AbstractMojo
  implements MojoDependencyResolutionProvider {

  @Override
  public void execute() ... { }

  @Override
  public String getMojoResolutionScope() { ... }

}

I am not proposing this as *the* solution but as an illustration of the
general concept I have in mind. This is illustrating after the parameters
inject but before the plugin executes (in its proper phase or otherwise).

WDYT?

Cheers,
Paul

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to