Hello Daniel: Thanks for the answer. So you think the best way is to let developers commit manually and use the integration Server to make the builds once the SCM repository has change and inform in case of error?
I´ve think in that too, but I would like to consider all available options before make a decision. Best Regards,Raúl -----Mensaje original----- De: Siegmann Daniel, NY [mailto:[EMAIL PROTECTED] Enviado el: martes, 15 de mayo de 2007 18:58 Para: Maven Users List Asunto: RE: A beginner´s question <<1º Compile using the pom´s declared dependencies>> Basic Maven2 functionality. Use the "compile" phase. This will download dependencies from the remote repository into your local repository, and execute the goal "compile:compile" [1] <<2º Execute some functional test>> Maven2 can execute JUnit tests through Surefire, I'm not sure about other test frameworks. Again, this is basic Maven2 functionality, just execute the "test" phase. Note that this will compile everything and grab necessary dependencies before running the tests [2]. <<3º If and only if all test are correct update code to SVN repository ... I don´t know if it is possible to automate step 3>> The SCM plugin [3] can commit your changes to an SVN repository (among other uses), using the goal "scm:checkin". You could bind this to a lifecycle phase [4] if you wanted it to run automatically, but I would recommend against doing so. <<4º Execute functional and integration test against the SVN repository updated code ... and if I can "rollback" the SVN code update if step 4 gives an error>> You should set up some continuous integration (CI) [5] application, such as Continuum [6] or CruiseControl [7] (I use the latter). Typically these are configured to check for any changes in the repository, and if there are changes, to update the local copy and execute Maven2 with the desired goal(s) ("clean test" would be typical). I don't know if there is any way to automatically roll back the changes, but it's probably possible. However, the CI systems provide ways of notifying the developers (via email, for example) if the build is broken. <<5º if and only if all test are correct build the project and install it into the team´s maven private repository>> Clarification on Maven terminology: you "install" to your local repository; you "deploy" to the remote repository. So what you want here is to deploy, not install. Once that's done, other developers will be able to pull it down. This can be done quite easily, just have your CI system run the "deploy" phase, which will do pretty much everything (compile, test, install, etc.) and then run "deploy:deploy" [8]. Note that you should only do this with snapshot versions (just append "-SNAPSHOT" to the version, and Maven2 will recognize it as such). I hope this helps. -- Daniel Siegmann FJA-US, Inc. 512 Seventh Ave., New York, NY 10018 (212) 840-2618 ext. 139 [1] http://maven.apache.org/plugins/maven-compiler-plugin/ [2] http://maven.apache.org/plugins/maven-surefire-plugin/ [3] http://maven.apache.org/scm/plugins/ [4] http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html [5] http://www.martinfowler.com/articles/continuousIntegration.html [6] http://maven.apache.org/continuum/ [7] http://cruisecontrol.sourceforge.net/ [8] http://maven.apache.org/plugins/maven-deploy-plugin/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ------------------------------------------------------------------ This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos Origin group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. Este mensaje y los ficheros adjuntos pueden contener informacion confidencial destinada solamente a la(s) persona(s) mencionadas anteriormente. Pueden estar protegidos por secreto profesional Si usted recibe este correo electronico por error, gracias de informar inmediatamente al remitente y destruir el mensaje. Al no estar asegurada la integridad de este mensaje sobre la red, Atos Origin no se hace responsable por su contenido. Su contenido no constituye ningun compromiso para el grupo Atos Origin, salvo ratificacion escrita por ambas partes. Aunque se esfuerza al maximo por mantener su red libre de virus, el emisor no puede garantizar nada al respecto y no sera responsable de cualesquiera danos que puedan resultar de una transmision de virus ------------------------------------------------------------------ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]