Ok this worked: <files> <file>
<source>genzero-runtests/target/genzero-runtests-${genzero.version}-tests.jar</source> <outputDirectory>lib</outputDirectory> <filtered>false</filtered> <fileMode>0644</fileMode> <!-- User RW, Group/Other R. --> </file> </files> And in the top-level POM: <properties> <genzero.version>1.2-RC4-SNAPSHOT</genzero.version> (I have a bash script that uses sed on the POM files to bump the version). Is it better practice to define the assembly plugin in the top-level POM or in a seperate module? e.g. /pom.xml <----- here module1/pom.xml (code + tests) build-module/pom.xml <------- or here? The reason I ask is that it occurs to be that the top-level pom cannot have module1 as a dependency (cyclic), but build-module could. Therefore, from build-module module1 and module1:test might both be visible as dependencies of the assembly. If anyone know a less cludgy way to include my tests, please enlighten me. For now, I need to get on with setting up some testing... Rupert On 19 April 2011 12:29, Rupert Smith <rupertlssm...@googlemail.com> wrote: > Logically, that would seem to be the wrong place to specify the scope; It > isn't that junit-toolkit as a dependency is not being found, its > genzero-runtime-VERSION-tests.jar which is the parent of that dependency > which is not even being picked up. However, I tried your suggestion out: > > <moduleSet> > <includes> > > > <include>com.rapidaddition:genzero-runtests:jar:1.2-RC4-SNAPSHOT:tests</include> > </includes> > <binaries> > <outputDirectory>lib</outputDirectory> > <unpack>false</unpack> > <fileMode>0644</fileMode> <!-- User RW, Group/Other R. --> > <directoryMode>0755</directoryMode> <!-- User RWX, > Group/Other RX. --> > <dependencySets> > <dependencySet> > <includes> > <include>com.thesett:junit-toolkit</include> > </includes> > <scope>tests</scope> > </dependencySet> > </dependencySets> > </binaries> > </moduleSet> > > I tried a scope value of 'test' and 'tests', but neither work. > > I also tried putting the genzero-runtests dependency, not in a module set > (after all its not a module but an additional jar arising as a side effect > of building a module), but in a dependencySet at the top level of the > assembly XML. This did not work either (tried scope test/tests there too), I > guess because it is not a dependency of the top-level POM where the assembly > plugin is defined. > > Maybe a fileSet with a hard coded path to the target directory where the > .jar can be found at the end of the build? I can put the version in a > variable and hope that variable expansion works in the path definition, > e.g., > <include>genzero-runtest/target/genzero-runtests-${project.version}-test.jar</include>. > Cludgy, but do I feel lucky? > > Rupert > > On 19 April 2011 12:14, Eike Kettner <n...@eknet.org> wrote: > >> Hi >> >> did you try to add test scope using the <scope/> tag inside the >> <dependencySet> tag? It's default value is "runtime"... >> >> found here >> >> http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html#class_dependencySet >> >> >> regards, >> Eike >> >> >> On [Tue, 19.04.2011 12:07], Rupert Smith wrote: >> > This question has come up a few times, but I see no definite answer in >> the >> > replies. If someone known how to do this, please let me know, I am >> tearing >> > my hair out and its no fun running the build over and over again an >> looking >> > at the output to see if it worked.... >> > >> > This is the relevant section of my assembly.xml: >> > >> > <moduleSet> >> > <includes> >> > >> <include>com.rapidaddition:genzero-runtests:*:test</include> >> > </includes> >> > <binaries> >> > <outputDirectory>lib</outputDirectory> >> > <unpack>false</unpack> >> > <fileMode>0644</fileMode> <!-- User RW, Group/Other R. >> --> >> > <directoryMode>0755</directoryMode> <!-- User RWX, >> > Group/Other RX. --> >> > <dependencySets> >> > <dependencySet> >> > <includes> >> > <include>com.thesett:junit-toolkit</include> >> > </includes> >> > </dependencySet> >> > </dependencySets> >> > </binaries> >> > </moduleSet> >> > >> > For the module include I have also tried: >> > >> > com.rapidaddition:genzero-runtests:*:*:test >> > com.rapidaddition:genzero-runtests:*:tests >> > com.rapidaddition:genzero-runtests:*:*:tests >> > >> > But none seems to be right. Perhaps I should try filling in the type and >> > version too? >> > >> > Is including a test jar actually possible? >> > >> > To head of the inevitable question, why would I want to do such a >> thing... I >> > could put the tests in a separate module and include as an ordinary jar >> with >> > no 'test' classifier, but.... I want these to be unit tests that run on >> > every build AND I want to put them in an assembly to create a >> distribution >> > that I can give to customers who want a copy of the tests to run on >> their >> > own hardware too. >> > >> > Many thanks for any assistance. >> > >> > Rupert >> >> -- >> email: e...@eknet.org https://www.eknet.org pgp: 481161A0 >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >> For additional commands, e-mail: users-h...@maven.apache.org >> >> >