Both are interesting solutions. In either case, I'd could configure desktop developer build to support unit and integration test execution the standard maven way and then use a build profile to skip test execution on all standard modules and add in additional modules specifically for test execution.
I'll have to look into that. Thanks Peter On Wed, Aug 28, 2013 at 5:42 AM, Stephen Colebourne <[email protected]>wrote: > We have a main build that produces both jar and test-jar files and > runs just the unit tests (annotated in TestNG). We then have a > separate integration test project which is essentially just a pom. > That project pulls in and runs the previously compiled tests in the > test-jar files against the previously complied jar files: > > <!-- scan jar files for tests --> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-surefire-plugin</artifactId> > <configuration> > <includes> > <include>**/*Test.java</include> > <include>**/IntegrationTestListener.java</include> > </includes> > <argLine>-Xmx${tests.testng.maxheap} > -XX:MaxPermSize=196M</argLine> > <systemPropertyVariables> > > <logback.configurationFile>${tests.testng.logback}</logback.configurationFile> > </systemPropertyVariables> > <parallel>${tests.testng.parallel}</parallel> > <threadCount>${tests.testng.threads}</threadCount> > <groups>${tests.testng.includedgroups}</groups> > <excludedGroups>${tests.testng.excludedgroups}</excludedGroups> > <dependenciesToScan> > <dependency>com.opengamma.platform:og-timeseries</dependency> > <dependency>com.opengamma.platform:og-util</dependency> > ... and so on > </dependenciesToScan> > </configuration> > </plugin> > > <dependency> > <groupId>com.opengamma.platform</groupId> > <artifactId>examples-simulated</artifactId> > <version>${project.version}</version> > </dependency> > > <dependency> > <groupId>com.opengamma.platform</groupId> > <artifactId>og-timeseries</artifactId> > <type>test-jar</type> > <version>${project.version}</version> > <scope>test</scope> > </dependency> > > While not exactly the same as your case, I suspect it can be adapted. > Main thing is that it avoids the second compile while still keeping > the tests with their correct project. > Stephen > > > On 27 August 2013 23:36, Peter Kahn <[email protected]> wrote: > > Hi all, > > > > Is there an easy way to split build server run into a compilation and a > > test step that runs as two build jobs? > > > > I split build execution on my build server into two steps: > > - compilation mvn clean deploy -DskipTests > > - test mvn surefire:test failsafe:integration-tests > > failsafe:verify > > > > This keeps tests that run amok from blocking generation of artifacts for > > people to use in testing. Ideally, I'd have no tests that could stall a > > build. > > > > However, I'm running into problems with this solution as some modules > > require additional plugins to execute goals prior to failsafe test > > execution. I can determine all of those plugins and goals, then add them > > to my job definition but this seems fragile. > > > > Ideally, i'd like a set of job steps like so: > > - compilation of core > > - parallel compilation of unrelated modules on multiple machines > > - parallel unit and integration tests on multiple machines > > - collection of results > > > > However, this does run against the maven way. > > > > Have any of you run into this kind of situation and did you find a > > satisfactory way to execute individual lifecycle phases without executing > > all previous phases? > > > > In the worst case, I can re run the compilation during test, but since > > compilation involves GWT which takes about 15m to compile or recompile > I'd > > rather not double compile anything. > > > > Thanks for the help > > > > Peter > > > > -- > > Peter Kahn > > [email protected] > > http://www.google.com/profiles/citizenkahn > > Awareness - Intention - Action > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Peter Kahn [email protected] http://www.google.com/profiles/citizenkahn Awareness - Intention - Action
