On Fri, Feb 5, 2016 at 10:56 PM, Mike Samuel <mikesam...@gmail.com> wrote: > I'm developing a maven plugin and I've worked through "Maven - Guide > to Developing Java Plugins" but am still having some trouble getting > configurations parsed consistently between MojoTestCases run under > eclipse and maven run at the command line. > > Is there a maven plugin that is > 1. a good example of proper maven3 plugin style, > 2. which uses recent versions of the various org.apache.maven:* dependencies, > 3. has some maven verifier testcases, > 4. which I might adapt to suit my needs instead of trying to work from > a blank slate. > > The plugin I'm writing runs during the verify lifecycle phase, gets > all "jar" dependencies transitively, and does some bytecode analysis > using ASM. > I tried to adapt the dependency:tree mojo but that is in the old style. > > I'm also possibly doing something a little odd with configuration > processing - http://stackoverflow.com/questions/35235376 . > > cheers, > mike
The bash script below let me extract the signals I need. The maven-eclipse-plugin looks the most promising, and the maven-remote-resources-plugin and maven-repository-plugin work should I find I need something that works under maven2. #!/bin/bash git clone https://github.com/apache/maven-plugins.git maven-plugins function countAll() { find . -type f -print0 | xargs -0 egrep "$1" | wc -l } cd maven-plugins for plugin in *-plugin; do pushd $plugin >& /dev/null echo "$plugin" echo "$(echo "$plugin" | perl -pe 's/./=/g')" echo "Uses annotations: $(countAll 'org[.]apache[.]maven[.]plugins[.]annotations[.]Mojo')" echo "Uses MojoTest: $(countAll 'AbstractMojoTestCase')" echo "Uses integration test: $(countAll 'org[.]apache[.]maven[.]it[.]Verifier')" echo "Maven-plugin-plugin version: $(cat pom.xml | perl -e ' use strict; use XML::XPath; my $root = XML::XPath->new(ioref => "STDIN"); foreach my $node ( $root->find( q{//plugin[artifactId = "maven-plugin-plugin"]/version/text()} )->get_nodelist) { print ("\t", $node->getData, "\n"); } foreach my $node ( $root->find( q{//mavenPluginToolsVersion/text()} )->get_nodelist) { print ("\t", $node->getData, "\n"); }')" echo popd >& /dev/null done --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org