As I haven't gotten any response in a few days, I thought it might help to repost this.
I'm not sure if this is something that has already been accounted for, or if I should submit a feature enchancement JIRA issue. Sincerely, James Carpenter desk: 713-374-4374 email: [EMAIL PROTECTED] ======================================================================== I have a plugin which resolves a specified artifact, expands it into a work area within target and then runs a code generator against contents within the expanded artifact. {Specifically the resolved artifact contains an XML-Schema, and the tool being executed is a csharp xsd tool (similar to JAXB)} The specified artifact is not an actual dependency of the plugin code, nor is it a compiler or testing dependency of the project. That said the specified artifact is required to build the project and should be taken into account when maven determines a multi-project's build order. What can the plugin do to ensure maven is aware of this specified artifact as a build dependency, without affecting the dependencies seen by the other plugins (compiler, etc.)? One potential solution I have used in the past is to include the specified artifact as a plugin dependency, but this is rather crude and doesn't work in the general case. Example POM snipt below: Example assumes the com.acme.serverapp:client-schema:${project.version} artifact contains the bigSchema.xml file. The maven-codegen-plugin is assumed to perform the following steps: 1) resolve the specified artifact: com.acme.serverapp:client-schema:${project.version} 2) unpack it in ${basedir}/target/csharp-workarea/maven-codegen-plugin/ 3) point a code generator at the bigSchema.xml file to produce source files in ${basedir}/target/generated-sources/maven-codegen-plugin 4) add the generated code to the MavenProject <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-codegen-plugin</artifact> <version>1.2.3</version> <configuration> <schemaDependency> <groupId>com.acme.serverapp</groupId> <artifactId>client-schema</artifactId> <version>${project.version}</version> <type>jar</type> <!-- Could be any archive type. (tar, zip, gzip, etc.)--> <schemaFile>com/acme/serverapp/schema/bigSchema.xml</schemaFile> </schemaDependency> </configuration> </plugin> </plugins> </build> Assume a multiproject structure such as: acmecode/pom.xml acmecode/client-schema/pom.xml acmecode/client-schema/src/main/resources/com/acme/serverapp/schema/bigSchema.xml acmecode/schema-stubs/pom.xml #This is the pom using the plugin As you can see, if one tries to perform a multi-module build within the acmecode directory, its shear luck if the build order is correct. This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of JPMorgan Chase & Co., its subsidiaries and affiliates.