adds 'anyjava' goal (requiresProject = false) #188
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue #187
This PR adds a new goal (
exec:anyjava
- classExecAnyJavaMojo
) that extendsExecJavaMojo
. It basically adds the capability of resolving artifacts, as in dependency:get (grabbing much code from there). The basic mechanism would be to call the goalexec:anyjava
from any directory, informing required artifacts (artifacts
parameter) and mainclass (exec.mainClass
parameter) from the command line.Example (running sqlline with h2 driver on classpath):
mvn org.codehaus.mojo:exec-maven-plugin:3.0.1-SNAPSHOT:anyjava -Dartifacts=sqlline:sqlline:1.9.0,com.h2database:h2:1.4.200 -Dexec.mainClass=sqlline.SqlLine
Another option would be to change the
ExecJavaMojo
itself. If this seems preferable I can create a new PR.PS: I created the
NopTransformableFilter
class because without it there would be an "IllegalArgumentException: The parameter filter is not allowed to be null" atorg.apache.maven.shared.transfer.dependencies.resolve.internal.DefaultDependencyResolver.validateParameters
, which does not seems to occur on GetMojo (I don't know why).