Greetings,

I am working on the Apache RAT Maven plugin.  We are attempting to migrate
to Maven 3.4.0.

I have a comment and then a question.

Comment:
https://maven.apache.org/plugin-testing/maven-plugin-testing-harness/getting-started/index.html
states that the AbstractMojoTestCase is deprecated and that the "MojoTest"
annotation should be used, but the example code at the bottom of the page
still shows an AbstractMojoTestCase example.  I feel that this example
should be replaced with how to make the MojoTest case work or at least more
strongly point to the MojoTest case recipe.

Question:

The @MojoTest annotation allows use of the @InjectMojo annotation.  which
will accept a POM as an argument to the annotation.  My problem with this,
and my biggest issue with annotations, is that I need to specify the POM at
runtime, not at compile time.

In the RAT ecosystem, everything is first defined in the CLI.  The Maven
implementation converts the CLI options into Maven options.  So when we add
new CLI options the Maven implementation automatically picks them up.  We
have the ability to generate the POMs to test the various options.  What I
don't have is a way to specify the POM and get a constructed Mojo within a
JUnit test environment.  I have not looked but I suspect the same is true
for an integration test as well.

So the question is: Is there a simple way to generate the Mojo from a POM
within the setup of a JUnit 5 test?

Any pointers would be appreciated, and thank you for all your hard work in
building the Maven tooling environment.

Claude

Reply via email to