On Fri, May 8, 2009 at 6:56 PM, Jeffrey N Hagelberg <[email protected]>wrote:
> We are trying to find a way to add some jars that are generated during the > pre-integration-test phase to the class path when the integration tests > run. There is also a folder with configuration files that is created at > the same time that we also need to add to the class path. The jar and > directory are both built programatically by another plugin, and maven does > not know anything about them. Does anyone know a way to do this? Instead of making things more complicated, why wouldn't you just let Maven know about these secondary artifacts with the help of build-helper plugin ( http://mojo.codehaus.org/build-helper-maven-plugin/attach-artifact-mojo.html )? Kalle > I have an idea about how to do this, but it is rather convoluted. My idea > is to create a plugin that basically calls "mvn install:install-file" on > each jar to put it in the local maven repository and then programatically > add the jars as a dependencies of the project by adding artifacts for them > to the list returned by project.getDependencies(). My plan is to make the > plugin invoke the install:install-file plugin by doing something similar to > what the maven invoker plugin does. I don't think we can do this by using > install:install-file plugin directly because we don't know ahead of time > what the exact set of jars will be. We want to add jars in a certain > directory whose name matches a certain pattern. There's also the fact that > it would have to happen during the pre-integration-test phase, and as far > as I know the execution order is undefined for goals executing in different > execution groups within the same phase. That is, I don't think you can't > tell whether the executions for plugin1 or plugin2 will happen first if > they are both in the same phase. We can't have this run before the jars > are generated! I'd love to find out I'm wrong about this, though. > > As for adding the directory to the classpath, I am somewhat at a loss. If > the folder was created earler, I think we could add it as a test resource. > However, I think that the copying happens before the pre-integration-test > phase. Right now, the only thing I can think of is to manually copy the > contents of the folder into the test-classes directory where the compiled > classes are. Does anyone have any other ideas? > > Does anyone know to do these things or if what I suggested above will work? > > We're using maven 2.1.0. > > Thanks in advance for any help you can provide. > > -Jeff > > Jeffrey Hagelberg, Software Engineer > XMeta Development > IBM Software Group > Phone: 978-899-2055 T/L:276-2055) > Email:[email protected] <email%[email protected]>
