If I have the floowing pom.xml: <project> <modelVersion>4.0.0</modelVersion>
<groupId>org.codehaus.mojo.versions-maven-plugin.it</groupId> <artifactId>parent</artifactId> <version>2.0</version> <packaging>pom</packaging> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.4</source> <target>1.4</target> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>2.1</version> </plugin> </plugins> </build> </project> How do I detect in a mojo that the pluginManagement section has a entry for maven-compiler-plugin that *does not have the version specified*... If I look at mavenProject.getPluginManagement().getPlugins() I'll see maven-compiler-plugin but with version set to 2.0.2 (from the super pom) If I look at mavenProject.getModel().getBuild().getPluginManagement().getPlugins(), same thing (*But this should be ok as it's the interpolated model anyway*) If I look at mavenProject.getOriginalModel().getBuild().getPluginManagement().getPlugins(), same thing *isn't this supposed to be the original model... before interpolation* Just to check I'm not going mad I logged the output of mavenProject.writeOriginalModel which gives: <?xml version="1.0" encoding="UTF-8"?><project> <modelVersion>4.0.0</modelVersion> <groupId>org.codehaus.mojo.versions-maven-plugin.it</groupId> <artifactId>parent</artifactId> <packaging>pom</packaging> <version>2.0</version> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>1.1</version> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.2-beta-2</version> </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.4</source> <target>1.4</target> </configuration> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <version>2.0</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.3</version> </plugin> <plugin> <artifactId>maven-ear-plugin</artifactId> <version>2.3.1</version> </plugin> <plugin> <artifactId>maven-ejb-plugin</artifactId> <version>2.1</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.2</version> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.2</version> </plugin> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.1</version> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.4</version> </plugin> <plugin> <artifactId>maven-plugin-plugin</artifactId> <version>2.4.1</version> </plugin> <plugin> <artifactId>maven-rar-plugin</artifactId> <version>2.2</version> </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> <version>2.0-beta-7</version> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.2</version> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> <version>2.0-beta-6</version> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <version>2.0.4</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.4.2</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.1-alpha-1</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.1</version> </plugin> </plugins> </build> </project> *oh look the super pom has been injected in before I can see it* I have not checked, but I suspect that maven-enforcer-plugin will have the same issue with Maven 2.0.9+ (given that I've pilfered a lot of the logic for missing versions from there) I really don't want to have to write my own ModelXpp3Reader, or have to bury in plugin code logic to find the pom.xml and read it in directly... So... any thoughts? -Stephen